From c2e9f82dfe87e9bd967d8445bd4b5b632f3f0d1a Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: Fri, 24 Nov 2023 11:19:43 +0800
Subject: [PATCH] 清淤锁重新封装

---
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/PushCallback.java          |    2 
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java       |  104 ++++++++++++++
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java |   87 ++---------
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java                   |   14 +
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/QosEnum.java               |   15 ++
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/EmqClient.java             |  115 ++++++++++++++++
 ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/MqttCustomerClient.java    |    3 
 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java         |   22 +-
 8 files changed, 278 insertions(+), 84 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
index 8517bb0..e34debc 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -17,7 +17,9 @@
 import com.ruoyi.sy.service.*;
 import com.ruoyi.sy.service.impl.*;
 import com.ruoyi.utils.gps.GeoTools;
-import com.ruoyi.utils.qymqtt.MqttCustomerClient;
+import com.ruoyi.utils.qymqtt.newM.EmqClient;
+import com.ruoyi.utils.qymqtt.newM.QosEnum;
+import com.ruoyi.utils.qymqtt.oldM.MqttCustomerClient;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.eclipse.paho.client.mqttv3.MqttException;
@@ -453,9 +455,9 @@
                     map.put("A02", 110000);//导通第二路继电器
                     map.put("res", String.valueOf(System.currentTimeMillis()));
                     String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
-                    MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                    mqttCustomerClient.connect(carId+"change");
-                    mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+                    EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
+                    emqClient.connect();
+                    emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
                     log.info("车辆"+carId+"解封命令发送成功!");
 //                mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"解封");
                 }
@@ -484,9 +486,9 @@
                             map.put(key, 0.01);
                             map.put("res", String.valueOf(System.currentTimeMillis()));
                             String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
-                            MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                            mqttCustomerClient.connect(carId+"change");
-                            mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+                            EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
+                            emqClient.connect();
+                            emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
 //                        mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"开锁:"+currents);
                             while(true){
                                 ArdSyCarLock ardSyCarLock1 = lockService.getCurrentInfo(ardSyCarRtu.getId(),currents);
@@ -504,9 +506,9 @@
                         map.put("A02", 100000);//断开第二路继电器
                         map.put("res", String.valueOf(System.currentTimeMillis()));
                         String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
-                        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                        mqttCustomerClient.connect(carId+"change");
-                        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+                        EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
+                        emqClient.connect();
+                        emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
                         log.info("车辆"+carId+"施封命令发送成功!");
 //                    mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"施封");
                     }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
index 26b9f4d..e9dab35 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -19,7 +19,9 @@
 import com.ruoyi.sy.vo.RtuVo;
 import com.ruoyi.system.mapper.SysConfigMapper;
 import com.ruoyi.system.mapper.SysDeptMapper;
-import com.ruoyi.utils.qymqtt.MqttCustomerClient;
+import com.ruoyi.utils.qymqtt.newM.EmqClient;
+import com.ruoyi.utils.qymqtt.newM.QosEnum;
+import com.ruoyi.utils.qymqtt.oldM.MqttCustomerClient;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.MqttException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -251,15 +253,11 @@
             map.put("A02", 110000);//导通第二路继电器
             map.put("res", String.valueOf(System.currentTimeMillis()));
             String mapString = JSON.toJSONString(map);
-            try {
-                MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
-                mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
-                return AjaxResult.success("解封命令发送成功!");
+            EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
+            emqClient.connect();
+            emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
+            return AjaxResult.success("解封命令发送成功!");
 //                return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"解封"));
-            } catch (MqttException e) {
-                log.debug("解封指令发生失败"+e);
-            }
         }
         //0施封
         if(rtuTypeParam.getType()==0){
@@ -285,14 +283,10 @@
                     map.put(key, 0.01);
                     map.put("res", String.valueOf(System.currentTimeMillis()));
                     String mapString = JSON.toJSONString(map);
-                    try {
-                        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                        mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
-                        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+                    EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
+                    emqClient.connect();
+                    emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
 //                        mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"开锁:"+currents);
-                    } catch (MqttException e) {
-                        log.debug("开锁指令发生失败"+e);
-                    }
                     while(true){
                         ArdSyCarLock ardSyCarLock1 = getCurrentInfo(ardSyCarRtu.getId(),currents);
                         Double currentInfo1 = ardSyCarLock1.getCurrentInfo();
@@ -309,15 +303,11 @@
                 map.put("A02", 100000);//断开第二路继电器
                 map.put("res", String.valueOf(System.currentTimeMillis()));
                 String mapString = JSON.toJSONString(map);
-                try {
-                    MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                    mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
-                    mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
-                    return AjaxResult.success("施封命令发生成功!");
+                EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
+                emqClient.connect();
+                emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
+                return AjaxResult.success("施封命令发生成功!");
 //                    return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"施封"));
-                } catch (MqttException e) {
-                    log.debug("施封指令发生失败"+e);
-                }
             }
         }
         return AjaxResult.success();
@@ -353,50 +343,13 @@
         map.put("res", String.valueOf(System.currentTimeMillis()));
         String mapString = JSON.toJSONString(map);
         System.out.println(mapString);
-        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-        mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID());
-        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+        EmqClient emqClient = new EmqClient(lockTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID());
+        emqClient.connect();
+        emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
+//        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+//        mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID());
+//        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
         return AjaxResult.success("开关锁命令发送成功,发送进度为"+lockTypeParam.getNum());
-//        QueryWrapper<SysConfig> queryWrapper1 = new QueryWrapper<>();
-//        queryWrapper1.eq("config_key","ElectromagneticLockUrl");
-//        SysConfig sysConfig = configMapper.selectOne(queryWrapper1);
-//        String url = "";
-//        if(sysConfig!=null){
-//            url = sysConfig.getConfigValue();
-//        }else {
-//            return AjaxResult.error("配置表无地址数据");
-//        }
-//        MqttConsumer mqttConsumer = new MqttConsumer();
-//        mqttConsumer.getClientCar(url,lockTypeParam.getCarId());
-//        mqttConsumer.publishCar(1,false,ardSyCarRtu.getTopicPublish(),mapString);
-//        mqttConsumer.disConnect();
-//        return AjaxResult.success();
-        //MqttOnce客户端-----开始
-//        MqttOnce mqttOnce = new MqttOnce();
-//        return AjaxResult.success(mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(), mapString,"开关锁指令"+lockTypeParam.getNum()));
-        //MqttOnce客户端-----结束
-        //EmqClient客户端-----开始
-//        EmqClient emqClient = new EmqClient("tcp://112.98.126.2:1883",String.valueOf(UUID.randomUUID()));
-//        emqClient.connect("admin","xzx12345");
-//        log.info("主题:"+ardSyCarRtu.getTopicPublish());
-//        emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
-//        System.out.println("////////////////////");
-//        System.out.println(mapString);
-//        emqClient.disConnect();
-//        return AjaxResult.success(ardSyCarRtu.getTopicPublish()+"开关锁指令"+lockTypeParam.getNum()+"发布成功!");
-        //EmqClient客户端-----结束
-        //demo------开始
-//        EmqClient emqClient = new EmqClient("tcp://112.98.126.2:1883","mqttTestp");
-//        emqClient.connect("admin","xzx12345");
-//        Map<String,Object> map = new HashMap();
-//        map.put("D03", 99.99);//范围是0.01到99.99
-//        map.put("res", String.valueOf(new Date().getTime()));
-//        System.out.println(map);
-//        String msg = JSON.toJSONString(map);
-//        emqClient.publish("/p14/set/",msg,QosEnum.QoS2,false);
-//        emqClient.disConnect();
-//        return AjaxResult.success();
-        //demo----结束
     }
 
     @Override
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java
index 72cde30..d6bff1d 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java
@@ -2,6 +2,8 @@
 
 import com.ruoyi.sy.domain.ArdSyCarRtu;
 import com.ruoyi.sy.service.ArdSyCarRtuService;
+import com.ruoyi.utils.qymqtt.newM.EmqClient;
+import com.ruoyi.utils.qymqtt.newM.QosEnum;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -17,7 +19,7 @@
     @Autowired
     private ArdSyCarRtuService ardSyCarRtuService;
 
-//    @PostConstruct
+    @PostConstruct
     public void init() {
 //        ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class);
 //        //获取电磁锁地址
@@ -28,9 +30,13 @@
             String carId = rtu.getCarId();
             String subscribe = rtu.getTopicSubscribe();
             try {
-                MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
-                mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID());
-                mqttCustomerClient.subscribe(subscribe);
+//                MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+//                mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID());
+//                mqttCustomerClient.subscribe(subscribe);
+                EmqClient emqClient = new EmqClient(carId+"mqttSubscribe");
+                emqClient.connect();
+                emqClient.subscribe(subscribe, QosEnum.QoS2);
+                log.info("订阅主题:"+subscribe);
             }catch (Exception e) {
                 e.printStackTrace();
             }
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/EmqClient.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/EmqClient.java
new file mode 100644
index 0000000..16452c5
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/EmqClient.java
@@ -0,0 +1,115 @@
+package com.ruoyi.utils.qymqtt.newM;
+
+import javax.annotation.PreDestroy;
+
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.sy.service.ArdSyCarRtuService;
+import org.eclipse.paho.client.mqttv3.IMqttClient;
+import org.eclipse.paho.client.mqttv3.MqttClient;
+import org.eclipse.paho.client.mqttv3.MqttClientPersistence;
+import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
+import org.eclipse.paho.client.mqttv3.MqttException;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+
+public class EmqClient {
+
+    private IMqttClient mqttClient;
+
+    private MessageCallback messageCallback;
+
+    public EmqClient(String clientId){
+        ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class);
+        //获取电磁锁地址
+        String mqttUrl = carRtuService.url("ElectromagneticLockUrl");
+        MqttClientPersistence mempersitence = new MemoryPersistence();//持久化方式
+        try {
+            this.mqttClient = new MqttClient(mqttUrl,clientId,mempersitence);//设置连接broker的host及clientId
+            this.messageCallback = new MessageCallback();
+        } catch (MqttException e) {
+            System.out.println("初始化客户端mqttClient对象失败");
+            System.out.println("brokerUrl:"+mqttUrl);
+            System.out.println("clientId:"+clientId);
+            e.getMessage();
+        }
+    }
+
+
+    //连接broker
+    public void connect(){
+        MqttConnectOptions options = new MqttConnectOptions();
+        options.setAutomaticReconnect(true);
+        options.setUserName("admin");
+        options.setPassword("xzx12345".toCharArray());
+        options.setCleanSession(true);//设置为临时会话
+
+        mqttClient.setCallback(messageCallback);//设置回调
+
+        try {
+            mqttClient.connect(options);
+        } catch (MqttException e) {
+            System.out.println("mqtt客户端连接服务端失败");
+            e.getMessage();
+        }
+    }
+
+    //断开连接
+    @PreDestroy//该注解对象销毁后触发
+    public void disConnect(){
+        try {
+            mqttClient.disconnect();
+        } catch (MqttException e) {
+            System.out.println("断开连接产生异常");
+            e.getMessage();
+        }
+    }
+
+    //重连
+    public void reConnect(){
+        try {
+            mqttClient.reconnect();
+        } catch (MqttException e) {
+            System.out.println("重连失败,失败原因");
+            e.getMessage();
+        }
+    }
+
+    //发布消息  传参为主题,消息,等级,是否保留消息
+    public void publish(String topic, String msg, QosEnum qos, boolean retain){
+        MqttMessage mqttMessage = new MqttMessage();
+        mqttMessage.setPayload(msg.getBytes());
+        mqttMessage.setQos(qos.value());
+        mqttMessage.setRetained(retain);
+        try {
+            mqttClient.publish(topic,mqttMessage);
+            mqttClient.disconnect();
+        } catch (MqttException e) {
+            System.out.println("发布消息失败");
+            System.out.println("主题:"+topic);
+            System.out.println("消息:"+msg);
+            System.out.println("qos等级:"+qos.value());
+            e.getMessage();
+        }
+    }
+
+    //订阅
+    public void subscribe(String topicFilter,QosEnum qos){
+        try {
+            mqttClient.subscribe(topicFilter,qos.value());
+        } catch (MqttException e) {
+            System.out.println("订阅主题"+topicFilter+"失败");
+            System.out.println("qos等级:"+qos.value());
+            e.getMessage();
+        }
+    }
+
+    //取消订阅
+    public void unSubscribe(String topicFilter){
+        try {
+            mqttClient.unsubscribe(topicFilter);
+        } catch (MqttException e) {
+            System.out.println("取消订阅主题"+topicFilter+"失败");
+            e.getMessage();
+        }
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java
new file mode 100644
index 0000000..d143d79
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java
@@ -0,0 +1,104 @@
+package com.ruoyi.utils.qymqtt.newM;
+
+import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.sy.domain.ArdSyCarLock;
+import com.ruoyi.sy.domain.ArdSyCarRtu;
+import com.ruoyi.sy.service.ArdSyCarLockService;
+import com.ruoyi.sy.service.ArdSyCarRtuService;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.IMqttClient;
+import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
+import org.eclipse.paho.client.mqttv3.MqttCallback;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+
+import com.alibaba.fastjson.JSON;
+
+@Slf4j
+public class MessageCallback implements MqttCallback  {
+
+	private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+	//注入电子锁Bean
+	ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class);
+	ArdSyCarLockService carLockService = SpringUtils.getBean(ArdSyCarLockService.class);
+
+
+	@Override//丢失了对服务端的连接后触发的回调
+	public void connectionLost(Throwable arg0) {
+		// 资源的清理  重连
+		System.out.println(arg0.getMessage());
+		arg0.printStackTrace();
+		System.out.println("丢失了对服务端的连接");
+	}
+
+	@Override //消息发布者消息发布完成产生的回调
+	public void deliveryComplete(IMqttDeliveryToken token) {
+		System.out.println("deliveryComplete---------" + token.isComplete());
+		int messageId = token.getMessageId();
+		String[] topics = token.getTopics();
+		String clientId = token.getClient().getClientId();
+//        byte[] msg = token.getMessage().getPayload();
+		String topicStr = "";
+		for(String topic : topics){
+			topicStr = topicStr + topic + ",";
+		}
+		topicStr = topicStr.substring(0, topicStr.length() - 1);
+		System.out.println("消息发布完成,messageId="+messageId+",topics="+topicStr+",clientId="+clientId);
+	}
+
+	@Override//消息订阅者收到消息后触发的回调
+	public void messageArrived(String topic, MqttMessage message) throws Exception {
+		try {
+            System.out.println("【车辆锁主题】:"+topic+"【车辆锁信息】:"+new String(message.getPayload(), StandardCharsets.UTF_8));
+			//出来回调数据
+			List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8));
+			//根据topic查询RTUID
+			ArdSyCarRtu ardSyCarRtu = carRtuService.subscribeByCarId(topic);
+			String RTU = ardSyCarRtu.getId();
+			//根据RTUID查询锁
+			List<ArdSyCarLock> ardSyCarLockList = carLockService.carLock(RTU);
+			for (int i = 0; i < ardSyCarLocks.size(); i++) {
+				ArdSyCarLock ardSyCarLockData = ardSyCarLocks.get(i);
+				String relay = ardSyCarLockData.getRelay();
+				Integer relayInfo = ardSyCarLockData.getRelayInfo();
+				String current = ardSyCarLockData.getCurrents();
+				Double currentInfo = ardSyCarLockData.getCurrentInfo();
+				for (int j = 0; j < ardSyCarLockList.size(); j++) {
+					ArdSyCarLock lock = ardSyCarLockList.get(j);
+					String relay1 = lock.getRelay();
+					String current1 = lock.getCurrents();
+					Integer relayInfo1 = lock.getRelayInfo();
+					Double currentInfo1 = lock.getCurrentInfo();
+					Boolean upd = false;
+					if(relay.equals(relay1)){
+						if(!relayInfo.equals(relayInfo1)){
+							lock.setRelayInfo(relayInfo);
+							upd = true;
+						}
+					}
+					if(current.equals(current1)){
+						if(!currentInfo.equals(currentInfo1)){
+							lock.setCurrentInfo(currentInfo);
+							upd = true;
+						}
+					}
+					if(upd){
+						int num = carLockService.updLock(lock);
+//                        log.debug("修改"+num+"数据");
+					}
+				}
+			}
+		} catch (Exception e) {
+			log.debug("车辆电磁锁处理mqtt消息异常:" + e);
+		}
+
+	}
+
+}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/QosEnum.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/QosEnum.java
new file mode 100644
index 0000000..920e249
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/QosEnum.java
@@ -0,0 +1,15 @@
+package com.ruoyi.utils.qymqtt.newM;
+
+public enum QosEnum {
+	QoS0(0),QoS1(1),QoS2(2);
+
+    private final int value;
+
+    QosEnum(int value) {
+        this.value = value;
+    }
+
+    public int value(){
+        return this.value;
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/MqttCustomerClient.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/MqttCustomerClient.java
similarity index 97%
rename from ard-work/src/main/java/com/ruoyi/utils/qymqtt/MqttCustomerClient.java
rename to ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/MqttCustomerClient.java
index 4028ca6..9c38b19 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/MqttCustomerClient.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/MqttCustomerClient.java
@@ -1,11 +1,10 @@
-package com.ruoyi.utils.qymqtt;
+package com.ruoyi.utils.qymqtt.oldM;
 
 import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.sy.service.ArdSyCarRtuService;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.*;
 import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PreDestroy;
diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/PushCallback.java
similarity index 98%
rename from ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java
rename to ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/PushCallback.java
index 910d32f..a955c6a 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/oldM/PushCallback.java
@@ -1,4 +1,4 @@
-package com.ruoyi.utils.qymqtt;
+package com.ruoyi.utils.qymqtt.oldM;
 
 import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.sy.domain.ArdSyCarLock;

--
Gitblit v1.9.3