From 3721d9e4c1f79b7b38d89db3a73c62135640be64 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 24 五月 2022 15:52:04 +0800
Subject: [PATCH] 优化代码

---
 service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java b/service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java
index abb9698..40da16d 100644
--- a/service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java
+++ b/service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java
@@ -10,9 +10,12 @@
 import com.alipay.api.response.AlipayTradeQueryResponse;
 import com.java110.acct.smo.IQrCodePaymentSMO;
 import com.java110.core.factory.CommunitySettingFactory;
+import com.java110.core.log.LoggerFactory;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.WechatConstant;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
 import org.springframework.stereotype.Service;
 
 /**
@@ -20,6 +23,9 @@
  */
 @Service
 public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
+
+    private static Logger logger = LoggerFactory.getLogger(QrCodeAliPaymentAdapt.class);
+
     /**
      * APP_ID 搴旂敤id
      */
@@ -47,6 +53,10 @@
      * 鏍煎紡鍖�
      */
     public final static String FORMAT = "json";
+    /**
+     * 鏍煎紡鍖�
+     */
+    public final static String APP_AUTH_TOKEN = "APP_AUTH_TOKEN";
 
     /**
      * 绛惧悕绫诲瀷
@@ -58,10 +68,13 @@
         String systemName = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.PAY_GOOD_NAME);
 
         AlipayClient alipayClient = new DefaultAlipayClient(GETEWAY_URL,
-                CommunitySettingFactory.getValue(communityId,"APP_ID"),
-                CommunitySettingFactory.getRemark(communityId,"APP_PRIVATE_KEY"),
-                "json", "utf-8", CommunitySettingFactory.getRemark(communityId,"ALIPAY_PUBLIC_KEY"), "RSA2");
+                CommunitySettingFactory.getValue(communityId, "APP_ID"),
+                CommunitySettingFactory.getRemark(communityId, "APP_PRIVATE_KEY"),
+                "json", "UTF-8", CommunitySettingFactory.getRemark(communityId, "ALIPAY_PUBLIC_KEY"), "RSA2");
         AlipayTradePayRequest request = new AlipayTradePayRequest();
+        if (!StringUtil.isEmpty(CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN))) {
+            request.putOtherTextParam("app_auth_token", CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN));
+        }
         JSONObject bizContent = new JSONObject();
         bizContent.put("out_trade_no", orderNum);
         bizContent.put("total_amount", money);
@@ -70,25 +83,33 @@
         bizContent.put("auth_code", authCode);
         request.setBizContent(bizContent.toString());
         AlipayTradePayResponse response = alipayClient.execute(request);
-        if (response.isSuccess()) {
+        logger.debug("鏀粯瀹濊繑鍥�:" + JSONObject.toJSONString(response));
+        if ("10000".equals(response.getCode()) && response.isSuccess()) {
             System.out.println("璋冪敤鎴愬姛");
         } else {
             System.out.println("璋冪敤澶辫触");
         }
 
-        if (response.isSuccess()) {
+        if ("10000".equals(response.getCode()) && response.isSuccess()) {
             return new ResultVo(ResultVo.CODE_OK, "鎴愬姛");
         } else {
-            return new ResultVo(ResultVo.CODE_ERROR, response.getSubMsg());
+            return new ResultVo(ResultVo.CODE_ERROR, StringUtil.isEmpty(response.getSubMsg())?"绛夊緟鐢ㄦ埛鏀粯":response.getSubMsg());
         }
     }
 
     @Override
     public ResultVo checkPayFinish(String communityId, String orderNum) {
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "app_id", "your private_key", "json", "GBK", "alipay_public_key", "RSA2");
+        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
+                CommunitySettingFactory.getValue(communityId, "APP_ID"),
+                CommunitySettingFactory.getRemark(communityId, "APP_PRIVATE_KEY"),
+                "json", "UTF-8",
+                CommunitySettingFactory.getRemark(communityId, "ALIPAY_PUBLIC_KEY"), "RSA2");
         AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
+        if (!StringUtil.isEmpty(CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN))) {
+            request.putOtherTextParam("app_auth_token", CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN));
+        }
         request.setBizContent("{" +
-                "  \"out_trade_no\":\""+orderNum+"\"," +
+                "  \"out_trade_no\":\"" + orderNum + "\"," +
                 "  \"trade_no\":\"\"," +
                 "  \"query_options\":[" +
                 "    \"trade_settle_info\"" +
@@ -100,7 +121,7 @@
         } catch (AlipayApiException e) {
             return new ResultVo(ResultVo.CODE_ERROR, "鏌ヨ澶辫触" + e.getErrMsg());
         }
-
+        logger.debug("鏀粯瀹濊繑鍥�:" + JSONObject.toJSONString(response));
         if (!"10000".equals(response.getCode())) {
             return new ResultVo(ResultVo.CODE_ERROR, response.getMsg());
         }

--
Gitblit v1.8.0