Kaynağa Gözat

设备状态第一次收到时设备状态初始化为正常,后期设备状态仅根据收到的告警设备数据来修改为正常/告警状态

jingyuanchao 1 yıl önce
ebeveyn
işleme
b73ce7a7b6

+ 1 - 7
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/impl/IotDeviceStatusServiceImpl.java

@@ -182,13 +182,6 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
                 LogUtils.SOCKET_DEVICE_ALARM_DATA.error("收到设备报警消息,根据token:{},productName:{},deviceName:{}未查询到设备信息", iotCode, req.getProductName(), req.getDeviceName());
                 continue;
             }
-            //此处特殊逻辑:处理新设备状态为未知的时候,上报状态切主机上经过告警规则未产生告警数据,导致设备状态一直是未知;
-            //此处主机会上报空对象(所有字段为null),用于通知设备状态为正常
-            if (dataReq.getId() == null && dataReq.getStartTime() == null) {
-                LogUtils.SOCKET_DEVICE_ALARM_DATA.info("收到设备报警消息,设备未产生告警,修改设备状态为正常,iotCode:{},productName:{},deviceName:{}", iotCode, req.getProductName(), req.getDeviceName());
-                updateStatusByDevicePrimaryId(deviceInfo.getId(), DeviceStatusEnum.NORMAL.getValue());
-                continue;
-            }
             final IotAlarmData iotAlarmData = BeanHelper.copyProperties(dataReq, IotAlarmData.class);
             iotAlarmData.setOrgId(sysOrg.getId());
             iotAlarmData.setDeviceId(String.valueOf(deviceInfo.getId()));
@@ -259,6 +252,7 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
             status.setInfo(JSON.toJSONString(array));
             status.setStateUpdateTime(now);
             status.setStateStartTime(now);
+            status.setState(0);
             save(status);
         } else {
             status.setInfo(JSON.toJSONString(array));