From 69310a7de3d963c2bf46250b0965a2c7e8532f1e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 29 七月 2025 13:40:56 +0800
Subject: [PATCH] mqtt调整:实现订阅多个mqtt服务

---
 cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java |   35 ++++++++++++++++-------------------
 1 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
index 9cc678f..f85eab0 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java
@@ -1,15 +1,8 @@
 package com.ruoyi.device.mqtt;
 
-import cn.hutool.core.collection.CollectionUtil;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.TypeReference;
-import com.ruoyi.device.constant.DCResistanceMqttConstants;
 import com.ruoyi.device.service.CollectBridgeService;
-import com.ruoyi.device.vo.DCResistanceMqttVO;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
 import org.eclipse.paho.client.mqttv3.MqttCallback;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
@@ -17,17 +10,14 @@
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
 
 @Component
 @Slf4j
-public class MQCallback<component> implements MqttCallback {
+public class MQCallback implements MqttCallback {
 
-    private MQClient mqClient; // MQTT杩炴帴鏁版嵁
+    private final MQClient mqClient; // MQTT杩炴帴鏁版嵁
 
-    private MQConfig mqConfig; // yml閰嶇疆鏁版嵁
+    private final DeviceMqttConfig mqConfig; // yml閰嶇疆鏁版嵁
 
     private static MQCallback mqCallback;
 
@@ -41,7 +31,7 @@
 		mqCallback.collectBridgeService = this.collectBridgeService;
     }
 
-    public MQCallback(MQClient mqClient, MQConfig mqConfig) {
+    public MQCallback(MQClient mqClient, DeviceMqttConfig mqConfig) {
         this.mqClient = mqClient;
         this.mqConfig = mqConfig;
     }
@@ -74,17 +64,24 @@
      * MQTT鏈嶅姟鍣ㄥ悜WEB鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁浼氭墽琛屽埌杩欓噷闈紝瀹樻柟璇濈О涓猴細璁㈤槄鍚庣殑娑堟伅
      * @param topic 涓婚锛氫篃绉颁负搴曞眰缃戝叧鍞竴鏍囪瘑
      * @param message 淇℃伅
-     * @throws Exception 鎶ラ敊
      */
     @Override
-    public void messageArrived(String topic, MqttMessage message) throws Exception {
+    public void messageArrived(String topic, MqttMessage message) {
         try {
             String parse = new String(message.getPayload());
-//            JSONObject jsonObject = JSONObject.parseObject(parse);
+            switch (topic){
+                case "/ztt/v3/2455220/publish":
+                    //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋�
+                    mqCallback.collectBridgeService.addBridgeValueByNS(parse);
+                    break;
+                case "/ztt/v3/2455221/publish":
+                    //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽
+                    log.info("浼搁暱鐜囨秷鎭綋锛歿}",parse);
+                    break;
+            }
             // 濉厖閲囬泦鏁版嵁
+//            JSONObject jsonObject = JSONObject.parseObject(parse);
 //            mqCallback.collectBridgeService.addBridgeValue(jsonObject);
-            //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋�
-            mqCallback.collectBridgeService.addBridgeValueByNS(parse);
 
         } catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.9.3