From 47b9f7a2708a63bbd09d65552ae8fc6d77b80b4d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 01 十二月 2024 03:03:24 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java |   48 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
index 7528df2..8c4991b 100644
--- a/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/impl/ApiServiceSMOImpl.java
@@ -7,6 +7,7 @@
 import com.java110.core.client.RestTemplate;
 import com.java110.core.context.ApiDataFlow;
 import com.java110.core.context.DataFlow;
+import com.java110.core.context.Environment;
 import com.java110.core.event.service.api.ServiceDataFlowEventPublishing;
 import com.java110.core.factory.AuthenticationFactory;
 import com.java110.core.factory.DataFlowFactory;
@@ -26,6 +27,7 @@
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.*;
+import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.kafka.KafkaFactory;
 import com.java110.utils.log.LoggerEngine;
 import com.java110.utils.util.BootReplaceUtil;
@@ -424,6 +426,12 @@
 
         ResponseEntity responseEntity = null;
         //閰嶇疆c_service 鏃惰娉ㄦ剰 濡傛灉鏄互out 寮�澶寸殑璋冪敤澶栭儴鐨勫湴鍧�
+        RestTemplate restTemplate ;
+        if (Environment.isStartBootWay()) {
+            restTemplate = ApplicationContextFactory.getBean("outRestTemplate", RestTemplate.class);
+        } else {
+            restTemplate = ApplicationContextFactory.getBean("restTemplate", RestTemplate.class);
+        }
 
         try {
             if (CommonConstant.HTTP_METHOD_GET.equals(service.getMethod())) {
@@ -439,9 +447,9 @@
 
                 requestUrl = BootReplaceUtil.replaceServiceName(requestUrl);
 
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.GET, httpEntity, String.class);
+                responseEntity = restTemplate.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);
+                responseEntity = restTemplate.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)) {
@@ -452,11 +460,11 @@
                         requestUrl = service.getUrl() + "?" + param;
                     }
                 }
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.DELETE, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.DELETE, httpEntity, String.class);
             } else {
 
                 String requestUrl = BootReplaceUtil.replaceServiceName(service.getUrl());
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
             }
         } catch (HttpStatusCodeException e) { //杩欓噷spring 妗嗘灦 鍦�4XX 鎴� 5XX 鏃舵姏鍑� HttpServerErrorException 寮傚父锛岄渶瑕侀噸鏂板皝瑁呬竴涓�
             responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(), e.getStatusCode());
@@ -481,7 +489,16 @@
         String serviceCode = appService.getServiceCode();
         serviceCode = serviceCode.startsWith("/") ? serviceCode : ("/" + serviceCode);
 
-        String requestUrl = "http://127.0.0.1:8008" + serviceCode;
+        //String requestUrl = "http://127.0.0.1:8008" + serviceCode;
+        String requestUrl = serviceCode;
+        RestTemplate restTemplate ;
+        if (Environment.isStartBootWay()) {
+            requestUrl = Environment.BOOT_PATH + requestUrl;
+            restTemplate = ApplicationContextFactory.getBean("outRestTemplate", RestTemplate.class);
+        } else {
+            requestUrl = appService.getUrl() + requestUrl;
+            restTemplate = ApplicationContextFactory.getBean("restTemplate", RestTemplate.class);
+        }
 
         ResponseEntity responseEntity = null;
         if (!StringUtil.isNullOrNone(orgRequestUrl)) {
@@ -490,13 +507,13 @@
         }
         try {
             if (CommonConstant.HTTP_METHOD_GET.equals(appService.getMethod())) {
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.GET, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.GET, httpEntity, String.class);
             } else if (CommonConstant.HTTP_METHOD_PUT.equals(appService.getMethod())) {
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.PUT, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.PUT, httpEntity, String.class);
             } else if (CommonConstant.HTTP_METHOD_DELETE.equals(appService.getMethod())) {
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.DELETE, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.DELETE, httpEntity, String.class);
             } else {
-                responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
             }
             HttpHeaders headers = responseEntity.getHeaders();
             String oId = "-1";
@@ -584,7 +601,8 @@
         serviceCode = serviceCode.startsWith("/") ? serviceCode : ("/" + serviceCode);
 
         //todo 缁勮璋冪敤寰湇鍔$殑鍦板潃
-        String requestUrl = "http://127.0.0.1:8008/cmd" + serviceCode;
+        //String requestUrl = "http://127.0.0.1:8008/cmd" + serviceCode;
+        String requestUrl = "/cmd" + serviceCode;
         //
         ResponseEntity responseEntity = null;
         //todo url 甯︿簡鍦板潃杩欓噷 鎷兼帴
@@ -595,7 +613,15 @@
         try {
             //todo http鐨勬柟寮忚皟鐢ㄥ井鏈嶅姟锛岀浉搴旂殑java绫诲彲浠ュ埌鐩稿簲寰湇鍔′笅鐨刢md涓嬫牴鎹畇erviceCode 鐨勫鎵�
             //todo 杩欓噷浼氳皟鐢ㄥ埌 java110-service 妯″潡涓嬬殑 CmdApi 绫伙紝杩欎釜绫诲悇涓井鏈嶅姟閮戒細闆嗘垚
-            responseEntity = outRestTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+            if (Environment.isStartBootWay()) {
+                requestUrl = Environment.BOOT_PATH + requestUrl;
+                restTemplate = ApplicationContextFactory.getBean("outRestTemplate", RestTemplate.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+            } else {
+                requestUrl = appService.getUrl() + requestUrl;
+                restTemplate = ApplicationContextFactory.getBean("restTemplate", RestTemplate.class);
+                responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class);
+            }
             HttpHeaders headers = responseEntity.getHeaders();
             String oId = "-1";
             if (headers.containsKey(OrderDto.O_ID)) {

--
Gitblit v1.8.0