From 1135c89deb50a080152f9086fc7b741c415ecd54 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 12 二月 2025 17:00:14 +0800 Subject: [PATCH] 通信中间件增加功能: 1、实现消息心中; 2、开阀报、关阀报、报警数据都会在消息中间件存入消息; 3、在消息中心注册消息接收者,消息中心周期性向消息接收者推送消息。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 14 deletions(-) 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..877113e 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,11 +1,13 @@ 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; import com.dy.rtuMw.server.local.CommandInnerDeaLer; import com.dy.rtuMw.server.local.ReturnCommand; +import com.dy.rtuMw.server.msCenter.MsCenterUnit; import com.dy.rtuMw.server.tasks.WebDownComTask; import com.dy.common.mw.core.CoreUnit; import com.dy.common.mw.protocol.Command; @@ -143,6 +145,24 @@ return BaseResponseUtils.buildSuccess(list); } } + + + /** + * 娉ㄥ唽娑堟伅鎺ユ敹鑰� + * @param msReceiverWebUrl 娑堟伅鎺ユ敹鑰厀eb http post url + * @return + */ + @GetMapping("/registerMsReceiverWebUrl") + public BaseResponse<List<String>> registerMsReceiverWebUrl(String msReceiverWebUrl){ + try{ + MsCenterUnit.getInstance().registerMsReceiver(msReceiverWebUrl); + }catch (Exception e){ + log.error("娉ㄥ唽娑堟伅鎺ユ敹鑰呮椂鍙戠敓寮傚父", e); + return BaseResponseUtils.buildError("娉ㄥ唽娑堟伅鎺ユ敹鑰呮椂鍙戠敓寮傚父" + (e.getMessage() == null?"":("锛�" + e.getMessage()))); + } + return BaseResponseUtils.buildSuccess(true); + } + /** * 鎺ユ敹web绯荤粺鍙戞潵鍗囩骇浠诲姟 * @param vo @@ -158,6 +178,27 @@ return BaseResponseUtils.buildError("璁剧疆RTU鍗囩骇浠诲姟鏃跺彂鐢熷紓甯�" + (e.getMessage() == null?"":("锛�" + e.getMessage()))); } return BaseResponseUtils.buildSuccess(true); + } + + /** + * 鎺ユ敹web绯荤粺鍙戞潵寮哄埗缁撴潫鍗囩骇浠诲姟 + * @return + */ + @GetMapping(path = "ugForceOver") + public BaseResponse<String> ugForceOver() { + log.info("鏀跺埌鍋滄RTU鍗囩骇浠诲姟鍛戒护") ; + try{ + String mes = UpgradeUnit.getInstance().forceOverUpgradeTask(); + if(mes == null){ + mes = "鍋滄鍗囩骇浠诲姟鎴愬姛" ; + return BaseResponseUtils.buildResult(ResultCodeMsg.RsCode.SUCCESS_CODE, mes, mes); + }else{ + return BaseResponseUtils.buildResult(ResultCodeMsg.RsCode.FAIL_CODE, mes, mes); + } + }catch (Exception e){ + log.error("鍋滄RTU鍗囩骇浠诲姟鏃跺彂鐢熷紓甯�", e); + return BaseResponseUtils.buildError("鍋滄RTU鍗囩骇浠诲姟鏃跺彂鐢熷紓甯�" + (e.getMessage() == null?"":("锛�" + e.getMessage()))); + } } /** @@ -187,24 +228,10 @@ //閫氫俊涓棿浠跺唴閮ㄥ懡浠わ紝渚嬪鏌ヨ鐩戞帶涓棿浠舵椂閽燂紝鏌ヨRTU鍦ㄧ嚎鎯呭喌绛� try{ Command reCom = new CommandInnerDeaLer().deal(com) ; - /* - boolean error = false ; - if(reCom.param != null && reCom.param != null){ - CommandBackParam cbp = (CommandBackParam)reCom.param ; - if(cbp.getSuccess() != null && !cbp.getSuccess().booleanValue()){ - error = true ; - return BaseResponseUtils.buildError(ReturnCommand.errored(cbp.getMessage(), com.getId(), null)); - } - } - if(!error){ - return BaseResponseUtils.buildError(ReturnCommand.errored(cbp.getMessage(), com.getId(), null)); - } - */ return BaseResponseUtils.buildSuccess(reCom); }catch(Exception e){ return BaseResponseUtils.buildError(ReturnCommand.errored("澶勭悊鍐呴儴鍛戒护鍑洪敊" + (e.getMessage() == null?"":("锛�" + e.getMessage())), com.getId(), com.getCode()) ); } - }else if(commandType.equals(CommandType.outerCommand)){ //鍙戝悜RTU鐨勫閮ㄥ懡浠わ紝寮傛澶勭悊锛寃eb绔痡roups鎴愬憳鍚屾寰楀埌鍛戒护澶勭悊缁撴灉锛屼絾鏋勯�犲懡浠ゅ強涓嬪彂鍛戒护鍜屽懡浠ょ粨鏋滄帴鏀惰寮傛寰楀埌 try{ -- Gitblit v1.8.0