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