|
|
@@ -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();
|