From 2b4fc2b16efdc887b71855b0b4d5b5680453d088 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 29 十一月 2024 11:15:52 +0800
Subject: [PATCH] 1、实现强制停止RTU远程升级任务功能; 2、业务系统与通信中间件web通信模块优化,使变得更通用与简单。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java         |   12 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java |   45 +++++++-
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java            |    7 +
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java                   |   21 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java                          |  110 +++++++++------------
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                       |   12 -
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java         |   16 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuLogCtrl.java            |   19 +--
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java            |    2 
 10 files changed, 141 insertions(+), 105 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
similarity index 60%
rename from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java
rename to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
index ac71d4c..ab735ae 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
@@ -19,33 +19,71 @@
  * @Date: 2024/10/23 11:45
  * @Description
  */
-public abstract class ToRtuMwCom {
+public abstract class Web2RtuMw {
     /**
      * pro_mw锛氬睘鎬�
      * tag浠庢帶鍒跺櫒涓幏鍙�
      * key_mw锛歶rl鐨刱ey
      */
     private static final String pro_mw = "mw";
-    private static final String key_mw = "comSendUrl";
-    private static final String keyUg_mw = "ugTaskSendUrl";
+    private static final String pro_url = "url";
 
+    protected static final String ContextComSend = "/rtuMw/com/send";
 
+    protected static final String ContextRtuLogFile = "/rtuMw/com/rtuLogFile";
+    protected static final String ContextRtuLogText = "/rtuMw/com/rtuLogText";
+
+    protected static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu";
+    protected static final String ContextUgForceStop = "/rtuMw/com/ugForceStop";
     /**
      * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
      * @param env
      * @return
      */
-    protected String getToMwUrl(Environment env) {
-        return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+    protected String get2MwUrl(Environment env) {
+        return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + pro_url);
+    }
+    /**
+     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL
+     * @param env
+     * @return
+     */
+    protected String get2MwRequestUrl(Environment env, String context) {
+        return get2MwUrl(env) + context;
     }
 
+
     /**
-     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
-     * @param env
+     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+     * @param restTemplate SpringBoot鐨凴estTemplate
+     * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
+     * @param param 璇锋眰鍙傛暟
      * @return
      */
-    protected String getToMwUgUrl(Environment env) {
-        return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + keyUg_mw);
+    protected BaseResponse sendRequest2Mw(RestTemplate restTemplate, String toMwUrl, Object param) {
+        String url = UriComponentsBuilder.fromUriString(toMwUrl)
+                .build()
+                .toUriString();
+        HttpHeaders headers = new HttpHeaders();
+        HttpEntity<?> httpEntity ;
+        if(param != null){
+            httpEntity = new HttpEntity<>(param, headers);
+        }else{
+            httpEntity = new HttpEntity<>(headers);
+        }
+        ResponseEntity<BaseResponse> response = null;
+        try {
+            // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛
+            response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
+        }
+        if(response == null){
+            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
+        }else{
+            return response.getBody();
+        }
     }
 
     /**
@@ -74,58 +112,4 @@
         return com ;
     }
 
-    /**
-     * 鍙戦�佸懡浠�
-     *
-     * @return
-     */
-    protected BaseResponse sendCom2Mw(RestTemplate restTemplate, String comSendUrl, Command com) {
-        String url = UriComponentsBuilder.fromUriString(comSendUrl)
-                .build()
-                .toUriString();
-        HttpHeaders headers = new HttpHeaders();
-        HttpEntity<Command> httpEntity = new HttpEntity<>(com, headers);
-        ResponseEntity<BaseResponse> response = null;
-        try {
-            // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛
-            response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
-        }
-        if(response == null){
-            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
-        }else{
-            return response.getBody();
-        }
-    }
-
-
-    /**
-     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
-     * @param restTemplate
-     * @param comSendUrl
-     * @param vo
-     * @return
-     */
-    protected BaseResponse sendUpgradeTask2Mw(RestTemplate restTemplate, String comSendUrl, UpgradeTaskVo vo) {
-        String url = UriComponentsBuilder.fromUriString(comSendUrl)
-                .build()
-                .toUriString();
-        HttpHeaders headers = new HttpHeaders();
-        HttpEntity<UpgradeTaskVo> httpEntity = new HttpEntity<>(vo, headers);
-        ResponseEntity<BaseResponse> response = null;
-        try {
-            // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛
-            response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
-        }
-        if(response == null){
-            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
-        }else{
-            return response.getBody();
-        }
-    }
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index fc2033d..c67fa0f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -312,20 +312,14 @@
 mw:
     #鍛戒护鍙戦�佸湴鍧�(涓紑鏄満鏋則ag锛屽叾涔熸槸鏁版嵁婧愬悗缂�鍚嶇О)
     ym:
+        url: "http://127.0.0.1:8070"
         comSendUrl: "http://127.0.0.1:8070/rtuMw/com/send"
-        ugTaskSendUrl: "http://127.0.0.1:8070/rtuMw/com/upgradeRtu"
-        rtuLogFileUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogFile"
-        rtuLogTextUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogText"
     sp:
+        url: "http://127.0.0.1:8073"
         comSendUrl: "http://127.0.0.1:8073/rtuMw/com/send"
-        ugTaskSendUrl: "http://127.0.0.1:8073/rtuMw/com/upgradeRtu"
-        rtuLogFileUrl: "http://127.0.0.1:8073/rtuMw/com/rtuLogFile"
-        rtuLogTextUrl: "http://127.0.0.1:8073/rtuMw/com/rtuLogText"
     test:
+        url: "http://127.0.0.1:8072"
         comSendUrl: "http://127.0.0.1:8072/rtuMw/com/send"
-        ugTaskSendUrl: "http://127.0.0.1:8072/rtuMw/com/upgradeRtu"
-        rtuLogFileUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogFile"
-        rtuLogTextUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogText"
     #鐩戞祴鎺у埗妯″潡鍥炶皟鍦板潃
     rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive"
     #rtu杩滅▼鍗囩骇妯″潡鍥炶皟鍦板潃
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
index cf4d386..42d96ad 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -88,12 +88,20 @@
      * 鍥犱负寮哄埗缁撴潫鍗囩骇浠诲姟锛屽涓�涓湭鍗囩骇瀹屾垚鐨凴TU灏变細鍗℃锛�
      * 鎵�浠ュ綋寮哄埗缁撴潫鍗囩骇浠诲姟锛屼唬鐮侀�昏緫骞舵病鏈夊己鍒剁粨鏋淩TU鍗囩骇杩囩▼锛屽鏋滃崌绾ц繃绋嬩篃寮哄埗鍋滄锛岄偅涔圧TU鐪熶細鍗℃
      */
-    public void forceOverUpgradeTask() {
+    public String forceOverUpgradeTask() {
         if(this.task != null){
-            this.stop();
-            this.task.forceOver();
+            this.task.countRunningRtuCount();
+            if(this.task.curUgRunningRtuTotal > 0){
+                return "褰撳墠瀛樺湪鍗囩骇涓殑璁惧锛屼笉鑳藉仠姝㈠崌绾т换鍔�" ;
+            }else{
+                this.stop();
+                this.task.forceOver();
+                this.task = null ;
+                return null ;
+            }
+        }else{
+            return "褰撳墠娌℃湁鍗囩骇浠诲姟" ;
         }
-        this.task = null ;
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
index 4378bb4..e29382e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -52,7 +52,7 @@
     ///////////////////////////////////////////////////
     //浠ヤ笅鍐呴儴鎺у埗鐢�
     @JSONField(serialize = false)
-    private int curUgRunningRtuTotal = 0 ;//褰撳墠姝e湪鍗囩骇鐨凴TU涓暟
+    protected int curUgRunningRtuTotal = 0 ;//褰撳墠姝e湪鍗囩骇鐨凴TU涓暟
 
     public UpgradeTask() {
         this.curUgRunningRtuTotal = 0 ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
index d2b8947..8de77f2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnit.java
@@ -75,10 +75,13 @@
     /**
      * 鍋滄褰撳墠鍗囩骇浠诲姟
      * @throws Exception
+     * @return null锛氬仠姝换鍔℃垚鍔燂紝鍚﹀垯杩斿洖澶辫触鍘熷洜
      */
-    public void overUpgradeTask() throws Exception {
+    public String overUpgradeTask() throws Exception {
         if(manager != null ){
-            manager.forceOverUpgradeTask() ;
+            return manager.forceOverUpgradeTask() ;
+        }else{
+            return "閫氫俊涓棿浠跺唴閮ㄩ敊璇�" ;
         }
     }
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
index 46ad9d1..142a879 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -1,6 +1,7 @@
 package com.dy.rtuMw.web.com;
 
 import com.dy.common.softUpgrade.state.UpgradeTaskVo;
+import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.rtuMw.resource.ResourceUnit;
 import com.dy.rtuMw.server.ServerProperties;
 import com.dy.rtuMw.server.forTcp.TcpSessionCache;
@@ -161,6 +162,26 @@
     }
 
     /**
+     * 鎺ユ敹web绯荤粺鍙戞潵鍋滄鍗囩骇浠诲姟
+     * @return
+     */
+    @PostMapping(path = "ugForceStop", consumes = MediaType.APPLICATION_JSON_VALUE)
+    public BaseResponse<String> ugForceStop() {
+        log.info("鏀跺埌鍋滄RTU鍗囩骇浠诲姟鍛戒护") ;
+        try{
+            String mes = UpgradeUnit.getInstance().overUpgradeTask();
+            if(mes == null){
+                mes = "鍋滄鍗囩骇浠诲姟鎴愬姛" ;
+            }
+            return BaseResponseUtils.buildResult(ResultCodeMsg.RsCode.SUCCESS_CODE, mes, mes);
+        }catch (Exception e){
+            log.error("鍋滄RTU鍗囩骇浠诲姟鏃跺彂鐢熷紓甯�", e);
+            return BaseResponseUtils.buildError("鍋滄RTU鍗囩骇浠诲姟鏃跺彂鐢熷紓甯�" + (e.getMessage() == null?"":("锛�" + e.getMessage())));
+        }
+    }
+
+
+    /**
      * 鎺ユ敹web绯荤粺鍙戞潵鐨勫懡浠�
      * @param com
      * @return
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
index cf03982..3876932 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
@@ -53,7 +53,7 @@
                         if(ServerProperties.argMultiDie){
                             if(count9602 > 10){
                                 int random =  CreateRandom.create_between(10, 100) ;
-                                if(random > 98){
+                                if(random > 90){
                                     UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦
                                 }else{
                                     UpCd9602.upData() ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
index a85672a..a4f1e1f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
@@ -9,7 +9,7 @@
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
 import com.dy.pipIrrGlobal.rtuMw.CodeLocal;
-import com.dy.pipIrrGlobal.rtuMw.ToRtuMwCom;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
@@ -29,7 +29,7 @@
  */
 @Slf4j
 @Service
-public class MonitorSv extends ToRtuMwCom {
+public class MonitorSv extends Web2RtuMw {
 
     @Autowired
     private PrIntakeMapper prIntakeMapper;
@@ -76,8 +76,8 @@
             //鍚戦�氫俊涓棿浠跺彂鍏冲懡浠わ紝鏌ヨ閮ㄥ垎RTU鍦ㄧ嚎鎯呭喌
             Command com = this.createInnerCommand(CodeLocal.onLinePart);
             com.setParam(rtuAddrs) ;
-            String comSendUrl = this.getToMwUrl(this.env) ;
-            BaseResponse res = sendCom2Mw(restTemplate, comSendUrl, com) ;
+            String rqUrl = this.get2MwRequestUrl(this.env, ContextComSend) ;
+            BaseResponse res = sendRequest2Mw(restTemplate, rqUrl, com) ;
             if(res != null){
                 if(res.isSuccess()){
                     Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
@@ -114,8 +114,8 @@
     private QueryResultVo<List<VoOnLineIntake>> selectIntakesOnOrOffLine(QueryVo vo) {
         //鍚戦�氫俊涓棿浠跺彂鍏冲懡浠わ紝鏌ヨ閮ㄥ垎RTU鍦ㄧ嚎鎯呭喌
         Command com = this.createInnerCommand(CodeLocal.onLineAll);
-        String comSendUrl = this.getToMwUrl(this.env) ;
-        BaseResponse res = sendCom2Mw(restTemplate, comSendUrl, com) ;
+        String rqUrl = this.get2MwRequestUrl(this.env, ContextComSend) ;
+        BaseResponse res = sendRequest2Mw(restTemplate, rqUrl, com) ;
         if(res != null){
             if(res.isSuccess()){
                 Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuLogCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuLogCtrl.java
index 18ffe64..84a72ae 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuLogCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuLogCtrl.java
@@ -1,9 +1,9 @@
 package com.dy.pipIrrRemote.rtu;
 
 import com.dy.common.aop.SsoAop;
-import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
 import jakarta.servlet.ServletOutputStream;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
@@ -32,11 +32,7 @@
 @Slf4j
 @RestController
 @RequestMapping(path="rtuLog")
-public class RtuLogCtrl {
-
-    private static final String pro_mw = "mw";
-    private static final String key_mw_file = "rtuLogFileUrl";
-    private static final String key_mw_text = "rtuLogTextUrl";
+public class RtuLogCtrl extends Web2RtuMw {
 
     private Environment env ;
     private RestTemplate restTemplate;
@@ -55,10 +51,10 @@
     @GetMapping(path = "file")
     @SsoAop()
     public BaseResponse<List<String>> rtuLogFile(String rtuAddr, HttpServletRequest req, HttpServletResponse rep){
-        String mwUrlRtuLogFile = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw_file);
+        String rqUrl = this.get2MwRequestUrl(this.env, ContextRtuLogFile) ;
         ServletOutputStream out = null ;
         try{
-            byte[] bs = this.requestMw4File(rtuAddr, mwUrlRtuLogFile) ;
+            byte[] bs = this.requestMw4File(rtuAddr, rqUrl) ;
             if(bs != null && bs.length > 0){
                 String fileReName = rtuAddr + ".log" ;
                 //URLEncoder.encode鍙互闃叉涓枃涔辩爜
@@ -91,8 +87,9 @@
     @GetMapping(path="text")
     @SsoAop()
     public BaseResponse<List<String>> rtuLogText(String rtuAddr){
-        String mwUrlRtuLogText = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw_text);
-        BaseResponse<List<String>> text = this.requestMw4Text(rtuAddr, mwUrlRtuLogText);
+        String rqUrl = this.get2MwRequestUrl(this.env, ContextRtuLogText) ;
+        //String mwUrlRtuLogText = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw_text);
+        BaseResponse<List<String>> text = this.requestMw4Text(rtuAddr, rqUrl);
         if (text != null){
             if (text.getContent().get(0).contains("鎺у埗鍣�")){
                 return BaseResponseUtils.buildErrorMsg(""+text.getContent().get(0)+"") ;
@@ -101,7 +98,6 @@
         }else {
             return BaseResponseUtils.buildErrorMsg("鑾峰彇鏃ュ織鏂囦欢涓簄ull") ;
         }
-//        return this.requestMw4Text(rtuAddr, mwUrlRtuLogText) ;
     }
 
 
@@ -141,5 +137,4 @@
 
         return (response==null?null:response.getBody());
     }
-
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
index d5929d6..96d08ce 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -3,7 +3,6 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.dy.common.aop.SsoAop;
-import com.dy.common.softUpgrade.state.UpgradeRtu;
 import com.dy.common.softUpgrade.state.UpgradeTaskVo;
 import com.dy.common.springUtil.SpringContextUtil;
 import com.dy.common.webUtil.BaseResponse;
@@ -12,8 +11,7 @@
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrGlobal.pojoUg.UgRtuProgram;
 import com.dy.pipIrrGlobal.pojoUg.UgRtuTask;
-import com.dy.pipIrrGlobal.rtuMw.ToRtuMwCom;
-import com.dy.pipIrrGlobal.voPr.VoDivide;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
 import com.dy.pipIrrGlobal.voUg.VoUgRtuResult;
 import com.dy.pipIrrGlobal.voUg.VoWatch;
 import io.swagger.v3.oas.annotations.Operation;
@@ -35,7 +33,6 @@
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
-import java.util.ArrayList;
 import java.util.Base64;
 import java.util.List;
 
@@ -48,7 +45,7 @@
 @Tag(name = "rtu杩滅▼鍗囩骇浠诲姟", description = "rtu杩滅▼鍗囩骇浠诲姟鐩稿叧鎿嶄綔")
 @RestController
 @RequestMapping(path = "rtuUpgrade")
-public class RtuUpgradeCtrl extends ToRtuMwCom {
+public class RtuUpgradeCtrl extends Web2RtuMw {
     @Autowired
     private RtuUpgradeSv sv ;
 
@@ -108,8 +105,8 @@
         vo.rtuAddrList = taskRtuAddrs ;
         vo.callbackWebUrl = ugCallbackUrl_rm ;
 
-        String ugSendUrl = this.getToMwUgUrl(this.env) ;
-        BaseResponse res = sendUpgradeTask2Mw(restTemplate, ugSendUrl, vo) ;
+        String rqUrl = this.get2MwRequestUrl(this.env, ContextUgTaskSend) ;
+        BaseResponse res = sendRequest2Mw(restTemplate, rqUrl, vo) ;
         if(res != null){
             if(res.isSuccess()){
                 this.sv.setUpgradeTaskExecuted(id);
@@ -127,6 +124,40 @@
             return BaseResponseUtils.buildErrorMsg("閫氫俊涓棿浠惰繑鍥炵粨鏋滀负null") ;
         }
     }
+    /**
+     * 涓嬪彂寮哄埗鍋滄褰撳墠rtu杩滅▼鍗囩骇浠诲姟
+     * @return 鎿嶄綔缁撴灉
+     */
+    @Operation(summary = "涓嬪彂寮哄埗鍋滄褰撳墠rtu杩滅▼鍗囩骇浠诲姟", description = "涓嬪彂寮哄埗鍋滄褰撳墠rtu杩滅▼鍗囩骇浠诲姟")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖鎿嶄綔鎴愬姛涓庡惁鏁版嵁锛圔aseResponse.content:Boolean锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = String.class))}
+            )
+    })
+    @GetMapping(path = "/forceStop")
+    @SsoAop()
+    public BaseResponse<String> forceStop() {
+        String rqUrl = this.get2MwRequestUrl(this.env, ContextUgForceStop) ;
+        BaseResponse res = sendRequest2Mw(restTemplate, rqUrl, null) ;
+        if(res != null){
+            if(res.isSuccess()){
+                return BaseResponseUtils.buildSuccess(true) ;
+            }else{
+                String msg = res.getContent()==null?null:(String)res.getContent() ;
+                if(msg == null){
+                    msg = res.getMsg() ;
+                }
+                log.error("閫氫俊涓棿浠舵墽琛屼笅鍙戝己鍒跺仠姝㈠綋鍓峳tu杩滅▼鍗囩骇浠诲姟澶辫触锛�" + msg) ;
+                return BaseResponseUtils.buildErrorMsg("閫氫俊涓棿浠舵墽琛屽己鍒跺仠姝㈠綋鍓峳tu杩滅▼鍗囩骇浠诲姟澶辫触锛�" + msg) ;
+            }
+        }else{
+            log.error("閫氫俊涓棿浠惰繑鍥炵粨鏋滀负null") ;
+            return BaseResponseUtils.buildErrorMsg("閫氫俊涓棿浠惰繑鍥炵粨鏋滀负null") ;
+        }
+    }
 
     private void valueFromPo(UpgradeTaskVo vo, UgRtuTask tpo, UgRtuProgram ppo){
         vo.id = "" + tpo.id ;

--
Gitblit v1.8.0