From fbc2429987b5d9a645349fabeb2960948d07fef4 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 24 十一月 2025 12:48:59 +0800
Subject: [PATCH] 伸长率、电阻数采对接新Iot平台数据

---
 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java        |   11 +
 ruoyi-admin-ztns/src/main/resources/application-ztns.yml                              |   80 ++++++++-----
 cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java |   47 +++----
 cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java    |   24 +++
 cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java      |   39 ++++++
 cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java          |    4 
 cnas-device/src/main/java/com/ruoyi/device/mqtt/MQCallback.java                       |   44 +++++--
 ruoyi-admin-ztns/src/main/resources/application-druid.yml                             |   54 ++++----
 8 files changed, 194 insertions(+), 109 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java b/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
index 0a495aa..d01b66d 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/constant/DCResistanceMqttConstants.java
@@ -1,7 +1,7 @@
 package com.ruoyi.device.constant;
 
 /**
- * 鐩存祦鐢甸樆mqtt鏁版嵁灞炴�с�恉ataStream銆戠殑鏍囪瘑甯搁噺
+ * 鐩存祦鐢甸樆璁惧mqtt鍝嶅簲鎶ユ枃鐨勬爣璇嗗父閲�
  */
 public class DCResistanceMqttConstants {
 
@@ -40,4 +40,26 @@
      */
     public final static String  NSDQCS_DQCS_WD = "NSDQCS.DQCS.WD";
 
+    /**
+     * 璁惧id
+     */
+    public final static String  deviceId = "deviceId";
+
+    /**
+     * 璁惧閰嶇疆鏂囦欢ID
+     */
+    public final static String  deviceProfileId = "deviceProfileId";
+
+    /**
+     * 璁惧鍚嶇О
+     */
+    public final static String  deviceName = "deviceName";
+
+    /**
+     * 璁惧绫诲瀷
+     */
+    public final static String  deviceType = "deviceType";
+
+
+
 }
diff --git a/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java b/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
index c8ec83e..63c5f84 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/constant/ElongationMqttConstants.java
@@ -1,15 +1,48 @@
 package com.ruoyi.device.constant;
 
 /**
- * 浼搁暱鐜噈qtt灞炴�с�恉ataStream銆戠殑鏍囪瘑甯搁噺
+ * 浼搁暱鐜囪澶噈qtt鍝嶅簲鎶ユ枃鐨勬爣璇嗗父閲�
  */
 public class ElongationMqttConstants {
-    public final static String  NSTSSC_TSSC_SCL = "NSTSSC.TSSC.SCL";
-    public final static String  NSTSSC1_TSSC_SCL = "NSTSSC1.TSSC.SCL";
 
+    /**
+     * 浼搁暱鐜�
+     */
+    public final static String  NSTSSC_TSSC_SCL = "NSTSSC.TSSC.SCL";
+
+    /**
+     * 鎷変几閫熷害璁惧畾
+     */
     public final static String  NSTSSC_TSSC_LSSDSD = "NSTSSC.TSSC.LSSDSD";
 
+    /**
+     * 浣嶇Щ
+     */
     public final static String  NSTSSC_TSSC_WY = "NSTSSC.TSSC.WY";
+
+    /**
+     * 鏍囪窛璁惧畾
+     */
     public final static String  NSTSSC_TSSC_BJSD = "NSTSSC.TSSC.BJSD";
 
+    /**
+     * 璁惧id
+     */
+    public final static String  deviceId = "deviceId";
+
+    /**
+     * 璁惧閰嶇疆鏂囦欢ID
+     */
+    public final static String  deviceProfileId = "deviceProfileId";
+
+    /**
+     * 璁惧鍚嶇О
+     */
+    public final static String  deviceName = "deviceName";
+
+    /**
+     * 璁惧绫诲瀷
+     */
+    public final static String  deviceType = "deviceType";
+
 }
\ No newline at end of file
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 5ff8c3e..599177a 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
@@ -70,22 +70,38 @@
         try {
             String parse = new String(message.getPayload());
             switch (topic){
-                case "/ztt/v3/2455220/publish":
-                    //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02001
-                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02001");
+                case "/aiot/a4b27900-c6b7-11f0-8b13-c14e8310d70b"://鎴愬搧璇曢獙瀹�-浼搁暱鐜�
+                    mqCallback.collectBridgeService.elongationDataAnalysis(parse);
                     break;
-//                case "/aiot/8fac9fa0-c517-11f0-954c-255ce11213f1":
-//                    //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02002
-//                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02002");
-//                    break;
-                case "/ztt/v3/2455221/publish":
-                    //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05003
-                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05003");
-//                    break;
-//                case "/aiot/38568140-c697-11f0-8b13-c14e8310d70b":
-//                    //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05002
-//                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05002");
+                case "/aiot/4e40cdb0-c6b7-11f0-8b13-c14e8310d70b"://鎴愬搧璇曢獙瀹�-鐢甸樆
+                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
                     break;
+                case "/aiot/5447dad0-c6b9-11f0-8b13-c14e8310d70b"://杩囩▼璇曢獙瀹�-浼搁暱鐜�
+                    mqCallback.collectBridgeService.elongationDataAnalysis(parse);
+                    break;
+                case "/aiot/51eaff10-c6b9-11f0-8b13-c14e8310d70b"://杩囩▼璇曢獙瀹�-鐢甸樆
+                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse);
+                    break;
+
+
+
+
+//                case "/ztt/v3/2455220/publish":
+//                    //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02001
+//                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02001");
+//                    break;
+////                case "/aiot/8fac9fa0-c517-11f0-954c-255ce11213f1":
+////                    //鑰愪笣锛氱洿娴佺數闃绘暟鎹В鏋怤S-ER02002
+////                    mqCallback.collectBridgeService.dcResistanceDataAnalysis(parse,"NS-ER02002");
+////                    break;
+//                case "/ztt/v3/2455221/publish":
+//                    //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05003
+//                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05003");
+////                    break;
+////                case "/aiot/38568140-c697-11f0-8b13-c14e8310d70b":
+////                    //鑰愪笣锛氫几闀跨巼鏁版嵁瑙f瀽NS-FM05002
+////                    mqCallback.collectBridgeService.elongationDataAnalysis(parse,"NS-FM05002");
+//                    break;
             }
         } catch (Exception e) {
             e.printStackTrace();
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java b/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
index 3b1846d..4e9faf5 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/CollectBridgeService.java
@@ -18,8 +18,8 @@
      */
     void addBridgeValue(JSONObject jsonObject);
 
-    void dcResistanceDataAnalysis(String jsonStr,String deviceCode);
+    void dcResistanceDataAnalysis(String jsonStr);
 
-    void elongationDataAnalysis(String jsonStr,String deviceCode);
+    void elongationDataAnalysis(String jsonStr);
 }
 
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
index 6c7ac21..4d35e6d 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/CollectBridgeServiceImpl.java
@@ -113,16 +113,16 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void dcResistanceDataAnalysis(String jsonStr,String deviceCode) {
+    public void dcResistanceDataAnalysis(String jsonStr) {
         Map<String, Object> dataMap = JSONObject.parseObject(jsonStr, new TypeReference<Map<String, Object>>(){}.getType());
-        if(CollectionUtil.isNotEmpty(dataMap) && Objects.nonNull(dataMap.get("data"))){
-            List<DeviceMqttVO> dataList = JSONArray.parseObject(dataMap.get("data").toString(), new TypeReference<List<DeviceMqttVO>>(){}.getType());
+        if(CollectionUtil.isNotEmpty(dataMap)){
             //杩囨护鍑哄寘鍚疄闄呯數闃诲�肩殑瀵硅薄
-            String entrustCode = getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_SN);
-            BigDecimal zxdzzValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_ZXDZZ));
-            BigDecimal fxdzzValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_FXDZZ));
+            String entrustCode = getValueByDataStream(dataMap,DCResistanceMqttConstants.NSDQCS_DQCS_SN);
+            String deviceCode = getValueByDataStream(dataMap,DCResistanceMqttConstants.deviceName);
+            BigDecimal zxdzzValue = new BigDecimal(getValueByDataStream(dataMap,DCResistanceMqttConstants.NSDQCS_DQCS_ZXDZZ));
+            BigDecimal fxdzzValue = new BigDecimal(getValueByDataStream(dataMap,DCResistanceMqttConstants.NSDQCS_DQCS_FXDZZ));
 //            BigDecimal testLength = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_CD));
-            Double tempValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_WD)).setScale(2, RoundingMode.HALF_UP).doubleValue();
+            Double tempValue = new BigDecimal(getValueByDataStream(dataMap,DCResistanceMqttConstants.NSDQCS_DQCS_WD)).setScale(2, RoundingMode.HALF_UP).doubleValue();
             //璁$畻骞冲潎鐢甸樆鍊�
             BigDecimal value = zxdzzValue.abs().add(fxdzzValue.abs()).divide(BigDecimal.valueOf(2L), RoundingMode.HALF_UP);
             Long count = collectBridgeMapper.selectCount(Wrappers.<CollectBridge>lambdaQuery().eq(CollectBridge::getEntrustCode, entrustCode));
@@ -140,45 +140,37 @@
     }
 
     @Override
-    public void elongationDataAnalysis(String jsonStr,String deviceCode) {
+    public void elongationDataAnalysis(String jsonStr) {
         Map<String, Object> dataMap = JSONObject.parseObject(jsonStr, new TypeReference<Map<String, Object>>(){}.getType());
-        if(CollectionUtil.isNotEmpty(dataMap) && Objects.nonNull(dataMap.get("data"))){
-            List<DeviceMqttVO> dataList = JSONArray.parseObject(dataMap.get("data").toString(), new TypeReference<List<DeviceMqttVO>>(){}.getType());
+        if(CollectionUtil.isNotEmpty(dataMap)){
             // 浼搁暱鐜囷細澶勭悊 NSTSSC.TSSC.SCL 鏁版嵁
-            processMultipleValueDataStream(dataList, ElongationMqttConstants.NSTSSC_TSSC_SCL,3,10.0,deviceCode);
-        }else{
-            processMultipleValueDataStream(dataMap, ElongationMqttConstants.NSTSSC1_TSSC_SCL,3,10.0,deviceCode);
+            processMultipleValueDataStream(dataMap, ElongationMqttConstants.NSTSSC_TSSC_SCL,3,10.0);
         }
     }
 
     /**
      * 鑾峰彇mqtt娑堟伅浣撲腑瀵瑰簲鏍囪瘑鐨勫��
-     * @param dataList 鏁版嵁鍒楄〃
+     * @param dataMap 鏁版嵁鍒楄〃
      * @param dataStream 鏁版嵁娴佹爣璇�
      */
-    private String getValueByDataStream(List<DeviceMqttVO> dataList, String dataStream) {
-        DeviceMqttVO deviceMqttVO = dataList.stream()
-                .filter(f -> StringUtils.equals(f.getDataStream(), dataStream))
-                .findFirst()
-                .orElse(null);
-        if(Objects.nonNull(deviceMqttVO)){
-            List<DeviceMqttVO.DataPoint> dataPoints = deviceMqttVO.getDataPoints();
-            return CollectionUtil.isNotEmpty(dataPoints)?dataPoints.get(0).getValue():"";
+    private String getValueByDataStream(Map<String,Object> dataMap, String dataStream) {
+        try{
+            return dataMap.get(dataStream).toString();
+        }catch (Exception e){
+            return "";
         }
-        return "";
     }
 
     /**
      * 澶勭悊闇�瑕佷繚瀛樺涓�肩殑鏁版嵁娴侊紝骞朵繚瀛樺埌 Redis
-     * @param dataList 鏁版嵁鍒楄〃
+     * @param dataMap 鏁版嵁鍒楄〃
      * @param dataStream 鏁版嵁娴佹爣璇�
      * @param maxSize 淇濆瓨鐨勬渶澶т釜鏁�
      * @param minVal 瀛樺偍鏁版嵁鐨勬渶灏忓�硷紝浣庝簬璇ュ�煎垯璺宠繃锛�-1浠h〃涓嶉檺鍒�
-     * @param deviceCode 璁惧缂栧彿
      */
-    private void processMultipleValueDataStream(List<DeviceMqttVO> dataList, String dataStream,int maxSize,Double minVal,String deviceCode){
+    private void processMultipleValueDataStream(Map<String,Object> dataMap, String dataStream,int maxSize,Double minVal){
         // 绛涢�夊嚭褰撳墠鏁版嵁娴佸搴旂殑鏁版嵁
-        Double value = Double.parseDouble(getValueByDataStream(dataList, dataStream));
+        Double value = Double.parseDouble(getValueByDataStream(dataMap, dataStream));
         //濡傛灉鏈�灏忓�间笉涓虹┖涓斾笉涓�-1锛岃幏鍙栧埌鐨勫�煎皬浜庢渶灏忓�煎垯璺宠繃涓嶅仛澶勭悊
         if(Objects.nonNull(minVal)&&minVal!=-1&&value<minVal){
             return;
@@ -192,6 +184,7 @@
                 RedisUtil.delZSetRange(dataStream,0,0);
             }
         }
+        String deviceCode = getValueByDataStream(dataMap,ElongationMqttConstants.deviceName);
         RedisUtil.addZSet(dataStream+"."+deviceCode,System.currentTimeMillis(),value);
     }
 
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
index 3b67be8..9e786ce 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
@@ -307,23 +307,24 @@
                 String refery = DataAcquisition.getRefer(v.get(config).getRefery());
                 if (refery.equals(DCResistanceMqttConstants.NSDQCS_DQCS_DZZ)){
                     // 鏌ヨ瀵瑰簲濮旀墭缂栧彿鐨勬暟鎹�
-//                    Object value = RedisUtil.get(refery);
                     String[] splits = entrustCode.split("-");
                     String newEntrustCode = splits.length>1 ?splits[1]:"";
                     CollectBridge collectBridge = collectBridgeMapper.selectOne(Wrappers.<CollectBridge>lambdaQuery()
-                            .eq(CollectBridge::getEntrustCode,newEntrustCode)
+                            .eq(CollectBridge::getDeviceCode,device.getManagementNumber())
+                            .and(i->
+                                    i.eq(CollectBridge::getEntrustCode,newEntrustCode)
                                     .or()
-                                    .eq(CollectBridge::getEntrustCode,lotBatchNo)
+                                    .eq(CollectBridge::getEntrustCode,lotBatchNo))
                             .last("limit 1"));
                     if(Objects.isNull(collectBridge)){
-                        throw new ErrorException("鐩存祦鐢甸樆鏁伴噰寮傚父锛氭病鏈夋壘鍒板鎵樼紪鍙蜂负銆�"+entrustCode+"銆戠殑鏁版嵁");
+                        throw new ErrorException("璁惧"+device.getManagementNumber()+"鏁伴噰寮傚父锛氭病鏈夋壘鍒癝N鍙蜂负銆�"+entrustCode+"鎴�"+lotBatchNo+"銆戠殑鏁版嵁");
                     }
                     list.add(0,1);//娴嬭瘯闀垮害锛岄粯璁�1
                     list.add(1,Objects.isNull(collectBridge.getCollectTemperature())?0.0:collectBridge.getCollectTemperature());
                     list.add(2,collectBridge.getCollectValue());//瀹為檯鐢甸樆鍊�
                 }else {
                     // 浠� Redis 涓幏鍙栧垪琛ㄦ暟鎹�
-                    Set<Object> objectList = RedisUtil.getZSetRange(refery, 0, -1,"DESC");
+                    Set<Object> objectList = RedisUtil.getZSetRange(refery+"."+device.getManagementNumber(), 0, -1,"DESC");
                     list.addAll(objectList);
                 }
                 numberOfDataEntries.getAndIncrement();
diff --git a/ruoyi-admin-ztns/src/main/resources/application-druid.yml b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
index 352bfed..075fa56 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-druid.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -168,26 +168,6 @@
 
 # 澶囨敞 18083瀵嗙爜锛歾ttZTT123!@
 mqtt:
-  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
-    username: 2455220 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-    password: 108300 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
-    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
-    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
-    qos: 1 # 蹇冭烦鍖呯骇鍒�
-    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns01a # clientId
-    subscribe: /ztt/v3/2455220/publish # 璁㈤槄涓婚
-    client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
-    username: 2455221 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-    password: 108295 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
-    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
-    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
-    qos: 1 # 蹇冭烦鍖呯骇鍒�
-    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns02b # clientId
-    subscribe: /ztt/v3/2455221/publish # 璁㈤槄涓婚
-    client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
   - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
     username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
     password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
@@ -195,16 +175,36 @@
     keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
     qos: 1 # 蹇冭烦鍖呯骇鍒�
     completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns_gc_scl_108303 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
-    subscribe: /aiot/38568140-c697-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
-    client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-  - url: tcp://mqtt.ztt.cn.com:1883 # 鏈嶅姟鍣╥p
+    clientId: ztns_gc_scl_108303_dev # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
+    subscribe: /aiot/5447dad0-c6b9-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
     username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
     password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
     timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
     keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
     qos: 1 # 蹇冭烦鍖呯骇鍒�
     completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns_gc_dz_108301 # clientId
-    subscribe: /aiot/8fac9fa0-c517-11f0-954c-255ce11213f1 # 璁㈤槄涓婚
-    client: false # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+    clientId: ztns_gc_dz_108301_dev # clientId
+    subscribe: /aiot/51eaff10-c6b9-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_cp_scl_108295_dev # clientId,鎴愬搧璇曢獙瀹や几闀跨巼璁惧
+    subscribe: /aiot/a4b27900-c6b7-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_cp_dz_108300_dev # clientId锛屾垚鍝佽瘯楠屽鐢甸樆
+    subscribe: /aiot/4e40cdb0-c6b7-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
diff --git a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
index 37009d6..ddf388d 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
@@ -169,43 +169,63 @@
 
 # 澶囨敞 18083瀵嗙爜锛歾ttZTT123!@
 mqtt:
-  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
-    username: 2455220 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-    password: 108300 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
-    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
-    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
-    qos: 1 # 蹇冭烦鍖呯骇鍒�
-    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns01 # clientId
-    subscribe: /ztt/v3/2455220/publish # 璁㈤槄涓婚
-    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
-    username: 2455221 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-    password: 108295 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
-    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
-    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
-    qos: 1 # 蹇冭烦鍖呯骇鍒�
-    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-    clientId: ztns02 # clientId
-    subscribe: /ztt/v3/2455221/publish # 璁㈤槄涓婚
-    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-#  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
-#    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-#    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+#  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
+#    username: 2455220 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+#    password: 108300 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
 #    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
 #    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
 #    qos: 1 # 蹇冭烦鍖呯骇鍒�
 #    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-#    clientId: ztns_gc_scl_108303 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
-#    subscribe: /aiot/38568140-c697-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+#    clientId: ztns01 # clientId
+#    subscribe: /ztt/v3/2455220/publish # 璁㈤槄涓婚
 #    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
-#  - url: tcp://mqtt.ztt.cn.com:1883 # 鏈嶅姟鍣╥p
-#    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
-#    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+#  - url: tcp://mqtt-ztt.zttiot.com:1883 # 鏈嶅姟鍣╥p
+#    username: 2455221 # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+#    password: 108295 # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
 #    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
 #    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
 #    qos: 1 # 蹇冭烦鍖呯骇鍒�
 #    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
-#    clientId: ztns_gc_dz_108301 # clientId
-#    subscribe: /aiot/8fac9fa0-c517-11f0-954c-255ce11213f1 # 璁㈤槄涓婚
+#    clientId: ztns02 # clientId
+#    subscribe: /ztt/v3/2455221/publish # 璁㈤槄涓婚
 #    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_gc_scl_108303 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
+    subscribe: /aiot/5447dad0-c6b9-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_gc_dz_108301 # clientId
+    subscribe: /aiot/51eaff10-c6b9-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_cp_scl_108295 # clientId,杩囩▼璇曢獙瀹や几闀跨巼璁惧
+    subscribe: /aiot/a4b27900-c6b7-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
+  - url: tcp://mqtt.ztt.cn:1883 # 鏈嶅姟鍣╥p
+    username: admin # MQTT-鏈嶅姟绔�-鐢ㄦ埛鍚�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍鍚�
+    password: public # MQTT-鏈嶅姟绔�-瀵嗙爜锛�,鍚庢湡浼氫慨鏀逛负鐢ㄦ埛鐧诲綍瀵嗙爜
+    timeout: 100 # 瓒呮椂鏃堕棿 锛堝崟浣嶏細绉掞級
+    keepalive: 60 # 蹇冭烦 锛堝崟浣嶏細绉掞級
+    qos: 1 # 蹇冭烦鍖呯骇鍒�
+    completion-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細绉掞級
+    clientId: ztns_cp_dz_108300 # clientId
+    subscribe: /aiot/4e40cdb0-c6b7-11f0-8b13-c14e8310d70b # 璁㈤槄涓婚
+    client: true # 濡傛灉寮�鍙戦渶瑕佸惎鍔ㄦ祴璇曪紝闇�瑕佹敼涓篺alse涓嶇劧浼氫竴鐩存姤閿�
\ No newline at end of file

--
Gitblit v1.9.3