From 0c870ae5b2af348e19b10cc1a99f103f95c5a1cc Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 21 六月 2025 11:47:09 +0800 Subject: [PATCH] 1、通信中间件重构MQTT相关下行命令的逻辑; 2、remote模块完善MQTT相关下行命令解除报警、搅拌启停、注肥启停、灌溉启停功能类; --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java index 11cfbd6..5114ad8 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java @@ -3,6 +3,7 @@ import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol4Mqtt.pSdV1.ProtocolConstantSdV1; import com.dy.common.mw.protocol4Mqtt.pSdV1.ProtocolParserSdV1; +import com.dy.common.util.NumUtil; import org.eclipse.paho.client.mqttv3.MqttMessage; /** @@ -14,14 +15,21 @@ public static MqttTopic parseSubTopic(String topic) throws Exception { if(topic != null && topic.trim().length() != 0){ String[] topicGrp = topic.split("/") ; - if(topicGrp.length != 4){ + if(topicGrp.length != 5){ throw new Exception("鎺ユ敹鐨刴qtt娑堟伅涓婚涓嶅彲璇嗗埆") ; }else{ + if(!NumUtil.isPlusIntNumber(topicGrp[4])){ + throw new Exception("鎺ユ敹鐨刴qtt娑堟伅涓婚涓嶅彲璇嗗埆") ; + } + if(Integer.parseInt(topicGrp[4]) <= 0){ + throw new Exception("鎺ユ敹鐨刴qtt娑堟伅涓婚涓嶅彲璇嗗埆") ; + } MqttTopic vo = new MqttTopic() ; vo.orgTag = topicGrp[0] ; vo.protocol = topicGrp[1] ; vo.devId = topicGrp[2] ; - vo.topic = topicGrp[3] ; + vo.type = topicGrp[3] ; + vo.no = Integer.parseInt(topicGrp[4]) ; return vo ; } }else{ @@ -30,7 +38,7 @@ } public static String createPubTopic(MqttTopic tp) throws Exception { - return tp.orgTag + "/" + tp.protocol + "/" + tp.devId + "/" + tp.topic ; + return tp.orgTag + "/" + tp.protocol + "/" + tp.devId + "/" + tp.type + "/" + tp.no; } public static MqttSubMsg parseSubMsg(MqttTopic subTopic, MqttMessage mqttMsg, MqttCallback callback) throws Exception { @@ -49,7 +57,7 @@ if(com.protocolVersion == null){ throw new Exception("鎺ユ敹鍒癕QTT鍛戒护锛屼絾鏈彁渚涘崗璁増鏈彿") ; } - if(com.code != null && com.code.trim().length() != 0){ + if(com.code == null || com.code.trim().length() == 0){ throw new Exception("鎺ユ敹鍒癕QTT鍛戒护锛屼絾鏈彁渚涘姛鑳界爜") ; } if(com.protocol.equals(ProtocolConstantSdV1.protocolName)){ @@ -65,7 +73,7 @@ public static void main(String[] args) { - String s = "ym/sd1/10000/control/m1" ; + String s = "jyg/sd1/2430002404000840/weather/1" ; String[] ss = s.split("/") ; for (String s1 : ss) { System.out.println(s1); -- Gitblit v1.8.0