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