|
@@ -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);
|
|
|
+// }
|
|
|
+// };
|
|
|
+// }
|
|
|
+//}
|