From 10a0b0ca34824307aa7d23b0ad6679b36bd57842 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 10 六月 2025 19:59:49 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java |   65 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
index b7917f5..0cf1c24 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
@@ -111,12 +111,12 @@
             }catch(Exception e){
             	company = "" ;
             }
-            System.out.println("OOOOOOOOOO           OOOOOOOO       OOOOOOOO") ;
-            System.out.println("@@@@@@@@@@@@@@@@#O    $@@@@@@@@&    @@@@@@@@#") ;       
-            System.out.println("@@@@@@@@@@@@@@@@@@@#    @@@@@@@@# $@@@@@@@@&") ;        
-            System.out.println("@@@@@@@@@@@@@@@@@@@@@#   #@@@@@@@@@@@@@@@@O") ;    
-            System.out.println("@@@@@@@@@@@@@@@@@@@@@@@   &@@@@@@@@@@@@@@") ;           
-            System.out.println("@@@@@@$      $@@@@@@@@@&   O@@@@@@@@@@@#") ;        
+            System.out.println("$$$$$$$$$$$$         $$$$$$$$       $$$$$$$$") ;
+            System.out.println("@@@@@@@@@@@@@@@@#$    $@@@@@@@@&    @@@@@@@@#") ;
+            System.out.println("@@@@@@@@@@@@@@@@@@@#    @@@@@@@@# $@@@@@@@@&") ;
+            System.out.println("@@@@@@@@@@@@@@@@@@@@@#   #@@@@@@@@@@@@@@@@$") ;
+            System.out.println("@@@@@@@@@@@@@@@@@@@@@@@   &@@@@@@@@@@@@@@") ;
+            System.out.println("@@@@@@$      $@@@@@@@@@&   $@@@@@@@@@@@#") ;
             System.out.println("@@@@@@$        @@@@@@@@@     @@@@@@@@@&      " + this.orgTag + svName + "RtuMw 1.0.00" ) ;
 			if(this.HttpSvPath != null && this.HttpSvPort != null){
 				System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       HttpSv [ip]:" + this.HttpSvPort + this.HttpSvPath) ;
@@ -450,7 +450,7 @@
 			mqVo.enable = conf.getSetAttrBoolean(doc, "config.mqtt", "enable", null, null) ;
 			ServerProperties.mqttUnitEnable = mqVo.enable ;
 			if(mqVo.enable){
-				mqVo.svIp = conf.getSetAttrTxt(doc, "config.mqtt", "svIp", null, true, null) ;
+				mqVo.svIp = conf.getSetAttrTxt(doc, "config.mqtt", "svIp", null, false, null) ;
 				if(!IPUtils.ipValid(mqVo.svIp)){
 					throw new Exception("config.mqtt.svIp閰嶇疆鐨処P涓嶅悎娉�") ;
 				}
@@ -458,13 +458,13 @@
 				if(mqVo.svPort < 0 || mqVo.svPort > 65535){
 					throw new Exception("config.mqtt.svPort閰嶇疆鐨勭鍙d笉鍚堟硶") ;
 				}
-				mqVo.svUserName = conf.getSetAttrTxt(doc, "config.mqtt", "svUserName", null, true, null) ;
+				mqVo.svUserName = conf.getSetAttrTxt(doc, "config.mqtt", "svUserName", null, false, null) ;
 				if(mqVo.svUserName == null || mqVo.svUserName.trim().equals("")){
 					throw new Exception("config.mqtt.svUserName閰嶇疆鐨勭敤鎴峰悕涓嶅悎娉�") ;
 				}else{
 					mqVo.svUserName = mqVo.svUserName.trim() ;
 				}
-				mqVo.svUserPassword = conf.getSetAttrTxt(doc, "config.mqtt", "svUserPassword", null, true, null) ;
+				mqVo.svUserPassword = conf.getSetAttrTxt(doc, "config.mqtt", "svUserPassword", null, false, null) ;
 				if(mqVo.svUserPassword == null || mqVo.svUserPassword.trim().equals("")){
 					throw new Exception("config.mqtt.svUserName閰嶇疆鐨勭敤鎴峰瘑鐮佷笉鍚堟硶") ;
 				}else{
@@ -474,28 +474,51 @@
 				if(mqVo.poolMaxSize <= 1 || mqVo.poolMaxSize > 1000){
 					throw new Exception("config.mqtt.poolMaxSize閰嶇疆鐨勮繛鎺ユ睜杩炴帴鏈�澶ф暟閲忎笉鍚堟硶") ;
 				}
-				String topicAndQos = conf.getSetAttrTxt(doc, "config.mqtt", "topicAndQos", null, true, null) ;
-				if(topicAndQos == null || topicAndQos.trim().equals("")){
-					throw new Exception("config.mqtt.topicAndQos閰嶇疆鐨勪富棰樺強Qos涓嶅悎娉�") ;
+				String proAndDevIds = conf.getSetAttrTxt(doc, "config.mqtt", "protocolAndDeviceIds", null, false, null) ;
+				if(proAndDevIds == null || proAndDevIds.trim().equals("")){
+					throw new Exception("config.mqtt.protocolAndDeviceIds閰嶇疆涓嶅悎娉�") ;
 				}else{
-					topicAndQos = topicAndQos.trim() ;
-					topicAndQos = topicAndQos.replaceAll("锛�", ",");
-					topicAndQos = topicAndQos.replaceAll("锛�", ";");
-					String[] topicAndQosArr = topicAndQos.split(";") ;
+					proAndDevIds = proAndDevIds.trim() ;
+					proAndDevIds = proAndDevIds.replaceAll("锛�", ",");
+					proAndDevIds = proAndDevIds.replaceAll("锛�", ";");
+					proAndDevIds = proAndDevIds.replaceAll("\\\\", "/");
+					mqVo.protocolAndDeviceIds = proAndDevIds.split(",") ;
+					mqVo.deviceIds = new String[mqVo.protocolAndDeviceIds.length] ;
+					int index = 0 ;
+					for(String topicAndQosStr : mqVo.protocolAndDeviceIds){
+						String[] pd = topicAndQosStr.split("/") ;
+						mqVo.deviceIds[index] = pd[1].trim() ;
+						index++ ;
+					}
+				}
+
+
+				String subTopicAndQos = conf.getSetAttrTxt(doc, "config.mqtt", "subTopicAndQos", null, false, null) ;
+				if(subTopicAndQos == null || subTopicAndQos.trim().equals("")){
+					throw new Exception("config.mqtt.subTopicAndQos閰嶇疆鐨勪富棰樺強Qos涓嶅悎娉�") ;
+				}else{
+					subTopicAndQos = subTopicAndQos.trim() ;
+					subTopicAndQos = subTopicAndQos.replaceAll("锛�", ",");
+					subTopicAndQos = subTopicAndQos.replaceAll("锛�", ";");
+					String[] topicAndQosArr = subTopicAndQos.split(";") ;
 					mqVo.subTopics = new String[topicAndQosArr.length] ;
-					mqVo.topicsQos = new int[topicAndQosArr.length] ;
+					mqVo.subTopicsQos = new int[topicAndQosArr.length] ;
 					int index = 0 ;
 					for(String topicAndQosStr : topicAndQosArr){
 						String[] tq = topicAndQosStr.split(",") ;
 						mqVo.subTopics[index] = tq[0].trim() ;
-						mqVo.topicsQos[index] = Integer.parseInt(tq[1].trim()) ;
+						mqVo.subTopicsQos[index] = Integer.parseInt(tq[1].trim()) ;
 						index++ ;
 					}
 				}
-				mqVo.publishQos = conf.getSetAttrPlusInt(doc, "config.mqtt", "publishQos", null, 0, 3, null);
-				if(mqVo.publishQos < 0 || mqVo.publishQos > 3){
-					throw new Exception("config.mqtt.publishQos閰嶇疆涓嶅悎娉�") ;
+				mqVo.pubTopicQos = conf.getSetAttrPlusInt(doc, "config.mqtt", "pubTopicQos", null, 0, 3, null);
+				if(mqVo.pubTopicQos < 0 || mqVo.pubTopicQos > 3){
+					throw new Exception("config.mqtt.pubTopicQos閰嶇疆涓嶅悎娉�") ;
 				}
+
+				Integer intNoSubThenOff = conf.getSetAttrPlusInt(doc, "config.mqtt", "noSubThenOff", null, 1, 1440, null);
+				mqVo.noSubThenOff = intNoSubThenOff * 60 * 1000L ;
+
 				mqVo.showStartInfo = showStartInfo ;
 				AdapterImp_MqttUnit mqAdapt = new AdapterImp_MqttUnit();
 				mqAdapt.setConfig(mqVo);

--
Gitblit v1.8.0