From 400795021ce677daf900e6c2818998222212f8a3 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 30 一月 2023 18:31:46 +0800
Subject: [PATCH] modify url config

---
 springboot/src/main/java/com/java110/boot/smo/impl/ApiServiceSMOImpl.java |   85 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 73 insertions(+), 12 deletions(-)

diff --git a/springboot/src/main/java/com/java110/boot/smo/impl/ApiServiceSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/impl/ApiServiceSMOImpl.java
index 0cebfaf..030548a 100644
--- a/springboot/src/main/java/com/java110/boot/smo/impl/ApiServiceSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/impl/ApiServiceSMOImpl.java
@@ -21,10 +21,14 @@
 import com.java110.po.transactionLog.TransactionLogPo;
 import com.java110.utils.cache.AppRouteCache;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.*;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.KafkaConstant;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.*;
 import com.java110.utils.kafka.KafkaFactory;
 import com.java110.utils.log.LoggerEngine;
+import com.java110.utils.util.BootReplaceUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -150,7 +154,7 @@
 
         String serviceCode = dataFlow.getRequestHeaders().get(CommonConstant.HTTP_SERVICE);
 
-        String logServiceCode = MappingCache.getValue(MappingCache.LOG_SERVICE_CODE);
+        String logServiceCode = MappingCache.getValue(MappingConstant.DOMAIN_SYSTEM_SWITCH,MappingCache.LOG_SERVICE_CODE);
 
         //鏃ュ織鏌ヨ涓嶈褰�
         if ("/transactionLog/queryTransactionLog".equals(serviceCode)
@@ -158,7 +162,7 @@
                 || "file.getFile".equals(serviceCode)
                 || "file.getFileByObjId".equals(serviceCode)
                 || "/machine/heartbeat".equals(serviceCode) // 蹇冭烦涔熶笉璁板綍
-        ) {
+                ) {
             return;
         }
 
@@ -379,7 +383,9 @@
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR,
                         "鏈嶅姟銆�" + appService.getServiceCode() + "銆戣皟鐢ㄦ柟寮忎笉瀵硅妫�鏌�,褰撳墠璇锋眰鏂瑰紡涓猴細" + httpMethod);
             }
-            dataFlow.setApiCurrentService(ServiceCodeConstant.SERVICE_CODE_DO_SERVICE_TRANSFER);
+            //dataFlow.setApiCurrentService(ServiceCodeConstant.SERVICE_CODE_DO_SERVICE_TRANSFER);
+            doNT(appService, dataFlow, dataFlow.getReqJson());
+            return;
         } else if ("T".equals(appService.getIsInstance())) {
             //濡傛灉鏄�忎紶绫� 璇锋眰鏂瑰紡蹇呴』涓庢帴鍙f彁渚涙柟璋冪敤鏂瑰紡涓�鑷�
             String httpMethod = dataFlow.getRequestCurrentHeaders().get(CommonConstant.HTTP_METHOD);
@@ -387,7 +393,7 @@
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR,
                         "鏈嶅姟銆�" + appService.getServiceCode() + "銆戣皟鐢ㄦ柟寮忎笉瀵硅妫�鏌�,褰撳墠璇锋眰鏂瑰紡涓猴細" + httpMethod);
             }
-            doTransfer(appService,dataFlow,dataFlow.getReqJson());
+            doTransfer(appService, dataFlow, dataFlow.getReqJson());
             return;
         } else if ("CMD".equals(appService.getIsInstance())) {
             //濡傛灉鏄�忎紶绫� 璇锋眰鏂瑰紡蹇呴』涓庢帴鍙f彁渚涙柟璋冪敤鏂瑰紡涓�鑷�
@@ -396,13 +402,68 @@
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR,
                         "鏈嶅姟銆�" + appService.getServiceCode() + "銆戣皟鐢ㄦ柟寮忎笉瀵硅妫�鏌�,褰撳墠璇锋眰鏂瑰紡涓猴細" + httpMethod);
             }
-            dealCmd(appService,dataFlow,dataFlow.getReqJson());
-            return ;
+            dealCmd(appService, dataFlow, dataFlow.getReqJson());
+            return;
         } else {
             dataFlow.setApiCurrentService(dataFlow.getRequestHeaders().get(CommonConstant.HTTP_SERVICE));
         }
         ServiceDataFlowEventPublishing.multicastEvent(dataFlow, appService);
         DataFlowFactory.addCostTime(dataFlow, "invokeBusinessSystem", "璋冪敤涓嬫父绯荤粺鑰楁椂", startDate);
+    }
+
+    private void doNT(AppService service, ApiDataFlow dataFlow, JSONObject reqJson) {
+
+
+        HttpHeaders header = new HttpHeaders();
+        for (String key : dataFlow.getRequestCurrentHeaders().keySet()) {
+            header.add(key, dataFlow.getRequestCurrentHeaders().get(key));
+        }
+        HttpEntity<String> httpEntity = new HttpEntity<String>(reqJson.toJSONString(), header);
+        //http://user-service/test/sayHello
+
+        ResponseEntity responseEntity = null;
+        //閰嶇疆c_service 鏃惰娉ㄦ剰 濡傛灉鏄互out 寮�澶寸殑璋冪敤澶栭儴鐨勫湴鍧�
+
+        try {
+            if (CommonConstant.HTTP_METHOD_GET.equals(service.getMethod())) {
+                String requestUrl = dataFlow.getRequestHeaders().get("REQUEST_URL");
+                if (!StringUtil.isNullOrNone(requestUrl)) {
+                    String param = requestUrl.contains("?") ? requestUrl.substring(requestUrl.indexOf("?") + 1, requestUrl.length()) : "";
+                    if (service.getUrl().contains("?")) {
+                        requestUrl = service.getUrl() + "&" + param;
+                    } else {
+                        requestUrl = service.getUrl() + "?" + param;
+                    }
+                }
+
+                requestUrl = BootReplaceUtil.replaceServiceName(requestUrl);
+
+                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.GET, httpEntity, String.class);
+            } else if (CommonConstant.HTTP_METHOD_PUT.equals(service.getMethod())) {
+                responseEntity = outRestTemplate.exchange(service.getUrl(), HttpMethod.PUT, httpEntity, String.class);
+            } else if (CommonConstant.HTTP_METHOD_DELETE.equals(service.getMethod())) {
+                String requestUrl = dataFlow.getRequestHeaders().get("REQUEST_URL");
+                if (!StringUtil.isNullOrNone(requestUrl)) {
+                    String param = requestUrl.contains("?") ? requestUrl.substring(requestUrl.indexOf("?"), requestUrl.length()) : "";
+                    if (service.getUrl().contains("?")) {
+                        requestUrl = service.getUrl() + "&" + param;
+                    } else {
+                        requestUrl = service.getUrl() + "?" + param;
+                    }
+                }
+                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.DELETE, httpEntity, String.class);
+            } else {
+
+                String requestUrl = BootReplaceUtil.replaceServiceName(service.getUrl());
+                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+            }
+        } catch (HttpStatusCodeException e) { //杩欓噷spring 妗嗘灦 鍦�4XX 鎴� 5XX 鏃舵姏鍑� HttpServerErrorException 寮傚父锛岄渶瑕侀噸鏂板皝瑁呬竴涓�
+            responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(), e.getStatusCode());
+        }
+
+        logger.debug("API 鏈嶅姟璋冪敤涓嬫父鏈嶅姟璇锋眰锛歿}锛岃繑鍥炰负锛歿}", httpEntity, responseEntity);
+
+        dataFlow.setResponseEntity(responseEntity);
     }
 
     private void doTransfer(AppService appService, ApiDataFlow dataFlow, JSONObject reqJson) {
@@ -445,7 +506,7 @@
             //杩涘叆databus
             if (!CommonConstant.HTTP_METHOD_GET.equals(appService.getMethod())) {
 
-               // dealDatabus(serviceCode, reqJson, oId);
+                // dealDatabus(serviceCode, reqJson, oId);
             }
 
 
@@ -484,7 +545,7 @@
         dataFlow.setResponseEntity(responseEntity);
     }
 
-    private void dealCmd(AppService appService,ApiDataFlow dataFlow,JSONObject reqJson) {
+    private void dealCmd(AppService appService, ApiDataFlow dataFlow, JSONObject reqJson) {
         Map<String, String> reqHeader = dataFlow.getRequestCurrentHeaders();
         HttpHeaders header = new HttpHeaders();
         for (String key : dataFlow.getRequestCurrentHeaders().keySet()) {
@@ -509,7 +570,7 @@
 
         serviceCode = serviceCode.startsWith("/") ? serviceCode : ("/" + serviceCode);
 
-        String requestUrl =   "http://127.0.0.1:8008/cmd" + serviceCode;
+        String requestUrl = "http://127.0.0.1:8008/cmd" + serviceCode;
         //
         ResponseEntity responseEntity = null;
         if (!StringUtil.isNullOrNone(orgRequestUrl)) {
@@ -562,7 +623,7 @@
     private void saveLogMessage(String requestJson, String responseJson) {
 
         try {
-            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_LOG_ON_OFF))) {
+            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.DOMAIN_SYSTEM_SWITCH,MappingConstant.KEY_LOG_ON_OFF))) {
                 JSONObject log = new JSONObject();
                 log.put("request", requestJson);
                 log.put("response", responseJson);
@@ -580,7 +641,7 @@
      */
     private void saveCostTimeLogMessage(DataFlow dataFlow) {
         try {
-            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_COST_TIME_ON_OFF))) {
+            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.DOMAIN_SYSTEM_SWITCH,MappingConstant.KEY_COST_TIME_ON_OFF))) {
                 List<DataFlowLinksCost> dataFlowLinksCosts = dataFlow.getLinksCostDates();
                 JSONObject costDate = new JSONObject();
                 JSONArray costDates = new JSONArray();

--
Gitblit v1.8.0