From 0909caac96ddac21f007d6c7ba6b348de9d2981a Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 25 六月 2025 16:03:56 +0800 Subject: [PATCH] MQTT设备命令日志功能实现 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 5 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java | 58 +++++++++++++++++++++++++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java | 37 ++++++++++++++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java | 2 8 files changed, 105 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java index 0f2fac7..e1c9f70 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java @@ -26,7 +26,7 @@ public void execute(Object data) { Data d = (Data)data ; if(d.getCommandId() != null && !d.getCommandId().trim().equals("")){ - //鏃犲懡浠D + //鏈夊懡浠D this.toNextTasks(data); } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java index c5036e5..852009e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java @@ -47,7 +47,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java index 3c8a033..7a5abf1 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java @@ -50,7 +50,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java index f517210..63e259b 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java @@ -45,7 +45,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java new file mode 100644 index 0000000..471143c --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java @@ -0,0 +1,58 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 15:52 + * @Description + */ +public class TkDealCommandResponseSdV1 extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkDealCommandResponseSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealCommandResponseSdV1" ; + + /** + * 鎵ц鑺傜偣浠诲姟锛氬鐞嗗懡浠ゅ搷搴斾笂鎶� + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘按鑲ユ暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + ManureVo stVo = (ManureVo) msg.vo4Up; + Object[] objs = this.getTaskResults(TkPreGenObjs4ManureSdV1.taskId); + DbSv sv = (DbSv) objs[0]; + PrStManure stPo = (PrStManure) objs[1]; + try{ + RmCommandHistory po = sv.getCommandLog(msg.commandId) ; + if(po != null){ + po = this.updateCommandLogPo(po, msg) ; + sv.updateCommandLog(po); + }else{ + log.error("鏈緱鍒癕QTT鍛戒护鏃ュ織锛�" + msg.getCommandId() + ")"); + } + }catch (Exception e){ + log.error("淇濆瓨MQTT鍛戒护缁撴灉鍙戠敓寮傚父", e); + } + } + + public RmCommandHistory updateCommandLogPo(RmCommandHistory po, MqttSubMsg msg) throws Exception{ + po.setResultTime(new Date()); + po.setResult((byte)1); + po.setResultText(msg.metaData); + return po ; + } + +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java index c22a759..ce5f281 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java @@ -29,7 +29,7 @@ */ @Override public void execute(Object data) { - //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓哄鎯呮暟鎹� + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘皵璞℃暟鎹� MqttSubMsg msg = (MqttSubMsg) data; WeatherVo stVo = (WeatherVo) msg.vo4Up; Object[] objs = this.getTaskResults(TkPreGenObjs4WeatherSdV1.taskId); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java new file mode 100644 index 0000000..a5ed233 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java @@ -0,0 +1,37 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 15:52 + * @Description + */ +public class TkFindComResponseSdV1 extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkFindComResponseSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkFindComResponseSdV1" ; + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘按鑲ユ暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + if(msg.getCommandId() != null && !msg.getCommandId().trim().equals("")){ + //鏈夊懡浠D + this.toNextTasks(data); + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml index d26c465..b9bd804 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml @@ -98,6 +98,11 @@ <task id="TkPreGenObjs4ManureSdV1" name="涓哄鐞嗘按鑲ユ満鏁版嵁棰勫厛鍑嗗鍚勫璞�" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkPreGenObjs4ManureSdV1"> <task id="TkDealManureSdV1" name="澶勭悊姘磋偉鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealManureSdV1"> </task> + <!-- 鍙湁姘磋偉鏈烘湁杩滅▼鍛戒护 --> + <task id="TkFindComResponseSdV1" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkFindComResponseSdV1"> + <task id="TkDealCommandResponseSdV1" name="姘磋偉鏈哄搷搴斿懡浠ゆ暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealCommandResponseSdV1" > + </task> + </task> </task> <task id="TkPreGenObjs4WeatherSdV1" name="涓哄鐞嗘皵璞℃暟鎹鍏堝噯澶囧悇瀵硅薄" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkPreGenObjs4WeatherSdV1"> <task id="TkDealWeatherSdV1" name="澶勭悊姘旇薄鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealWeatherSdV1"> -- Gitblit v1.8.0