From b2abd25927c39e849e592f1abdc08879d8d35245 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期三, 07 五月 2025 09:48:39 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java | 152 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 120 insertions(+), 32 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java index e4f1d05..42d074e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java @@ -3,9 +3,9 @@ import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.CommandType; -import com.dy.common.softUpgrade.state.UpgradeTaskVo; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.pipIrrGlobal.util.OrgListenerSupport; import org.springframework.core.env.Environment; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -14,12 +14,15 @@ import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; +import java.util.Iterator; +import java.util.Map; + /** * @Author: liurunyu * @Date: 2024/10/23 11:45 * @Description */ -public abstract class Web2RtuMw { +public abstract class Web2RtuMw extends OrgListenerSupport { /** * pro_mw锛氬睘鎬� * tag浠庢帶鍒跺櫒涓幏鍙� @@ -28,77 +31,149 @@ private static final String pro_mw = "mw"; private static final String pro_url = "url"; - protected static final String ContextComSend = "/rtuMw/com/send"; + public static final String ContextComSend = "/rtuMw/com/send"; - protected static final String ContextRtuLogFile = "/rtuMw/com/rtuLogFile"; - protected static final String ContextRtuLogText = "/rtuMw/com/rtuLogText"; + public static final String ContextRtuLogFile = "/rtuMw/com/rtuLogFile"; + public static final String ContextRtuLogText = "/rtuMw/com/rtuLogText"; - protected static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu"; - protected static final String ContextUgForceOver = "/rtuMw/com/ugForceOver"; + public static final String ContextRegisterMsReceiverWebUrl = "/rtuMw/com/registerMsReceiverWebUrl"; + public static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu"; + public static final String ContextUgForceOver = "/rtuMw/com/ugForceOver"; /** * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL * @param env * @return */ - protected String get2MwUrl(Environment env) { + public String get2MwUrl(Environment env) { return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + pro_url); } /** - * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL + * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL * @param env + * @param orgTag * @return */ - protected String get2MwRequestUrl(Environment env, String context) { + public String get2MwUrl(Environment env, String orgTag) { + return env.getProperty(pro_mw + "." + orgTag + "." + pro_url); + } + /** + * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL + * @param env + * @param context + * @return + */ + public String get2MwRequestUrl(Environment env, String context) { return get2MwUrl(env) + context; } - - /** - * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟 - * @param restTemplate SpringBoot鐨凴estTemplate - * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url - * @param body 璇锋眰鏁版嵁 + * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL + * @param env + * @param orgTag + * @param context * @return */ - protected BaseResponse sendPostRequest2Mw(RestTemplate restTemplate, String toMwUrl, Object body) { + public String get2MwRequestUrl(Environment env, String orgTag, String context) { + return get2MwUrl(env, orgTag) + context; + } + + /** + * 鍚戦�氫俊涓棿浠跺彂閫丳ost璇锋眰 + * @param restTemplate SpringBoot鐨凴estTemplate + * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url + * @param body 鏁版嵁 + * @return + */ + public BaseResponse sendPostRequest2Mw(RestTemplate restTemplate, String toMwUrl, Object body) { String url = UriComponentsBuilder.fromUriString(toMwUrl) .build() .toUriString(); HttpHeaders headers = new HttpHeaders(); HttpEntity<?> httpEntity = new HttpEntity<>(body, headers); - ResponseEntity<BaseResponse> response = null; + ResponseEntity<BaseResponse> resEntity = null; try { // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛 - response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); + resEntity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - if(response == null){ + if(resEntity == null){ return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); }else{ - return response.getBody(); + return resEntity.getBody(); } } /** - * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟 + * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰 * @param restTemplate SpringBoot鐨凴estTemplate * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url * @return */ - protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl) { + public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl) { + return sendGetRequest2Mw(restTemplate, toMwUrl, null); + } + + /** + * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰 + * @param restTemplate SpringBoot鐨凴estTemplate + * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url + * @param paramName 鍙傛暟鍚嶇О + * @param paramValue 鍙傛暟 + * @return + */ + public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, String paramName, String paramValue) { String url = UriComponentsBuilder.fromUriString(toMwUrl) .build() .toUriString(); - HttpHeaders headers = new HttpHeaders(); - HttpEntity<?> httpEntity = new HttpEntity<>(headers); - ResponseEntity<BaseResponse> response = null; + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url) ; + if(paramName != null && !paramName.trim().equals("")){ + builder.queryParam(paramName, paramValue==null?"":paramValue) ; + } + return sendGetRequest2Mw(restTemplate, builder); + } + + /** + * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰 + * @param restTemplate SpringBoot鐨凴estTemplate + * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url + * @param params 鍙傛暟闆嗗悎锛屽弬鏁板悕绉版槸key锛屽弬鏁版槸value + * @return + */ + public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, Map<String, String> params) { + String url = UriComponentsBuilder.fromUriString(toMwUrl) + .build() + .toUriString(); + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url) ; + if(params != null && params.size() > 0){ + Iterator<String> it = params.keySet().iterator() ; + String key ; + while (it.hasNext()){ + key = it.next() ; + builder.queryParam(key, params.get(key)) ; + } + } + return sendGetRequest2Mw(restTemplate, builder); + } + + /** + * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰 + * @param restTemplate SpringBoot鐨凴estTemplate + * @param builder + * @return + */ + public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, UriComponentsBuilder builder) { + ResponseEntity<BaseResponse> response; try { - // 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛 - response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, BaseResponse.class); + // 閫氳繃Get鏂瑰紡璋冪敤鎺ュ彛 + response = restTemplate.exchange(builder.toUriString(), + HttpMethod.GET, + new HttpEntity<>(new HttpHeaders()), + BaseResponse.class); } catch (Exception e) { - e.printStackTrace(); + //e.printStackTrace(); return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } if(response == null){ @@ -113,7 +188,7 @@ * @param code 鍛戒护code * @return */ - protected Command createOuterCommand(String comId, String code) { + public Command createOuterCommand(String comId, String code) { Command com = new Command(); com.id = comId; com.code = code ; @@ -122,11 +197,24 @@ } /** - * 鍒涘缓鍐呴儴 + * 鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛� * @param code 鍛戒护code * @return */ - protected Command createInnerCommand(String code) { + public Command createOuterTransparentCommand(String comId, String code) { + Command com = new Command(); + com.id = comId; + com.code = code ; + com.type = CommandType.outerTransCommand; + return com ; + } + + /** + * 鍒涘缓鍐呴儴鍛戒护 + * @param code 鍛戒护code + * @return + */ + public Command createInnerCommand(String code) { Command com = new Command(); com.id = Command.defaultId; com.code = code ; -- Gitblit v1.8.0