From 320c0c10a90140627b10a6fcf498e79d09785da6 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期三, 27 十一月 2024 13:42:58 +0800
Subject: [PATCH] 添加mqtt数据接口

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
index 41d3db4..43c838f 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
@@ -15,6 +15,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.core.RedisTemplate;
 
 import java.util.*;
 
@@ -44,6 +45,8 @@
   private RedisUtil redisUtil;
   @Autowired
   private EmqxApi emqxApi;
+  @Autowired
+  private RedisTemplate redisTemplate;
 
 
   @Bean
@@ -98,6 +101,8 @@
             mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA);
             System.out.println("admin璁㈤槄" + MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA);
             // 璁㈤槄绉熸埛鎶ヨ鏁版嵁
+            mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_REAL_FAULT_DATA);
+            System.out.println("admin璁㈤槄" + MqttConstant.TENANT_UP_PREFIX_REAL_FAULT_DATA);
             mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_FAULT_DATA);
             System.out.println("admin璁㈤槄" + MqttConstant.TENANT_UP_PREFIX_FAULT_DATA);
             mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_EQU);
@@ -153,7 +158,14 @@
    * 鏈嶅姟绔紙admin瑙掕壊锛夊惎鍔ㄦ椂鏌ヨ鎵�鏈夎澶囧苟缂撳瓨鍒皉edis
    */
   private void initClients() {
-    redisUtil.removeAll(MqttConstant.MQTT_ONLINE_CLIENT);
+    //鍒濆鍖栨椂鍏堝垹闄ゆ墍鏈夊湪绾胯澶�
+    Set keys = redisTemplate.keys( String.format(MqttConstant.MQTT_ONLINE_CLIENT,"*"));
+    if (keys != null && !keys.isEmpty()) {
+      keys.forEach(key -> System.out.println("鍒濆鍖栧垹闄ゅ湪绾胯澶�: " + key));
+      redisTemplate.delete(keys);
+    } else {
+      System.out.println("鍒濆鍖栨棤鍦ㄧ嚎璁惧: " + MqttConstant.MQTT_ONLINE_CLIENT);
+    }
 
     JSONObject clients = emqxApi.queryEmqx(EmqxApi.CMD_CLIENTS);
     //TODO 鏍规嵁emqx杩斿洖缂栧啓瀹炰綋绫�
@@ -180,13 +192,15 @@
           item.put("type", info[0]);
           item.put("tenantId", info[1]);
           //item.put("code", info[2]);
+
+          if (connected) {
+            redisUtil.hset(String.format(MqttConstant.MQTT_ONLINE_CLIENT,item.get("tenantId").toString()) , clientid, item);
+          }
         }catch (Exception e){
           e.printStackTrace();
         }
 
-        if (connected) {
-          redisUtil.set(MqttConstant.MQTT_ONLINE_CLIENT + clientid, item);
-        }
+
 
 
       }

--
Gitblit v1.9.3