From eeecad9e33c74100b1714f10f7ab2eb149ef1490 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 17 三月 2022 18:55:10 +0800
Subject: [PATCH] 加入二维码巡检功能

---
 service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatPayNotifyAdapt.java |  103 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 62 insertions(+), 41 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatPayNotifyAdapt.java b/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatPayNotifyAdapt.java
index 1ae6400..f01e6c6 100644
--- a/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatPayNotifyAdapt.java
+++ b/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatPayNotifyAdapt.java
@@ -17,24 +17,26 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.core.factory.WechatFactory;
-import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.api.properties.WechatAuthProperties;
 import com.java110.api.smo.AppAbstractComponentSMO;
+import com.java110.api.smo.DefaultAbstractComponentSMO;
+import com.java110.api.smo.IApiServiceSMO;
 import com.java110.api.smo.payment.adapt.IPayNotifyAdapt;
+import com.java110.core.factory.WechatFactory;
+import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.PayUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.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.util.*;
@@ -47,7 +49,7 @@
  */
 
 @Component(value = "wechatPayNotifyAdapt")
-public class WechatPayNotifyAdapt implements IPayNotifyAdapt {
+public class WechatPayNotifyAdapt extends DefaultAbstractComponentSMO implements IPayNotifyAdapt {
 
     private static final Logger logger = LoggerFactory.getLogger(WechatPayNotifyAdapt.class);
 
@@ -58,6 +60,9 @@
 
     @Autowired
     private WechatAuthProperties wechatAuthProperties;
+
+    @Autowired
+    private IApiServiceSMO apiServiceSMOImpl;
 
     /**
      * 棰勪笅鍗�
@@ -103,8 +108,15 @@
 
 
     public int confirmPayFee(Map<String, Object> map) {
-        String wId = map.get("wId").toString();
-        wId = wId.replace(" ", "+");
+        String appId;
+        //鍏煎 娓竵浜ゆ槗鏃� 鎴栬�呭井淇℃湁鏃朵笉浼氭帀鍙傛暟鐨勯棶棰�
+        if (map.containsKey("wId")) {
+            String wId = map.get("wId").toString();
+            wId = wId.replace(" ", "+");
+            appId = WechatFactory.getAppId(wId);
+        } else {
+            appId = map.get("appid").toString();
+        }
         SortedMap<String, String> paramMap = new TreeMap<String, String>();
         ResponseEntity<String> responseEntity = null;
         for (String key : map.keySet()) {
@@ -113,7 +125,7 @@
             }
             paramMap.put(key, map.get(key).toString());
         }
-        String appId = WechatFactory.getAppId(wId);
+        //String appId = WechatFactory.getAppId(wId);
         SmallWeChatDto smallWeChatDto = getSmallWechat(appId);
 
         if (smallWeChatDto == null) { //浠庨厤缃枃浠朵腑鑾峰彇 灏忕▼搴忛厤缃俊鎭�
@@ -152,8 +164,8 @@
         //鏌ヨ鐢ㄦ埛ID
         JSONObject paramIn = new JSONObject();
         paramIn.put("oId", outTradeNo);
-        String url = ServiceConstant.SERVICE_API_URL + "/api/fee.payFeeConfirm";
-        responseEntity = this.callCenterService(restTemplate, useId, 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;
@@ -170,8 +182,8 @@
     protected ResponseEntity<String> getUserInfoByOpenId(RestTemplate restTemplate, String openId) {
         //Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
         ResponseEntity<String> responseEntity = null;
-        responseEntity = this.callCenterService(restTemplate, "-1", "",
-                ServiceConstant.SERVICE_API_URL + "/api/" + ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + "?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
+        responseEntity = this.callCenterService(getHeaders("-1"), "",
+                ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + "?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
         // 杩囨护杩斿洖鎶ユ枃涓殑瀛楁锛屽彧杩斿洖name瀛楁
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"鎴愬姛"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
 
@@ -179,42 +191,51 @@
 
     }
 
+    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;
+    }
+
     /**
      * 璋冪敤涓績鏈嶅姟
      *
      * @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;
-    }
-
-
+//    protected ResponseEntity<String> callCenterService(RestTemplate restTemplate, String userId, String param, String url, HttpMethod httpMethod) {
+//
+//        ResponseEntity<String> responseEntity = null;
+//        Map<String, String> headers = new HashMap<>();
+//        headers.add(CommonConstant.HTTP_APP_ID.toLowerCase(), APP_ID);
+//        headers.add(CommonConstant.HTTP_USER_ID.toLowerCase(), userId);
+//        headers.add(CommonConstant.HTTP_TRANSACTION_ID.toLowerCase(), UUID.randomUUID().toString());
+//        headers.add(CommonConstant.HTTP_REQ_TIME.toLowerCase(), DateUtil.getDefaultFormateTimeString(new Date()));
+//        headers.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);
+//            apiServiceSMOImpl.service()
+//        } 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 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