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-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
index cc16a8d..8d673ee 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
@@ -1,9 +1,9 @@
 package com.dy.pipIrrRemote.monitor.mqttSd1.fault;
 
 import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol4Mqtt.MqttSubMsg;
 import com.dy.common.mw.protocol4Mqtt.pSdV1.CodeSdV1;
 import com.dy.common.mw.protocol4Mqtt.pSdV1.ProtocolConstantSdV1;
 import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo;
@@ -24,6 +24,9 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Proxy;
 
 /**
  * @Author: liurunyu
@@ -72,7 +75,7 @@
                     try {
                         //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
                         Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
-                        com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+                        com.rtuResultSendWebUrl = mqttResultSendWebUrl;
                         com.param = comParam ;
                         //鍙戦�佸懡浠�
                         res = super.doSend(sv, com);
@@ -98,24 +101,21 @@
     }
 
     @Override
-    protected String dealComResult(String code, JSONObject resultData, Callback callback){
+    protected String dealComResult(String code, MqttSubMsg subMsg, Callback callback){
         String msg;
-        if(resultData != null){
-            log.info(resultData.toString());
-            JSONObject codeData = resultData.getJSONObject("data") ;
-            if(codeData == null){
+        if(subMsg != null){
+            if(subMsg.vo4Up != null && Proxy.isProxyClass(subMsg.vo4Up.getClass())){
+                // 鑾峰彇浠g悊鐨� InvocationHandler
+                InvocationHandler handler = Proxy.getInvocationHandler(subMsg.vo4Up);
+                String json = JSON.toJSONString(handler) ;
+                ManureVo vo = JSON.parseObject(json, ManureVo.class);
+                msg = vo.toString() ;
+            }else{
                 msg = RtuSuccessMsg ;
-            }else {
-                String json = codeData.toJSONString();
-                ManureVo cvo = JSON.parseObject(json, ManureVo.class) ;
-                if(cvo != null){
-                    msg = cvo.toString() ;
-                }else{
-                    msg = RtuSuccessMsg ;
-                }
             }
         }else{
             msg = RtuSuccessMsg ;
         }
         return msg;
-    }}
+    }
+}

--
Gitblit v1.8.0