Kaynağa Gözat

优化告警中心订阅mqtt告警信息逻辑,根据设备Id和公司编码查询对应设备的产品编码

james 3 gün önce
ebeveyn
işleme
52d1c3c546

+ 3 - 1
service-alarm/service-alarm-biz/src/main/java/com/usky/alarm/service/listener/MqttListener.java

@@ -44,6 +44,7 @@ public class MqttListener {
             String[] code5 = TopListener.SMOKE_ALERT.getCode().split("/");
             String[] code6 = TopListener.ELECTRICAL_ALERT.getCode().split("/");
             String[] code7 = TopListener.LIQUID_ALERT.getCode().split("/");
+            String[] code8 = TopListener.LR_SMOKE_ALERT.getCode().split("/");
             Object mqttReceivedTopic = message.getHeaders().get("mqtt_receivedTopic");
             if (null != mqttReceivedTopic) {
                 String topic = mqttReceivedTopic.toString();
@@ -55,7 +56,8 @@ public class MqttListener {
                         (topic.indexOf(code4[2]) != -1 && topic.indexOf(code4[5]) != -1) ||
                         (topic.indexOf(code5[2]) != -1 && topic.indexOf(code5[5]) != -1) ||
                         (topic.indexOf(code6[2]) != -1 && topic.indexOf(code6[5]) != -1) ||
-                        (topic.indexOf(code7[2]) != -1 && topic.indexOf(code7[5]) != -1)) {
+                        (topic.indexOf(code7[2]) != -1 && topic.indexOf(code7[5]) != -1) ||
+                        (topic.indexOf(code8[2]) != -1 && topic.indexOf(code8[5]) != -1)) {
                     mqttBaseVO.setDescribe("alarm");
                 }else {
                     mqttBaseVO.setDescribe("fireInfoAndAlarm");

+ 1 - 0
service-alarm/service-alarm-biz/src/main/java/com/usky/alarm/service/mqtt/alarm/Alarm.java

@@ -51,6 +51,7 @@ public class Alarm implements MqttStrategy {
         String[] code4 = TopListener.VIDEO_ALERT.getCode().split("/");
         LambdaQueryWrapper<DmpDevice> queryWrapper1 = Wrappers.lambdaQuery();
         queryWrapper1.select(DmpDevice::getProductCode,DmpDevice::getDeviceUuid)
+                .eq(DmpDevice::getCompanyCode,topic.split("/")[3])
                 .eq(DmpDevice::getDeviceId, map.get("devId").toString())
                 .eq(DmpDevice::getDeleteFlag, 0);
         List<DmpDevice> list = dmpDeviceService.list(queryWrapper1);