From 7f3cae29516a35e85e4b6fc02ec655882d4c2538 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 08 五月 2025 11:55:24 +0800
Subject: [PATCH] 1、测控一体阀协议功能码50补充实现; 2、RTU模拟器模拟实现50、91、92功能码上报; 3、remote模块:完善透传命令实现,完善接收通信中间件返回命令结果实现。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java |  122 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 114 insertions(+), 8 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
index 2c87d06..96d3d20 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
@@ -33,13 +33,14 @@
  * @Date: 2025/4/30 16:08
  * @Description
  */
-
 @Slf4j
 @Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
 @RestController
 @RequestMapping(path = "comTrans")
 @RequiredArgsConstructor
 public class ComTransCtrl {
+
+    private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛";
 
     @Autowired
     private Environment env ;
@@ -112,14 +113,9 @@
                 try{
                     //绛夊緟閫氫俊涓棿浠堕�氱煡鎺у埗鍣ㄦ墽琛屽懡浠や笂琛屾暟鎹紙鍛戒护缁撴灉锛�
                     JSONObject resultData = feature.get(waitMwRtnResultTimeout, TimeUnit.SECONDS);
-                    Long commandId = resultData.getLong("commandId");
-                    if (commandId.equals(comId)) {
-                        return BaseResponseUtils.buildSuccess(resultData);
-                    } else {
-                        return BaseResponseUtils.buildSuccess("鎺у埗鍣ㄦ墽琛屽懡浠ゆ垚鍔�");
-                    }
+                    return BaseResponseUtils.buildSuccess(this.createRtnMsg(dto.comCode, resultData));
                 }catch (Exception e){
-                    return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂鎴栧紓甯�");
+                    return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂");
                 }
             }
         }catch (Exception e){
@@ -153,4 +149,114 @@
         return null ;
     }
 
+    private String createRtnMsg(String code, JSONObject resultData){
+        String msg;
+        if(resultData != null){
+            JSONObject codeData = resultData.getJSONObject("data") ;
+            switch (code){
+                case "3C": msg = createCd3CRtnMsg(codeData); break;
+                case "10": msg = createCd10RtnMsg(codeData); break;
+                case "21": msg = createCd21RtnMsg(codeData); break;
+                case "37": msg = createCd37RtnMsg(codeData); break;
+                case "50": msg = createCd50RtnMsg(codeData); break;
+                case "65": msg = createCd65RtnMsg(codeData); break;
+                case "66": msg = createCd66RtnMsg(codeData); break;
+                case "67": msg = createCd67RtnMsg(codeData); break;
+                case "91": msg = createCd91RtnMsg(codeData); break;
+                case "92": msg = createCd92RtnMsg(codeData); break;
+                case "93": msg = createCd93RtnMsg(codeData); break;
+                default: msg = RtuSuccessMsg; break;
+            }
+        }else{
+            msg = RtuSuccessMsg ;
+        }
+        return msg;
+    }
+    private String createCd3CRtnMsg(JSONObject codeData){
+        if(codeData == null){
+           return RtuSuccessMsg ;
+        }else{
+            Integer minute = codeData.getInteger("minute");
+            return "璁剧疆鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓" ;
+        }
+    }
+    private String createCd10RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            String newRtuAddr = codeData.getString("newRtuAddr");
+            return "璁剧疆鎴愬姛锛屾帶鍒跺櫒鍦板潃锛�" + newRtuAddr;
+        }
+    }
+    private String createCd21RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            String ip = codeData.getString("ip");
+            Integer port = codeData.getInteger("port");
+            return "璁剧疆鎴愬姛锛孖P鍦板潃锛�" + ip + "锛岀鍙e彿锛�" + port;
+        }
+    }
+    private String createCd37RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            Integer second = codeData.getInteger("second");
+            return "璁剧疆鎴愬姛锛屾祦閲忛噰闆嗗懆鏈燂細" + second + "绉�";
+        }
+    }
+   private String createCd50RtnMsg(JSONObject codeData){
+       if(codeData == null){
+           return RtuSuccessMsg ;
+       }else {
+           String rtuAddr = codeData.getString("rtuAddr");
+           return "鏌ヨ鎴愬姛锛屾帶鍒跺櫒鍦板潃锛�" + rtuAddr;
+       }
+    }
+    private String createCd65RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            Integer minute = codeData.getInteger("minute");
+            return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓";
+        }
+    }
+    private String createCd66RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            String ip = codeData.getString("ip");
+            Integer port = codeData.getInteger("port");
+            return "鏌ヨ鎴愬姛锛孖P鍦板潃锛�" + ip + "锛岀鍙e彿锛�" + port;
+        }
+    }
+    private String createCd67RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            Integer second = codeData.getInteger("second");
+            return "鏌ヨ鎴愬姛锛屾祦閲忛噰闆嗗懆鏈燂細" + second + "绉�";
+        }
+    }
+    private String createCd91RtnMsg(JSONObject codeData){
+        //姝ゅ懡浠ょ殑codeData鏄痭ull
+        return "鎺у埗鍣ㄦ竻绌哄巻鍙茶褰曟垚鍔�" ;
+    }
+    private String createCd92RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            Boolean success = codeData.getBoolean("success");
+            return success ? "鎺у埗鍣ㄥ凡鎵ц閬ユ帶寮�闃�鍛戒护" : "鎺у埗鍣ㄦ嫆缁濇墽琛岄仴鎺у紑闃�鍛戒护";
+        }
+    }
+    private String createCd93RtnMsg(JSONObject codeData){
+        if(codeData == null){
+            return RtuSuccessMsg ;
+        }else {
+            Boolean success = codeData.getBoolean("success");
+            return success ? "鎺у埗鍣ㄥ凡鎵ц閬ユ帶鍏抽榾鍛戒护" : "鎺у埗鍣ㄦ嫆缁濇墽琛岄仴鎺у叧闃�鍛戒护";
+        }
+    }
+
 }

--
Gitblit v1.8.0