From 431bbfaddba9f39496359bc0c1e2dcaf2bb6fca2 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 23 六月 2025 15:09:04 +0800 Subject: [PATCH] 采用模拟软件MQTTX进行模拟测试,发现并修改MQTT相关水肥机上行数据与下行命令逻辑bug. --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java | 61 ++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java index 8226de7..7577e67 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java @@ -1,14 +1,16 @@ package com.dy.common.mw.protocol4Mqtt; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; import com.dy.common.util.Callback; +import lombok.Data; /** * @Author: liurunyu * @Date: 2025/6/5 11:44 * @Description */ - -public abstract class MqttSubMsg { +@Data +public class MqttSubMsg { public String commandId ;//鍛戒护ID public String mqttResultSendWebUrl ;//Mtt杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL @@ -18,9 +20,58 @@ public MqttTopic topic ;//娑堟伅涓婚 public String metaData;//MQTT鎺ㄩ�佹潵鐨勫厓鏁版嵁 - public abstract boolean valid(); + public Vo4Up vo4Up;//璁㈤槄鐨勬秷鎭暟鎹�煎璞� + public MqttSubMsg() { + } + public MqttSubMsg(MqttTopic subTopic, String msg) { + this.deviceId = subTopic.devId ; + this.protocol = subTopic.protocol ; + this.topic = subTopic ; + this.metaData = msg ; + } - public abstract boolean subMsgMatchPubMsg(MqttPubMsg pubMsg); + public boolean valid() { + if (topic == null || topic.isEmpty()) { + return false; + } + if (metaData == null || metaData.isEmpty()) { + return false; + } + return true; + } - public abstract void action(Callback callback); + public boolean subMsgMatchPubMsg(MqttPubMsg pubMsg){ + if(this.vo4Up != null && this.vo4Up instanceof ManureVo){ + //鍙涓婃姤鐨勬槸鐘舵�佹暟鎹紝璇存槑璁惧鍝嶅簲浜嗗懡浠� + return true ; + } + return false ; + } + + public void action(Callback callback){ + callback.call(this) ; + } + + + public String toString(){ + StringBuilder sb = new StringBuilder(); + if(commandId != null){ + sb.append("commandId:") + .append(commandId) + .append("\n") ; + } + sb.append("涓婚:") + .append(topic.longName()) + .append("\n") ; + if(vo4Up != null){ + sb.append("鏁版嵁:") + .append(vo4Up.toString()) + .append("\n") ; + }else{ + sb.append("鍏冩暟鎹�:") + .append(metaData) + .append("\n") ; + } + return sb.toString() ; + } } -- Gitblit v1.8.0