Ver código fonte

修复实验室配置添加传感器网关+路由去重

linfutong 3 anos atrás
pai
commit
9bcafe5d44

+ 13 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSensorController.java

@@ -105,7 +105,19 @@ public class LabSensorController extends BaseController {
     @Log(title = "传感器", businessType = BusinessType.INSERT)
     @PostMapping
     public ResultData add(@RequestBody @Validated(ValidGroup.Crud.Create.class) LabSensor labSensor) {
-        return ResultData.success(labSensorService.insertLabSensor(labSensor));
+        //添加校验
+        if (labSensor != null && labSensor.getGatewayId() != null) {
+            int num = labSensor.getRouteNum() == null ? -1:labSensor.getRouteNum();
+            LabSensor sensor = new LabSensor();
+            sensor.setGatewayId(labSensor.getGatewayId());
+            sensor.setRouteNum(num);
+            List<LabSensorVO> list = labSensorService.selectLabSensorList(sensor);
+            if (list != null && list.size() > 0) {
+                return ResultData.fail("此网关编号+路由信息已存在,不可重复添加");
+            }
+            return ResultData.success(labSensorService.insertLabSensor(labSensor));
+        }
+        return ResultData.fail("缺少必须的参数");
     }
 
     /**

+ 0 - 35
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSensorServiceImpl.java

@@ -75,42 +75,7 @@ public class LabSensorServiceImpl implements ILabSensorService {
     @Override
     @DataScope(deptAlias = "xx", userAlias = "xx", permi = PerPrefix.LABORATORY_SENSOR)
     public List<LabSensorVO> selectLabSensorList(LabSensor labSensor) {
-//        Long subjectId=null;
-//        Collection<String> a = redisService.keys(CacheConstants.SENSOR_KEY + "*");
-//        Collection<String> sensorData = redisService.keys(CacheConstants.SENSOR_DATA_KEY_ISONLINE + "*");;
-//        List<String> gatewayIds = new ArrayList<>();
-//        List<String> senorIdList = new ArrayList<>();
-//        for (String s : a) {
-//            gatewayIds.add(s.replace(CacheConstants.SENSOR_KEY, ""));
-//        }
-//        for (String s : sensorData) {
-//            String key=s.replace(CacheConstants.SENSOR_DATA_KEY_ISONLINE, "");
-//            String[] keys=key.split(",");
-//            if(null==subjectId){
-//                subjectId=Long.parseLong(keys[1]);
-//            }
-//            senorIdList.add(keys[0]);
-//        }
-//        int countNum=labSensorMapper.selectSensorCountBySubIds(subjectId);
-//        if(gatewayIds.size() > 0){
-//            labSensorMapper.updateStateByGatewayIds(gatewayIds, SenseStateEnum.TURN_ON.getCode());
-//        }else{
-//            labSensorMapper.updateStateOther(gatewayIds, SenseStateEnum.OFFLINE.getCode());
-//        }
-//        if(senorIdList.size()>0){
-//            labSensorMapper.updateStateBySenorIds(senorIdList,SenseStateEnum.TURN_ON.getCode());
-//        }
-//        if(countNum!=senorIdList.size()){
-//            labSensorMapper.updateStateBySenorNotIds(senorIdList,subjectId,SenseStateEnum.OFFLINE.getCode());
-//        }
         List<LabSensorVO> data = labSensorMapper.selectLabSensorList(labSensor);
-        /*data.stream().forEach(d -> {
-            if(d.getGatewayId()!= null && redisService.hasKey(CacheConstants.SENSOR_KEY + d.getGatewayId())){
-                d.setSenseState(SenseStateEnum.TURN_ON);
-            }else {
-                d.setSenseState(SenseStateEnum.OFFLINE);
-            }
-        });*/
         return data;
     }
 

+ 1 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSensorMapper.xml

@@ -93,6 +93,7 @@
             </if>
             <if test="deptName != null  and deptName != ''">and xx.dept_name like concat('%', #{deptName}, '%')</if>
             <if test="userId != null ">and xx.user_id = #{userId}</if>
+            <if test="routeNum != null ">AND xx.route_num = #{routeNum}</if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>