From cb143e5edb0cd4e93cbb9ef07cae749bd3849239 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 16 六月 2020 00:07:32 +0800
Subject: [PATCH] 调用 日志打印

---
 java110-core/src/main/java/com/java110/core/base/smo/front/BaseFrontServiceSMO.java |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/base/smo/front/BaseFrontServiceSMO.java b/java110-core/src/main/java/com/java110/core/base/smo/front/BaseFrontServiceSMO.java
index 01881e9..5d981b3 100644
--- a/java110-core/src/main/java/com/java110/core/base/smo/front/BaseFrontServiceSMO.java
+++ b/java110-core/src/main/java/com/java110/core/base/smo/front/BaseFrontServiceSMO.java
@@ -4,16 +4,21 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.context.IPageData;
+import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.List;
@@ -66,7 +71,13 @@
      * @return
      */
     protected <T> T postForApi(IPageData pd, T param, String serviceCode, Class<T> t) {
-        return postForApi(pd, param, serviceCode, t);
+        List<T> ts = postForApis(pd, param, serviceCode, t);
+
+        if (ts == null || ts.size() < 1) {
+            return null;
+        }
+
+        return ts.get(0);
     }
 
     /**
@@ -81,7 +92,7 @@
      */
     protected <T> List<T> postForApis(IPageData pd, T param, String serviceCode, Class<T> t) {
 
-        String url = URL_API;
+        String url = URL_API + serviceCode;
 
 
         ResponseEntity<String> responseEntity = callCenterService(restTemplate, pd, JSONObject.toJSONString(param), url, HttpMethod.POST);
@@ -122,7 +133,7 @@
      */
     protected <T> List<T> getForApis(IPageData pd, T param, String serviceCode, Class<T> t) {
 
-        String url = URL_API;
+        String url = URL_API + serviceCode;
         if (param != null) {
             url += mapToUrlParam(BeanConvertUtil.beanCovertMap(param));
         }
@@ -153,5 +164,28 @@
         return list;
     }
 
+    protected ResponseEntity<String> callCenterService(RestTemplate restTemplate, IPageData pd, String param, String url, HttpMethod httpMethod) {
+        ResponseEntity<String> responseEntity = null;
+        HttpHeaders header = new HttpHeaders();
+        header.add(CommonConstant.HTTP_APP_ID.toLowerCase(), pd.getAppId());
+        header.add(CommonConstant.HTTP_USER_ID.toLowerCase(), StringUtil.isEmpty(pd.getUserId()) ? CommonConstant.ORDER_DEFAULT_USER_ID : pd.getUserId());
+        header.add(CommonConstant.HTTP_TRANSACTION_ID.toLowerCase(), pd.getTransactionId());
+        header.add(CommonConstant.HTTP_REQ_TIME.toLowerCase(), pd.getRequestTime());
+        header.add(CommonConstant.HTTP_SIGN.toLowerCase(), "");
+        HttpEntity<String> httpEntity = new HttpEntity<String>(param, header);
+        //logger.debug("璇锋眰涓績鏈嶅姟淇℃伅锛寋}", httpEntity);
+        try {
+            responseEntity = restTemplate.exchange(url, httpMethod, httpEntity, String.class);
+        } catch (HttpStatusCodeException e) { //杩欓噷spring 妗嗘灦 鍦�4XX 鎴� 5XX 鏃舵姏鍑� HttpServerErrorException 寮傚父锛岄渶瑕侀噸鏂板皝瑁呬竴涓�
+            responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(), e.getStatusCode());
+        } catch (Exception e) {
+            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        } finally {
+            logger.debug("璇锋眰鍦板潃涓�,{} 璇锋眰涓績鏈嶅姟淇℃伅锛寋},涓績鏈嶅姟杩斿洖淇℃伅锛寋}", url, httpEntity, responseEntity);
+            return responseEntity;
+        }
+
+    }
+
 
 }

--
Gitblit v1.8.0