Procházet zdrojové kódy

优化设备问题

wuxw před 6 roky
rodič
revize
4fed835684

+ 11 - 1
Api/src/main/java/com/java110/api/listener/machineTranslate/BaseMachineListener.java

@@ -77,6 +77,7 @@ public abstract class BaseMachineListener extends AbstractServiceApiListener {
             return false;
         }
 
+        //检查设备是否合法
         //检查设备是否合法
         MachineDto machineDto = new MachineDto();
         machineDto.setMachineCode(reqHeader.get("machinecode"));
@@ -84,12 +85,21 @@ public abstract class BaseMachineListener extends AbstractServiceApiListener {
         List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
         if (machineDtos == null || machineDtos.size() < 1) {
             outParam.put("code", -1);
-            outParam.put("message", "该设备【" + reqJson.getString("machineCode") + "】未在该小区【" + communityId + "】注册");
+            outParam.put("message", "该设备【" + reqHeader.get("machinecode") + "】未在该小区【" + communityId + "】注册");
+            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            context.setResponseEntity(responseEntity);
+            return false;
+        }
+
+        if("1600".equals(machineDtos.get(0).getState())){ //设备禁用状态
+            outParam.put("code", -1);
+            outParam.put("message", "该设备【" + reqHeader.get("machinecode") + "】禁用状态");
             responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return false;
         }
 
+
         reqJson.put("machineCode", machineDtos.get(0).getMachineCode());
         reqJson.put("machineId", machineDtos.get(0).getMachineId());
         reqJson.put("communityId", communityId);

+ 13 - 1
HardwareAdapationService/src/main/java/com/java110/hardwareAdapation/thread/TranslateOwnerToMachine.java

@@ -90,9 +90,21 @@ public class TranslateOwnerToMachine implements Runnable {
                     ownerDto.setbId(tmpOrderDto.getbId());
                 }
 
+                List<OwnerDto> ownerDtos = null;
                 //根据bId 查询业主信息
+                //这种情况说明 业主已经删掉了 需要查询状态为 1 的数据
+                if(BusinessTypeConstant.BUSINESS_TYPE_DELETE_OWNER_INFO.equals(tmpOrderDto.getBusinessTypeCd())){
+                    ownerDto.setStatusCd(StatusConstant.STATUS_CD_INVALID);
+                    ownerDtos =  ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+                    MachineDto machineDto = new MachineDto();
+                    machineDto.setMachineId("");
+                    deleteMachineTranslate(machineDto,ownerDtos.get(0));
+                    orderInnerServiceSMOImpl.updateBusinessStatusCd(tmpOrderDto);
+                    logger.debug("没有数据数据直接刷为C1,当前为删除业主操作" + JSONObject.toJSONString(tmpOrderDto));
+                    continue;
+                }
 
-                List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+                ownerDtos =  ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
 
                 // 房屋信息
                 if (ownerDtos == null || ownerDtos.size() == 0) {