|  | @@ -11,6 +11,7 @@ import com.xunmei.common.core.constant.Constants;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.mediator.domain.IotAlarmData;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.mediator.domain.IotAlarmSystemField;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.enums.iot.BaseDeviceTypeEnum;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.enums.iot.DeviceStatusEnum;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.enums.iot.DeviceTypeEnum;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.enums.iot.SensorType;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.util.BeanHelper;
 | 
	
	
		
			
				|  | @@ -177,7 +178,7 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
 | 
	
		
			
				|  |  |      private Object dealDeviceAlarm(WebsocketExecuteReq req) {
 | 
	
		
			
				|  |  |          final SysOrg sysOrg = serverInfoService.selectOrgByToken(req.getToken());
 | 
	
		
			
				|  |  |          if (ObjectUtil.isNull(sysOrg)) {
 | 
	
		
			
				|  |  | -            LogUtils.WEBSOCKET_MSG.error("收到设备报警消息,根据token:{}未查询到机构信息", req.getToken());
 | 
	
		
			
				|  |  | +            LogUtils.SOCKET_DEVICE_ALARM_DATA.error("收到设备报警消息,根据token:{}未查询到机构信息", req.getToken());
 | 
	
		
			
				|  |  |              return null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<IotAlarmSystemField> fieldList = alarmSystemFieldMapper.selectList(new LambdaQueryWrapper<>());
 | 
	
	
		
			
				|  | @@ -187,7 +188,7 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
 | 
	
		
			
				|  |  |          for (AlarmDataReq dataReq : dataReqList) {
 | 
	
		
			
				|  |  |              IotDeviceInfo deviceInfo = iotDeviceInfoService.selectByTokenProductAndDeviceCode(req.getToken(), req.getProductName(), req.getDeviceName());
 | 
	
		
			
				|  |  |              if (ObjectUtil.isNull(deviceInfo)) {
 | 
	
		
			
				|  |  | -                LogUtils.WEBSOCKET_MSG.error("收到设备报警消息,根据token:{},productName:{},deviceName:{}未查询到设备信息", req.getToken(), req.getProductName(), req.getDeviceName());
 | 
	
		
			
				|  |  | +                LogUtils.SOCKET_DEVICE_ALARM_DATA.error("收到设备报警消息,根据token:{},productName:{},deviceName:{}未查询到设备信息", req.getToken(), req.getProductName(), req.getDeviceName());
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              final IotAlarmData iotAlarmData = BeanHelper.copyProperties(dataReq, IotAlarmData.class);
 | 
	
	
		
			
				|  | @@ -204,6 +205,14 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
 | 
	
		
			
				|  |  |                          iotAlarmData.setFieldCode(r.getSysFieldCode());
 | 
	
		
			
				|  |  |                      });
 | 
	
		
			
				|  |  |              iotAlarmDataService.save(iotAlarmData);
 | 
	
		
			
				|  |  | +            // 发生报警
 | 
	
		
			
				|  |  | +            if(ObjectUtil.isNotNull(dataReq.getStartTime())&&ObjectUtil.isNull(dataReq.getEndTime())){
 | 
	
		
			
				|  |  | +                updateStatusByDevicePrimaryId(deviceInfo.getId(), DeviceStatusEnum.ALARM.getValue());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            // 报警结束
 | 
	
		
			
				|  |  | +            if(ObjectUtil.isNotNull(dataReq.getStartTime())&&ObjectUtil.isNotNull(dataReq.getEndTime())){
 | 
	
		
			
				|  |  | +                updateStatusByDevicePrimaryId(deviceInfo.getId(), DeviceStatusEnum.NORMAL.getValue());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              if (Boolean.TRUE.equals(dataReq.getSmsType())) {
 | 
	
		
			
				|  |  |                  //todo  发送短信
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -213,6 +222,12 @@ public class IotDeviceStatusServiceImpl extends ServiceImpl<IotDeviceStatusMappe
 | 
	
		
			
				|  |  |          return null;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private void updateStatusByDevicePrimaryId(Long deviceId, int status) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        iotDeviceStatusMapper.updateStatusByDevicePrimaryId(deviceId, status);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private WebsocketResult dealDeviceStatus(WebsocketExecuteReq req) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          final JSONObject reqDataObj = (JSONObject) req.getData();
 |