From d4e1929dcab147030d3bcae89b1801250fd6a5da Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 25 四月 2019 11:25:43 +0800
Subject: [PATCH] 优化feign 异常处理
---
java110-core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java | 54 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 42 insertions(+), 12 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java b/java110-core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java
index fd5c17a..161b9c0 100644
--- a/java110-core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java
+++ b/java110-core/src/main/java/com/java110/core/base/smo/BaseServiceSMO.java
@@ -1,17 +1,22 @@
package com.java110.core.base.smo;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.java110.common.log.LoggerEngine;
+import com.java110.common.constant.CommonConstant;
import com.java110.common.util.ProtocolUtil;
import com.java110.core.base.AppBase;
import com.java110.core.context.AppContext;
-import com.java110.feign.base.IPrimaryKeyService;
-import org.apache.commons.lang3.math.NumberUtils;
-
-import java.util.List;
-import java.util.Map;
+import com.java110.core.context.IPageData;
+import com.java110.core.smo.code.IPrimaryKeyInnerServiceSMO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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;
/**
* 鎵�鏈夋湇鍔$鐨勫熀绫�
@@ -21,6 +26,7 @@
*/
public class BaseServiceSMO extends AppBase {
+ private static final Logger logger = LoggerFactory.getLogger(BaseServiceSMO.class);
/**
* 涓婚敭鐢熸垚
@@ -29,9 +35,9 @@
* @return
* @throws Exception
*/
- protected String queryPrimaryKey(IPrimaryKeyService iPrimaryKeyService,String type) throws Exception{
+ protected String queryPrimaryKey(IPrimaryKeyInnerServiceSMO iPrimaryKeyService, String type) throws Exception {
JSONObject data = new JSONObject();
- data.put("type",type);
+ data.put("type", type);
//鐢熸垚鐨処D
String targetId = "-1";
//瑕佹眰鎺ュ彛杩斿洖 {"RESULT_CODE":"0000","RESULT_INFO":{"user_id":"7020170411000041"},"RESULT_MSG":"鎴愬姛"}
@@ -50,6 +56,33 @@
return targetId;
}
+ /**
+ * 璋冪敤涓績鏈嶅姟
+ * @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(), CommonConstant.ORDER_DEFAULT_USER_ID);
+ 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("璇锋眰涓績鏈嶅姟淇℃伅锛寋}",responseEntity);
+ return responseEntity;
+ }
+
+ }
+
/**
* 鍒涘缓涓婁笅鏂囧璞�
@@ -58,9 +91,6 @@
protected AppContext createApplicationContext(){
return AppContext.newInstance();
}
-
-
-
}
--
Gitblit v1.8.0