From 4ee86eb0f4984bf3ede3196ad8c5fe95e8c5a504 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 15 六月 2022 19:05:02 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatOweFeeToNotifyAdapt.java | 88 +++++++++++++++++++-------------------------
1 files changed, 38 insertions(+), 50 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatOweFeeToNotifyAdapt.java b/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatOweFeeToNotifyAdapt.java
index fd11b4d..db5a723 100644
--- a/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatOweFeeToNotifyAdapt.java
+++ b/service-api/src/main/java/com/java110/api/smo/payment/adapt/wechatPay/WechatOweFeeToNotifyAdapt.java
@@ -17,24 +17,25 @@
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.core.factory.WechatFactory;
+import com.java110.core.log.LoggerFactory;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.smallWeChat.SmallWeChatDto;
-import com.java110.api.properties.WechatAuthProperties;
-import com.java110.api.smo.payment.adapt.IOweFeeToNotifyAdapt;
import com.java110.utils.cache.CommonCache;
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;
import com.java110.utils.util.StringUtil;
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.util.*;
@@ -47,7 +48,7 @@
*/
@Component(value = "wechatOweFeeToNotifyAdapt")
-public class WechatOweFeeToNotifyAdapt implements IOweFeeToNotifyAdapt {
+public class WechatOweFeeToNotifyAdapt extends DefaultAbstractComponentSMO implements IOweFeeToNotifyAdapt {
private static final Logger logger = LoggerFactory.getLogger(WechatOweFeeToNotifyAdapt.class);
@@ -66,7 +67,7 @@
* @return
* @throws Exception
*/
- public String confirmPayFee(String param,String wId) {
+ public String confirmPayFee(String param, String wId) {
String resXml = "";
try {
Map<String, Object> map = PayUtil.getMapFromXML(param);
@@ -103,8 +104,16 @@
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 +122,7 @@
}
paramMap.put(key, map.get(key).toString());
}
- String appId = WechatFactory.getAppId(wId);
+
SmallWeChatDto smallWeChatDto = getSmallWechat(appId);
if (smallWeChatDto == null) { //浠庨厤缃枃浠朵腑鑾峰彇 灏忕▼搴忛厤缃俊鎭�
@@ -140,8 +149,8 @@
JSONObject paramIn = JSONObject.parseObject(order);
paramIn.put("oId", orderId);
freshFees(paramIn);
- String url = ServiceConstant.SERVICE_API_URL + "/api/fee.payOweFee";
- responseEntity = this.callCenterService(restTemplate, "-1", paramIn.toJSONString(), url, HttpMethod.POST);
+ String url = "fee.payOweFee";
+ responseEntity = this.callCenterService(getHeaders("-1"), paramIn.toJSONString(), url, HttpMethod.POST);
if (responseEntity.getStatusCode() != HttpStatus.OK) {
return 0;
@@ -156,55 +165,34 @@
JSONArray fees = paramIn.getJSONArray("fees");
JSONObject fee = null;
- for(int feeIndex = 0; feeIndex < fees.size();feeIndex ++){
+ for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
fee = fees.getJSONObject(feeIndex);
- if(fee.containsKey("deadlineTime")){
- fee.put("startTime",fee.getString("endTime"));
- fee.put("endTime",fee.getString("deadlineTime"));
- fee.put("receivedAmount",fee.getString("feePrice"));
- fee.put("state","");
+ if (fee.containsKey("deadlineTime")) {
+ fee.put("startTime", fee.getString("endTime"));
+ fee.put("endTime", fee.getString("deadlineTime"));
+ fee.put("receivedAmount", fee.getString("feePrice"));
+ fee.put("state", "");
}
}
}
- /**
- * 璋冪敤涓績鏈嶅姟
- *
- * @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(), "");
- header.add("Content-Type", "application/json");
- 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