检测站点基本接口

This commit is contained in:
mi9688
2024-10-15 08:29:42 +08:00
parent 22b3df8ddb
commit 29a8d107b4
5 changed files with 34 additions and 8 deletions

View File

@ -68,11 +68,11 @@ public class GSiteInfoController extends BaseController
* 获取站点基础信息详细信息 * 获取站点基础信息详细信息
*/ */
@PreAuthorize("@ss.hasPermi('ggroup:info:query')") @PreAuthorize("@ss.hasPermi('ggroup:info:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{siteId}")
@ApiOperation("获取站点基础信息详细信息") @ApiOperation("获取站点基础信息详细信息")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("siteId") Long siteId)
{ {
return success(gSiteInfoService.selectGSiteInfoById(id)); return AjaxResult.success(gSiteInfoService.selectGSiteInfoById(siteId));
} }
/** /**

View File

@ -146,7 +146,7 @@ public class GGroupsServiceImpl implements IGGroupsService
*/ */
@Override @Override
public int insertGGroups(GGroups gGroups) public int insertGGroups(GGroups gGroups)
{ { //TODO 同一个父节点下组名不能重复
gGroups.setCreateTime(DateUtils.getNowDate()); gGroups.setCreateTime(DateUtils.getNowDate());
return gGroupsMapper.insertGGroups(gGroups); return gGroupsMapper.insertGGroups(gGroups);
} }

View File

@ -1,7 +1,13 @@
package com.fastbee.ggroup.service.impl; package com.fastbee.ggroup.service.impl;
import java.util.List; import java.util.List;
import java.util.Objects;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils; import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.ValidationUtils;
import com.fastbee.ggroup.domain.GSites;
import com.fastbee.ggroup.mapper.GSitesMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.fastbee.ggroup.mapper.GSiteInfoMapper; import com.fastbee.ggroup.mapper.GSiteInfoMapper;
@ -20,6 +26,9 @@ public class GSiteInfoServiceImpl implements IGSiteInfoService
@Autowired @Autowired
private GSiteInfoMapper gSiteInfoMapper; private GSiteInfoMapper gSiteInfoMapper;
@Autowired
private GSitesMapper gSitesMapper;
/** /**
* 查询站点基础信息 * 查询站点基础信息
* *
@ -66,6 +75,19 @@ public class GSiteInfoServiceImpl implements IGSiteInfoService
@Override @Override
public int updateGSiteInfo(GSiteInfo gSiteInfo) public int updateGSiteInfo(GSiteInfo gSiteInfo)
{ {
//参数校验
if(Objects.isNull(gSiteInfo.getSiteId())){
throw new ServiceException("站点ID(siteId)字段不能为空!");
}
if(!ValidationUtils.isMobile(gSiteInfo.getManagerPhone())){
throw new ServiceException("站点管理员手机号(managerPhone)格式不正确!");
}
//检查是否有该条数据
if(Objects.isNull(gSiteInfoMapper.selectGSiteInfoById(gSiteInfo.getSiteId()))){
//没有该条数据,则新增
gSiteInfo.setCreateTime(DateUtils.getNowDate());
return insertGSiteInfo(gSiteInfo);
}
gSiteInfo.setUpdateTime(DateUtils.getNowDate()); gSiteInfo.setUpdateTime(DateUtils.getNowDate());
return gSiteInfoMapper.updateGSiteInfo(gSiteInfo); return gSiteInfoMapper.updateGSiteInfo(gSiteInfo);
} }

View File

@ -12,7 +12,6 @@ import cn.hutool.json.JSONException;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fastbee.common.config.RuoYiConfig;
import com.fastbee.common.exception.ServiceException; import com.fastbee.common.exception.ServiceException;
import com.fastbee.ggroup.domain.GSiteGroups; import com.fastbee.ggroup.domain.GSiteGroups;
import com.fastbee.ggroup.domain.dto.GGroupSiteDto; import com.fastbee.ggroup.domain.dto.GGroupSiteDto;
@ -22,6 +21,7 @@ import com.fastbee.ggroup.domain.dto.GSitesSelectDto;
import com.fastbee.ggroup.mapper.GSiteGroupsMapper; import com.fastbee.ggroup.mapper.GSiteGroupsMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -89,6 +89,10 @@ public class GSitesServiceImpl extends ServiceImpl<GSiteGroupsMapper,GSiteGroups
if (Objects.nonNull(sameNameSite)) { if (Objects.nonNull(sameNameSite)) {
throw new ServiceException("站点名称重复!"); throw new ServiceException("站点名称重复!");
} }
//未上传站点地图json数据
if(StringUtils.isBlank(gGroupSiteDto.getIcon())){
throw new ServiceException("请上传站点地图json数据");
}
//设置坐标值等信息 //设置坐标值等信息
getReadJsonFileContent(gSites); getReadJsonFileContent(gSites);
//插入站点表 //插入站点表
@ -106,8 +110,8 @@ public class GSitesServiceImpl extends ServiceImpl<GSiteGroupsMapper,GSiteGroups
private void getReadJsonFileContent(GSites gSites) { private void getReadJsonFileContent(GSites gSites) {
String json; String json;
try { try {
//TODO: 文件路径拼接优化 //TODO 路径优化
InputStream i = Files.newInputStream(new File(RuoYiConfig.getProfile() + gSites.getSpace().substring(15)).toPath()); InputStream i = Files.newInputStream(new File("C:\\home\\soft\\hzwmiot\\uploadPath" + gSites.getSpace().substring(8)).toPath());
json = IOUtils.toString(i, StandardCharsets.UTF_8); json = IOUtils.toString(i, StandardCharsets.UTF_8);
//校验json格式是否正确 //校验json格式是否正确
if (!isValidJson(json)) { if (!isValidJson(json)) {

View File

@ -63,7 +63,7 @@
<select id="selectGSiteInfoById" parameterType="Long" resultMap="GSiteInfoResult"> <select id="selectGSiteInfoById" parameterType="Long" resultMap="GSiteInfoResult">
<include refid="selectGSiteInfoVo"/> <include refid="selectGSiteInfoVo"/>
where id = #{id} where site_id = #{siteId}
</select> </select>
<insert id="insertGSiteInfo" parameterType="GSiteInfo" useGeneratedKeys="true" keyProperty="id"> <insert id="insertGSiteInfo" parameterType="GSiteInfo" useGeneratedKeys="true" keyProperty="id">