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