From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
index 83eab12..d8c11d4 100644
--- a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
+++ b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
@@ -1,33 +1,48 @@
 package com.doumee.core.mqtt.service;
 
+import com.doumee.config.SpringContextUtil;
+import com.doumee.core.mqtt.config.MqttClientInit;
+import com.doumee.core.mqtt.config.MqttConfig;
 import com.doumee.service.business.DeviceService;
 import com.doumee.service.business.DeviceSubcribeService;
-import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
-import org.eclipse.paho.client.mqttv3.MqttCallback;
-import org.eclipse.paho.client.mqttv3.MqttMessage;
+import org.eclipse.paho.client.mqttv3.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+/**
+ * @author T14
+ */
 @Service
 public class MqttPushCallback implements MqttCallback {
         @Autowired
         private DeviceSubcribeService deviceSubcribeService;
+        @Autowired
+        private MqttConfig mqttConfig;
         //鎺ユ敹娑堟伅鍥炶皟
-        public void connectionLost(Throwable cause) {
 
+    @Override
+        public void connectionLost(Throwable cause) {
             // 杩炴帴涓㈠け鍚庯紝涓�鑸湪杩欓噷闈㈣繘琛岄噸杩�
-            System.out.println("杩炴帴鏂紑锛屽彲浠ュ仛閲嶈繛");
+            System.out.println("杩炴帴鏂紑锛岄噸杩炰腑");
+            MqttClientInit.isNeedReSub =true;
+            MqttClientInit.refreshClient();
         }
 
+        @Override
         public void deliveryComplete(IMqttDeliveryToken token) {
             System.out.println("deliveryComplete---------" + token.isComplete());
         }
 
+        @Override
         public void messageArrived(String topic, MqttMessage message) throws Exception {
             // subscribe鍚庡緱鍒扮殑娑堟伅浼氭墽琛屽埌杩欓噷闈�
-            System.out.println("鎺ユ敹娑堟伅涓婚 : " + topic);
-            System.out.println("鎺ユ敹娑堟伅Qos : " + message.getQos());
-            System.out.println("鎺ユ敹娑堟伅鍐呭 : " + new String(message.getPayload()));
-            deviceSubcribeService.listener(new String(message.getPayload()),topic);
+            try {
+                System.out.println("鎺ユ敹娑堟伅涓婚 : " + topic);
+                System.out.println("鎺ユ敹娑堟伅Qos : " + message.getQos());
+                System.out.println("鎺ユ敹娑堟伅鍐呭 : " + new String(message.getPayload()));
+                deviceSubcribeService.listener(message.getId()+"",new String(message.getPayload()),topic);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
         }
 }

--
Gitblit v1.9.3