From 672ec0a719f4edb07cb37d0f1b8b486eeb1cfbbe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 19 十一月 2020 16:18:43 +0800
Subject: [PATCH] 支付宝调整

---
 utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java |   59 +++++++++++++++++++++++++++--------------------------------
 1 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java b/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java
index 529695e..5af5848 100644
--- a/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java
@@ -1,9 +1,7 @@
 package org.yeshi.utils.alipay;
 
-import com.alibaba.fastjson.JSON;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
-import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
 import com.alipay.api.request.AlipayFundAccountQueryRequest;
 import com.alipay.api.request.AlipayFundTransCommonQueryRequest;
@@ -14,7 +12,6 @@
 import net.sf.json.JSONObject;
 import org.yeshi.utils.StringUtil;
 import org.yeshi.utils.entity.alipay.AlipayAppInfo;
-import org.yeshi.utils.entity.alipay.AlipayCertInfo;
 import org.yeshi.utils.entity.alipay.AlipayTransferInfo;
 import org.yeshi.utils.exception.AlipayCommonException;
 import org.yeshi.utils.exception.AlipayTransferException;
@@ -23,42 +20,40 @@
 
 public class AlipayUtil {
 
-    public static AlipayClient getAlipayClient(AlipayAppInfo app) {
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", app.getAppId(), app.getPrivateKey(), "json", "GBK", app.getAlipayPublicKey(), "RSA2");
-        return alipayClient;
+    public static AlipayClient getAlipayClient(AlipayAppInfo app) throws AlipayApiException {
+        if (app.getCertInfo() == null) {
+            AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", app.getAppId(), app.getPrivateKey(), "json", "GBK", app.getAlipayPublicKey(), "RSA2");
+            return alipayClient;
+        } else {
+            String privateKey = app.getPrivateKey();
+            MyCertAlipayRequest certAlipayRequest = new MyCertAlipayRequest();
+            certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
+            certAlipayRequest.setAppId(app.getAppId());
+            certAlipayRequest.setPrivateKey(privateKey);
+            certAlipayRequest.setFormat("json");
+            certAlipayRequest.setCharset("GBK");
+            certAlipayRequest.setSignType("RSA2");
+            certAlipayRequest.setCertStream(
+                    app.getCertInfo().getAppCertPublicKeyStream());
+            certAlipayRequest.setAlipayPublicCertStream(
+                    app.getCertInfo().getAlipayPublicCertStream());
+            certAlipayRequest.setRootCertStream(
+                    app.getCertInfo().getAlipayRootCertStream());
+            return new CertAlipayClient(certAlipayRequest);
+        }
     }
-
-    private static AlipayClient getAlipayClient(AlipayAppInfo app, AlipayCertInfo info) throws AlipayApiException {
-        String privateKey = app.getPrivateKey();
-        MyCertAlipayRequest certAlipayRequest = new MyCertAlipayRequest();
-        certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
-        certAlipayRequest.setAppId(app.getAppId());
-        certAlipayRequest.setPrivateKey(privateKey);
-        certAlipayRequest.setFormat("json");
-        certAlipayRequest.setCharset("GBK");
-        certAlipayRequest.setSignType("RSA2");
-        certAlipayRequest.setCertStream(
-                info.getAppCertPublicKeyStream());
-        certAlipayRequest.setAlipayPublicCertStream(
-                info.getAlipayPublicCertStream());
-        certAlipayRequest.setRootCertStream(
-                info.getAlipayRootCertStream());
-        return new CertAlipayClient(certAlipayRequest);
-    }
-
 
     /**
      * 缁熶竴杞处锛堝寘鍚孩鍖呬笌杞处锛�
      *
      * @param app
      * @param info
-     * @param certInfo
      * @return
      * @throws AlipayApiException
      * @throws NumberFormatException
      * @throws AlipayTransferException
      */
-    public static AlipayFundTransUniTransferResponse alipayFundTransUniTransfer(AlipayAppInfo app, AlipayTransferInfo info, AlipayCertInfo certInfo)
+    public static AlipayFundTransUniTransferResponse alipayFundTransUniTransfer(AlipayAppInfo app, AlipayTransferInfo info)
             throws AlipayApiException, NumberFormatException, AlipayTransferException {
         AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
         com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
@@ -96,7 +91,7 @@
 
         request.setBizContent(json.toString());
         AlipayFundTransUniTransferResponse response = null;
-        response = getAlipayClient(app, certInfo).certificateExecute(request);
+        response = getAlipayClient(app).certificateExecute(request);
         // 鎴愬姛杞处
         if (response != null && response.isSuccess() && "10000".equals(response.getCode())) {
             return response;
@@ -119,8 +114,8 @@
      * @return
      * @throws AlipayApiException
      */
-    public static AlipayFundTransCommonQueryResponse getOrderDetail(AlipayAppInfo app, AlipayCertInfo certInfo, AlipayTransferInfo.AlipayProductCodeEnum productCode, AlipayTransferInfo.AlipayBizSceneEnum bizScene, String outBizNo) throws AlipayApiException, AlipayCommonException {
-        AlipayClient alipayClient = getAlipayClient(app, certInfo);
+    public static AlipayFundTransCommonQueryResponse getOrderDetail(AlipayAppInfo app, AlipayTransferInfo.AlipayProductCodeEnum productCode, AlipayTransferInfo.AlipayBizSceneEnum bizScene, String outBizNo) throws AlipayApiException, AlipayCommonException {
+        AlipayClient alipayClient = getAlipayClient(app);
         AlipayFundTransCommonQueryRequest request = new AlipayFundTransCommonQueryRequest();
         com.alibaba.fastjson.JSONObject content = new com.alibaba.fastjson.JSONObject();
         if (productCode != null)
@@ -146,8 +141,8 @@
      * @throws AlipayApiException
      * @throws AlipayCommonException
      */
-    public static BigDecimal getAccountBalance(AlipayAppInfo app, AlipayCertInfo certInfo, String userId) throws AlipayApiException, AlipayCommonException {
-        AlipayClient alipayClient = getAlipayClient(app, certInfo);
+    public static BigDecimal getAccountBalance(AlipayAppInfo app, String userId) throws AlipayApiException, AlipayCommonException {
+        AlipayClient alipayClient = getAlipayClient(app);
         AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest();
         com.alibaba.fastjson.JSONObject content = new com.alibaba.fastjson.JSONObject();
         content.put("alipay_user_id", userId);

--
Gitblit v1.8.0