From ca4662481a96825dffab34118fbfb6b18a92923e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 03 七月 2020 19:23:50 +0800
Subject: [PATCH] 优化 事务

---
 java110-core/src/main/java/com/java110/core/base/AppBase.java |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/base/AppBase.java b/java110-core/src/main/java/com/java110/core/base/AppBase.java
index b57f0e9..20861a4 100644
--- a/java110-core/src/main/java/com/java110/core/base/AppBase.java
+++ b/java110-core/src/main/java/com/java110/core/base/AppBase.java
@@ -2,8 +2,16 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.context.IPageData;
 import com.java110.utils.cache.BaseCache;
+import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.log.LoggerEngine;
+import com.java110.utils.util.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.*;
+import org.springframework.web.client.HttpStatusCodeException;
+import org.springframework.web.client.RestTemplate;
 
 import java.util.List;
 import java.util.Map;
@@ -12,6 +20,7 @@
  * Created by wuxw on 2017/4/10.
  */
 public class AppBase extends BaseCache {
+    private static final Logger logger = LoggerFactory.getLogger(AppBase.class);
 
 
     private final static String SERVICE_CASE_JSON_EXCEPTION = "101";//杞琷son寮傚父
@@ -30,7 +39,7 @@
             reqJson = JSONObject.parseObject(jsonParam);
         } catch (Exception e) {
             //鎶涘嚭杞琷son寮傚父
-            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION+"璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONObjcet瀵硅薄锛�", e);
+            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION + "璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONObjcet瀵硅薄锛�", e);
         } finally {
             LoggerEngine.debug("鎶ユ枃绠�鍗曟牎楠宻impleValidateJSON缁撴潫锛屽嚭鍙備负锛�" + reqJson);
         }
@@ -52,9 +61,9 @@
             reqMap = JSONObject.toJavaObject(reqJson, Map.class);
         } catch (Exception e) {
             //鎶涘嚭杞琷son寮傚父
-            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION+"璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONObjcet瀵硅薄锛�", e);
+            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION + "璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONObjcet瀵硅薄锛�", e);
         } finally {
-            LoggerEngine.debug("鎶ユ枃绠�鍗曟牎楠宻impleValidateJSON缁撴潫锛屽嚭鍙備负锛�" , reqMap);
+            LoggerEngine.debug("鎶ユ枃绠�鍗曟牎楠宻impleValidateJSON缁撴潫锛屽嚭鍙備负锛�", reqMap);
         }
         return reqMap;
     }
@@ -68,12 +77,12 @@
     public List<Map> simpleValidateJSONArrayReturnList(String jsonParam) {
         List<Map> reqMap = null;
         try {
-            reqMap = JSONArray.parseArray(jsonParam,Map.class);
+            reqMap = JSONArray.parseArray(jsonParam, Map.class);
         } catch (Exception e) {
             //鎶涘嚭杞琷son寮傚父
-            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION+"璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONArray瀵硅薄锛�", e);
+            throw new RuntimeException(SERVICE_CASE_JSON_EXCEPTION + "璇锋眰鎶ユ枃鏍煎紡閿欒String鏃犳硶杞崲涓篔SONArray瀵硅薄锛�", e);
         } finally {
-            LoggerEngine.debug("鎶ユ枃绠�鍗曟牎楠宻impleValidateJSON缁撴潫锛屽嚭鍙備负锛�" , reqMap);
+            LoggerEngine.debug("鎶ユ枃绠�鍗曟牎楠宻impleValidateJSON缁撴潫锛屽嚭鍙備负锛�", reqMap);
         }
         return reqMap;
     }
@@ -108,4 +117,32 @@
         return null;
     }
 
+    /**
+     * 璋冪敤涓績鏈嶅姟
+     *
+     * @return
+     */
+    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(), CommonConstant.HC_WEB_APP_ID);
+        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