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/stir/CdCtrl.java | 34 +++++++++++++++++----------------- 1 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java index 8839c70..698f108 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java @@ -1,9 +1,9 @@ package com.dy.pipIrrRemote.monitor.mqttSd1.stir; 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; @@ -25,6 +25,9 @@ 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 * @Date: 2025/6/16 17:35 @@ -34,7 +37,7 @@ @Slf4j @Tag(name = "杩滅▼鍛戒护", description = "鎼呮媽鍚仠") @RestController("mqttSd1StirCtrl") -@RequestMapping(path = "mqttSd1/stirCtrl") +@RequestMapping(path = "mqttSd1/stir") @RequiredArgsConstructor @Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞� public class CdCtrl extends Com4MqttCtrl { @@ -93,7 +96,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); @@ -119,24 +122,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