Explorar o código

Merge branch 'han' of http://47.111.81.118:3000/uskycloud/usky-modules into han

hanzhengyi hai 3 días
pai
achega
19c89c8472

+ 35 - 5
service-sas/service-sas-biz/src/main/java/com/usky/sas/mqtt/MqttService.java

@@ -290,6 +290,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 UsbEventMessage message = mapper.readValue(payload, UsbEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
                 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.usb.getCode());
@@ -376,6 +379,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 SnapEventMessage message = mapper.readValue(payload, SnapEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.snap.getCode());
@@ -461,6 +467,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 EntranceEventMessage message = mapper.readValue(payload, EntranceEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.entrance.getCode());
@@ -546,6 +555,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 ParkingEventMessage message = mapper.readValue(payload, ParkingEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.parking.getCode());
@@ -630,6 +642,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 RoadblockEventMessage message = mapper.readValue(payload, RoadblockEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.roadblock.getCode());
@@ -714,6 +729,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 AlarsasEventMessage message = mapper.readValue(payload, AlarsasEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.alarm.getCode());
@@ -727,10 +745,10 @@ public class MqttService {
                         ? message.getId()
                         : IdUtil.randomUUID();
                 // 如果该事件已存在(设备重发/重复消息),避免主键冲突,直接跳过
-                if (alarsasEventService.getById(eventId) != null) {
-                    log.info("入侵报警事件已存在, 跳过保存, eventId={}", eventId);
-                    return;
-                }
+//                if (alarsasEventService.getById(eventId) != null) {
+//                    log.info("入侵报警事件已存在, 跳过保存, eventId={}", eventId);
+//                    return;
+//                }
                 event.setEventId(eventId);
                 BeanUtil.copyProperties(message, event, "eventId");
                 event.setTriggerTime(parseTime(message.getTriggerTime()));
@@ -754,7 +772,7 @@ public class MqttService {
                     }
                 }
 
-                alarsasEventService.save(event);
+                alarsasEventService.saveOrUpdate(event);
 
                 BrieflyEventInfo info = BeanUtil.toBean(event, BrieflyEventInfo.class);
                 info.setTriggerTime(message.getTriggerTime());
@@ -798,6 +816,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 PatrolEventMessage message = mapper.readValue(payload, PatrolEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), 0, SystemTypeCodeEnum.patrol.getCode());
@@ -882,6 +903,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 AcquisitionEventMessage message = mapper.readValue(payload, AcquisitionEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.acquisition.getCode());
@@ -966,6 +990,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 PerceptionEventMessage message = mapper.readValue(payload, PerceptionEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.perception.getCode());
@@ -1050,6 +1077,9 @@ public class MqttService {
 
             if ("event".equals(method)) {
                 CollectionEventMessage message = mapper.readValue(payload, CollectionEventMessage.class);
+                if(message.getEventCode() == null && root.get("code") != null) {
+                    message.setEventCode(root.get("code").asInt());
+                }
 
                 // 1. 检查设备是否存在
                 SasDevice device = findDevice(message.getDeviceId(), message.getChannel(), SystemTypeCodeEnum.collection.getCode());