From 7e5ed0e7b50567342946eb3e9dfaf5a213b0e7a9 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 11 一月 2022 11:04:55 +0800
Subject: [PATCH] 支持 接入商自定义

---
 service-api/src/main/java/com/java110/api/smo/payment/adapt/chinaums/ChinaUmsPayNotifyAdapt.java |   57 ++++++++++++++++++++-------------------------------------
 1 files changed, 20 insertions(+), 37 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/payment/adapt/chinaums/ChinaUmsPayNotifyAdapt.java b/service-api/src/main/java/com/java110/api/smo/payment/adapt/chinaums/ChinaUmsPayNotifyAdapt.java
index 19db40e..c07944c 100644
--- a/service-api/src/main/java/com/java110/api/smo/payment/adapt/chinaums/ChinaUmsPayNotifyAdapt.java
+++ b/service-api/src/main/java/com/java110/api/smo/payment/adapt/chinaums/ChinaUmsPayNotifyAdapt.java
@@ -17,12 +17,13 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.api.properties.WechatAuthProperties;
+import com.java110.api.smo.DefaultAbstractComponentSMO;
+import com.java110.api.smo.payment.adapt.IOweFeeToNotifyAdapt;
+import com.java110.api.smo.payment.adapt.IPayNotifyAdapt;
 import com.java110.core.factory.WechatFactory;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
-import com.java110.api.properties.WechatAuthProperties;
-import com.java110.api.smo.payment.adapt.IPayNotifyAdapt;
 import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.PayUtil;
@@ -30,9 +31,10 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
-import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
 import java.io.UnsupportedEncodingException;
@@ -56,7 +58,7 @@
  */
 
 @Component(value = "chinaUmsPayNotifyAdapt")
-public class ChinaUmsPayNotifyAdapt implements IPayNotifyAdapt {
+public class ChinaUmsPayNotifyAdapt extends DefaultAbstractComponentSMO implements IPayNotifyAdapt {
 
     private static final Logger logger = LoggerFactory.getLogger(ChinaUmsPayNotifyAdapt.class);
 
@@ -135,8 +137,8 @@
         //鏌ヨ鐢ㄦ埛ID
         JSONObject paramIn = new JSONObject();
         paramIn.put("oId", outTradeNo.substring(4));
-        String url = ServiceConstant.SERVICE_API_URL + "/api/fee.payFeeConfirm";
-        responseEntity = this.callCenterService(restTemplate, "-1", paramIn.toJSONString(), url, HttpMethod.POST);
+        String url = "fee.payFeeConfirm";
+        responseEntity = this.callCenterService(getHeaders("-1"), paramIn.toJSONString(), url, HttpMethod.POST);
 
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return 0;
@@ -175,41 +177,22 @@
         System.out.printf("sign:" + sign);
     }
 
-    /**
-     * 璋冪敤涓績鏈嶅姟
-     *
-     * @return
-     */
-    protected ResponseEntity<String> callCenterService(RestTemplate restTemplate, String userId, String param, String url, HttpMethod httpMethod) {
-
-        ResponseEntity<String> responseEntity = null;
-        HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_APP_ID.toLowerCase(), APP_ID);
-        header.add(CommonConstant.HTTP_USER_ID.toLowerCase(), userId);
-        header.add(CommonConstant.HTTP_TRANSACTION_ID.toLowerCase(), UUID.randomUUID().toString());
-        header.add(CommonConstant.HTTP_REQ_TIME.toLowerCase(), DateUtil.getDefaultFormateTimeString(new Date()));
-        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;
+    private Map<String, String> getHeaders(String userId) {
+        Map<String, String> headers = new HashMap<>();
+        headers.put(CommonConstant.HTTP_APP_ID.toLowerCase(), APP_ID);
+        headers.put(CommonConstant.HTTP_USER_ID.toLowerCase(), userId);
+        headers.put(CommonConstant.HTTP_TRANSACTION_ID.toLowerCase(), UUID.randomUUID().toString());
+        headers.put(CommonConstant.HTTP_REQ_TIME.toLowerCase(), DateUtil.getDefaultFormateTimeString(new Date()));
+        headers.put(CommonConstant.HTTP_SIGN.toLowerCase(), "");
+        return headers;
     }
-
 
     private SmallWeChatDto getSmallWechat(String appId) {
 
         ResponseEntity responseEntity = null;
 
-        responseEntity = this.callCenterService(restTemplate, "-1", "",
-                ServiceConstant.SERVICE_API_URL + "/api/smallWeChat.listSmallWeChats?appId="
+        responseEntity = this.callCenterService(getHeaders("-1"), "",
+                "smallWeChat.listSmallWeChats?appId="
                         + appId + "&page=1&row=1", HttpMethod.GET);
 
         if (responseEntity.getStatusCode() != HttpStatus.OK) {

--
Gitblit v1.8.0