From ecef3df4890be54c1da2a8a4fc1c8c1f50f1c263 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 15:41:47 +0800
Subject: [PATCH] 式样代码管理

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java |  212 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 212 insertions(+), 0 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
new file mode 100644
index 0000000..d56a6d3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
@@ -0,0 +1,212 @@
+package com.dy.pipIrrGlobal.rtuMw;
+
+import com.dy.common.multiDataSource.DataSourceContext;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.CommandType;
+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;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+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 extends OrgListenerSupport {
+    /**
+     * pro_mw锛氬睘鎬�
+     * tag浠庢帶鍒跺櫒涓幏鍙�
+     * key_mw锛歶rl鐨刱ey
+     */
+    private static final String pro_mw = "mw";
+    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 ContextRegisterMsReceiverWebUrl = "/rtuMw/com/registerMsReceiverWebUrl";
+    protected static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu";
+    protected static final String ContextUgForceOver = "/rtuMw/com/ugForceOver";
+    /**
+     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
+     * @param env
+     * @return
+     */
+    protected String get2MwUrl(Environment env) {
+        return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + pro_url);
+    }
+    /**
+     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
+     * @param env
+     * @param orgTag
+     * @return
+     */
+    protected String get2MwUrl(Environment env, String orgTag) {
+        return env.getProperty(pro_mw + "." + orgTag + "." + pro_url);
+    }
+    /**
+     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL
+     * @param env
+     * @param context
+     * @return
+     */
+    protected String get2MwRequestUrl(Environment env, String context) {
+        return get2MwUrl(env) + context;
+    }
+    /**
+     * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL
+     * @param env
+     * @param orgTag
+     * @param context
+     * @return
+     */
+    protected String get2MwRequestUrl(Environment env, String orgTag, String context) {
+        return get2MwUrl(env, orgTag) + context;
+    }
+
+    /**
+     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+     * @param restTemplate SpringBoot鐨凴estTemplate
+     * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
+     * @param body 璇锋眰鏁版嵁
+     * @return
+     */
+    protected 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;
+        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 SpringBoot鐨凴estTemplate
+     * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
+     * @return
+     */
+    protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl) {
+        return sendGetRequest2Mw(restTemplate, toMwUrl, null);
+    }
+
+    /**
+     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+     * @param restTemplate SpringBoot鐨凴estTemplate
+     * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
+     * @param paramName 鍙傛暟鍚嶇О
+     * @param paramValue 鍙傛暟
+     * @return
+     */
+    protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, String paramName, String paramValue) {
+        String url = UriComponentsBuilder.fromUriString(toMwUrl)
+                .build()
+                .toUriString();
+
+        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url) ;
+        if(paramName != null && !paramName.trim().equals("")){
+            builder.queryParam(paramName, paramValue==null?"":paramValue) ;
+        }
+        return sendGetRequest2Mw(restTemplate, builder);
+    }
+
+    /**
+     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+     * @param restTemplate SpringBoot鐨凴estTemplate
+     * @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
+     * @param params 鍙傛暟闆嗗悎锛屽弬鏁板悕绉版槸key锛屽弬鏁版槸value
+     * @return
+     */
+    protected 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);
+    }
+
+    /**
+     * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+     * @param restTemplate SpringBoot鐨凴estTemplate
+     * @param builder
+     * @return
+     */
+    protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, UriComponentsBuilder builder) {
+        ResponseEntity<BaseResponse> response;
+        try {
+            // 閫氳繃Get鏂瑰紡璋冪敤鎺ュ彛
+            response = restTemplate.exchange(builder.toUriString(),
+                    HttpMethod.GET,
+                    new HttpEntity<>(new HttpHeaders()),
+                    BaseResponse.class);
+        } catch (Exception e) {
+            //e.printStackTrace();
+            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
+        }
+        if(response == null){
+            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
+        }else{
+            return response.getBody();
+        }
+    }
+
+    /**
+     * 鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+     * @param code 鍛戒护code
+     * @return
+     */
+    protected Command createOuterCommand(String comId, String code) {
+        Command com = new Command();
+        com.id = comId;
+        com.code = code ;
+        com.type = CommandType.outerCommand;
+        return com ;
+    }
+
+    /**
+     * 鍒涘缓鍐呴儴
+     * @param code 鍛戒护code
+     * @return
+     */
+    protected Command createInnerCommand(String code) {
+        Command com = new Command();
+        com.id = Command.defaultId;
+        com.code = code ;
+        com.type = CommandType.innerCommand;
+        return com ;
+    }
+
+}

--
Gitblit v1.8.0