Explorar o código

Merge branch 'han' of uskycloud/usky-modules into server-165

hanzhengyi hai 1 ano
pai
achega
691a407049

+ 110 - 110
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/listener/MqttListener.java

@@ -1,110 +1,110 @@
-//package com.usky.fire.service.listener;
-//
-//
-//import com.usky.fire.service.config.mqtt.MqttInConfig;
-//import com.usky.fire.service.enums.TopListener;
-//import com.usky.fire.service.mqtt.SimpleContext;
-//import com.usky.fire.service.vo.MqttBaseVO;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.integration.annotation.ServiceActivator;
-//import org.springframework.messaging.MessageHandler;
-//import org.springframework.stereotype.Component;
-//
-///**
-// * @author yq
-// * @date 2021/11/3 8:13
-// */
-//@ConditionalOnProperty(prefix = "mqtt", value = {"enabled"}, havingValue = "true")
-//@Slf4j
-//@Component
-//public class MqttListener {
-//
-//    public static final String MESSAGE_NAME = "messageInput";
-//
-//    @Autowired
-//    private SimpleContext simpleContext;
-//
-//    /**
-//     * 处理消息-消费者
-//     *
-//     * @return
-//     */
-//    @Bean(MESSAGE_NAME)
-//    @ServiceActivator(inputChannel = MqttInConfig.CHANNEL_NAME_INPUT)
-//    public MessageHandler handler() {
-//        return message -> {
-//            String payload = message.getPayload().toString();
-//            //进行接口推送
-//            String[] code1 = TopListener.FIRE_ALERT.getCode().split("/");
-//            String[] code2 = TopListener.WATER_ALERT.getCode().split("/");
-//            String[] code3 = TopListener.RTU_ALERT.getCode().split("/");
-//            String[] code4 = TopListener.VIDEO_ALERT.getCode().split("/");
-//            String[] code5 = TopListener.SMOKE_ALERT.getCode().split("/");
-//            String[] code6 = TopListener.ELECTRICAL_ALERT.getCode().split("/");
-//            String[] code7 = TopListener.LIQUID_ALERT.getCode().split("/");
-//            String[] infoCode1 = TopListener.FIRE_INFO.getCode().split("/");
-//            String[] infoCode2 = TopListener.WATER_INFO.getCode().split("/");
-//            String[] infoCode3 = TopListener.SMOKE_INFO.getCode().split("/");
-//            String[] infoCode4 = TopListener.LIQUID_INFO.getCode().split("/");
-//            String[] infoCode5 = TopListener.RTU_INFO.getCode().split("/");
-//            String[] infoCode6 = TopListener.ELECTRICAL_INFO.getCode().split("/");
-//            String[] infoCode7 = TopListener.MH_COVER_INFO.getCode().split("/");
-//            String[] infoCode8 = TopListener.LR_SMOKE_INFO.getCode().split("/");
-//            Object mqttReceivedTopic = message.getHeaders().get("mqtt_receivedTopic");
-//            if (null != mqttReceivedTopic) {
-//                String topic = mqttReceivedTopic.toString();
-//                MqttBaseVO mqttBaseVO = new MqttBaseVO();
-//                mqttBaseVO.setTopic(topic);
-//                if (TopListener.MH_WATER_INFO.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("cy");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.MH_WATER_ALERT.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("cy");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.MH_WATER_STATISTICS.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("cy");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.DEVICE_DETAIL.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("mhwater");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.DEVICE_INFO.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("mhwater");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.DEVICE_ALERT.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("mhwater");
-//                    mqttBaseVO.setData(payload);
-//                } else if (TopListener.DEVICE_AJ.getCode().equals(topic)) {
-//                    mqttBaseVO.setDescribe("mhwater");
-//                    mqttBaseVO.setData(payload);
-//                } else if ((topic.indexOf(code1[2]) != -1 && topic.indexOf(code1[5]) != -1) ||
-//                        (topic.indexOf(code2[2]) != -1 && topic.indexOf(code2[5]) != -1) ||
-//                        (topic.indexOf(code3[2]) != -1 && topic.indexOf(code3[5]) != -1) ||
-//                        (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)) {
-//                    mqttBaseVO.setDescribe("alarm");
-//                    mqttBaseVO.setData(payload);
-//                }else if((topic.indexOf(infoCode1[2]) != -1 && topic.indexOf(infoCode1[5]) != -1) ||
-//                        (topic.indexOf(infoCode2[2]) != -1 && topic.indexOf(infoCode2[5]) != -1) ||
-//                        (topic.indexOf(infoCode3[2]) != -1 && topic.indexOf(infoCode3[5]) != -1) ||
-//                        (topic.indexOf(infoCode4[2]) != -1 && topic.indexOf(infoCode4[5]) != -1) ||
-//                        (topic.indexOf(infoCode5[2]) != -1 && topic.indexOf(infoCode5[5]) != -1) ||
-//                        (topic.indexOf(infoCode6[2]) != -1 && topic.indexOf(infoCode6[5]) != -1) ||
-//                        (topic.indexOf(infoCode7[2]) != -1 && topic.indexOf(infoCode7[5]) != -1) ||
-//                        (topic.indexOf(infoCode8[2]) != -1 && topic.indexOf(infoCode8[5]) != -1)) {
-//                    mqttBaseVO.setDescribe("info");
-//                    mqttBaseVO.setData(payload);
-//                }else {
-//                    mqttBaseVO.setDescribe("fireInfoAndAlarm");
-//                    mqttBaseVO.setData(payload);
-//                }
-//                //统一处理数据
-//                simpleContext.getResource(mqttBaseVO);
-//            }
-//        };
-//    }
-//}
+package com.usky.fire.service.listener;
+
+
+import com.usky.fire.service.config.mqtt.MqttInConfig;
+import com.usky.fire.service.enums.TopListener;
+import com.usky.fire.service.mqtt.SimpleContext;
+import com.usky.fire.service.vo.MqttBaseVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Bean;
+import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.messaging.MessageHandler;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author yq
+ * @date 2021/11/3 8:13
+ */
+@ConditionalOnProperty(prefix = "mqtt", value = {"enabled"}, havingValue = "true")
+@Slf4j
+@Component
+public class MqttListener {
+
+    public static final String MESSAGE_NAME = "messageInput";
+
+    @Autowired
+    private SimpleContext simpleContext;
+
+    /**
+     * 处理消息-消费者
+     *
+     * @return
+     */
+    @Bean(MESSAGE_NAME)
+    @ServiceActivator(inputChannel = MqttInConfig.CHANNEL_NAME_INPUT)
+    public MessageHandler handler() {
+        return message -> {
+            String payload = message.getPayload().toString();
+            //进行接口推送
+            String[] code1 = TopListener.FIRE_ALERT.getCode().split("/");
+            String[] code2 = TopListener.WATER_ALERT.getCode().split("/");
+            String[] code3 = TopListener.RTU_ALERT.getCode().split("/");
+            String[] code4 = TopListener.VIDEO_ALERT.getCode().split("/");
+            String[] code5 = TopListener.SMOKE_ALERT.getCode().split("/");
+            String[] code6 = TopListener.ELECTRICAL_ALERT.getCode().split("/");
+            String[] code7 = TopListener.LIQUID_ALERT.getCode().split("/");
+            String[] infoCode1 = TopListener.FIRE_INFO.getCode().split("/");
+            String[] infoCode2 = TopListener.WATER_INFO.getCode().split("/");
+            String[] infoCode3 = TopListener.SMOKE_INFO.getCode().split("/");
+            String[] infoCode4 = TopListener.LIQUID_INFO.getCode().split("/");
+            String[] infoCode5 = TopListener.RTU_INFO.getCode().split("/");
+            String[] infoCode6 = TopListener.ELECTRICAL_INFO.getCode().split("/");
+            String[] infoCode7 = TopListener.MH_COVER_INFO.getCode().split("/");
+            String[] infoCode8 = TopListener.LR_SMOKE_INFO.getCode().split("/");
+            Object mqttReceivedTopic = message.getHeaders().get("mqtt_receivedTopic");
+            if (null != mqttReceivedTopic) {
+                String topic = mqttReceivedTopic.toString();
+                MqttBaseVO mqttBaseVO = new MqttBaseVO();
+                mqttBaseVO.setTopic(topic);
+                if (TopListener.MH_WATER_INFO.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("cy");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.MH_WATER_ALERT.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("cy");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.MH_WATER_STATISTICS.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("cy");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.DEVICE_DETAIL.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("mhwater");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.DEVICE_INFO.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("mhwater");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.DEVICE_ALERT.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("mhwater");
+                    mqttBaseVO.setData(payload);
+                } else if (TopListener.DEVICE_AJ.getCode().equals(topic)) {
+                    mqttBaseVO.setDescribe("mhwater");
+                    mqttBaseVO.setData(payload);
+                } else if ((topic.indexOf(code1[2]) != -1 && topic.indexOf(code1[5]) != -1) ||
+                        (topic.indexOf(code2[2]) != -1 && topic.indexOf(code2[5]) != -1) ||
+                        (topic.indexOf(code3[2]) != -1 && topic.indexOf(code3[5]) != -1) ||
+                        (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)) {
+                    mqttBaseVO.setDescribe("alarm");
+                    mqttBaseVO.setData(payload);
+                }else if((topic.indexOf(infoCode1[2]) != -1 && topic.indexOf(infoCode1[5]) != -1) ||
+                        (topic.indexOf(infoCode2[2]) != -1 && topic.indexOf(infoCode2[5]) != -1) ||
+                        (topic.indexOf(infoCode3[2]) != -1 && topic.indexOf(infoCode3[5]) != -1) ||
+                        (topic.indexOf(infoCode4[2]) != -1 && topic.indexOf(infoCode4[5]) != -1) ||
+                        (topic.indexOf(infoCode5[2]) != -1 && topic.indexOf(infoCode5[5]) != -1) ||
+                        (topic.indexOf(infoCode6[2]) != -1 && topic.indexOf(infoCode6[5]) != -1) ||
+                        (topic.indexOf(infoCode7[2]) != -1 && topic.indexOf(infoCode7[5]) != -1) ||
+                        (topic.indexOf(infoCode8[2]) != -1 && topic.indexOf(infoCode8[5]) != -1)) {
+                    mqttBaseVO.setDescribe("info");
+                    mqttBaseVO.setData(payload);
+                }else {
+                    mqttBaseVO.setDescribe("fireInfoAndAlarm");
+                    mqttBaseVO.setData(payload);
+                }
+                //统一处理数据
+                simpleContext.getResource(mqttBaseVO);
+            }
+        };
+    }
+}