From 21de9eefe1a98ba0f154febf268d551600deff04 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 23 六月 2025 17:25:16 +0800 Subject: [PATCH] 1、配置文件增加MQTT远程命令结果回调URL; 2、MQTT远程命令bug修改; 3、增加两说明文档; 4、配置文件规范。 --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java | 39 +++++++++++++++++++-------------------- 1 files changed, 19 insertions(+), 20 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java index 1843239..1becb43 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java @@ -1,9 +1,9 @@ package com.dy.pipIrrRemote.monitor.mqttSd1.inject; 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; @@ -12,7 +12,6 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.Dto4MqttBase; import com.dy.pipIrrRemote.monitor.common.Com4MqttCtrl; -import com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; @@ -25,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 @@ -58,7 +60,7 @@ */ @PostMapping(path = "start", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Object> start(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) { + public BaseResponse<Object> start(@RequestBody @Valid CdDto dto, BindingResult bindingResult) { return this.send(dto, bindingResult, true) ; } @@ -70,7 +72,7 @@ */ @PostMapping(path = "stop", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Object> stop(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) { + public BaseResponse<Object> stop(@RequestBody @Valid CdDto dto, BindingResult bindingResult) { return this.send(dto, bindingResult, false) ; } @@ -89,7 +91,7 @@ res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult); if (res == null) { //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇� - CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(true).build(); + CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(startTrueStopFalse).build(); res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam); if (res == null) { //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature @@ -97,7 +99,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); @@ -123,24 +125,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