From d475e6c059d7a54c691e2aca371d8006f32e1dc6 Mon Sep 17 00:00:00 2001 From: youle <593370963@qq.com> Date: Thu, 28 Jul 2022 20:34:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=96=B9=E6=B3=95=E4=B8=AD=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=AF=E9=80=89=E5=8F=82=E6=95=B0=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E9=83=A8=E5=88=86=E7=BB=93=E6=9E=9C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=BF=94=E5=9B=9E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/egzosn/pay/ali/api/AliPayService.java | 67 +++++-------------- 1 file changed, 17 insertions(+), 50 deletions(-) diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index f43b76f..46735da 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -1,49 +1,10 @@ package com.egzosn.pay.ali.api; -import java.util.Date; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.TreeMap; - -import static com.egzosn.pay.ali.bean.AliPayConst.ALIPAY_CERT_SN_FIELD; -import static com.egzosn.pay.ali.bean.AliPayConst.APP_AUTH_TOKEN; -import static com.egzosn.pay.ali.bean.AliPayConst.BIZ_CONTENT; -import static com.egzosn.pay.ali.bean.AliPayConst.CODE; -import static com.egzosn.pay.ali.bean.AliPayConst.DBACK_AMOUNT; -import static com.egzosn.pay.ali.bean.AliPayConst.HTTPS_REQ_URL; -import static com.egzosn.pay.ali.bean.AliPayConst.NOTIFY_URL; -import static com.egzosn.pay.ali.bean.AliPayConst.PASSBACK_PARAMS; -import static com.egzosn.pay.ali.bean.AliPayConst.PAYEE_INFO; -import static com.egzosn.pay.ali.bean.AliPayConst.PRODUCT_CODE; -import static com.egzosn.pay.ali.bean.AliPayConst.RETURN_URL; -import static com.egzosn.pay.ali.bean.AliPayConst.SIGN; -import static com.egzosn.pay.ali.bean.AliPayConst.SUCCESS_CODE; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.egzosn.pay.ali.bean.AliPayBillType; -import com.egzosn.pay.ali.bean.AliPayConst; -import com.egzosn.pay.ali.bean.AliPayMessage; -import com.egzosn.pay.ali.bean.AliRefundResult; -import com.egzosn.pay.ali.bean.AliTransactionType; -import com.egzosn.pay.ali.bean.AliTransferType; -import com.egzosn.pay.ali.bean.CertEnvironment; -import com.egzosn.pay.ali.bean.OrderSettle; +import com.egzosn.pay.ali.bean.*; import com.egzosn.pay.common.api.BasePayService; -import com.egzosn.pay.common.bean.AssistOrder; -import com.egzosn.pay.common.bean.BillType; -import com.egzosn.pay.common.bean.MethodType; -import com.egzosn.pay.common.bean.NoticeParams; -import com.egzosn.pay.common.bean.Order; -import com.egzosn.pay.common.bean.OrderParaStructure; -import com.egzosn.pay.common.bean.PayMessage; -import com.egzosn.pay.common.bean.PayOrder; -import com.egzosn.pay.common.bean.PayOutMessage; -import com.egzosn.pay.common.bean.RefundOrder; -import com.egzosn.pay.common.bean.TransactionType; -import com.egzosn.pay.common.bean.TransferOrder; -import com.egzosn.pay.common.bean.TransferType; +import com.egzosn.pay.common.bean.*; import com.egzosn.pay.common.bean.result.PayException; import com.egzosn.pay.common.exception.PayErrorException; import com.egzosn.pay.common.http.HttpConfigStorage; @@ -54,6 +15,10 @@ import com.egzosn.pay.common.util.sign.SignTextUtils; import com.egzosn.pay.common.util.sign.SignUtils; import com.egzosn.pay.common.util.str.StringUtils; +import java.util.*; + +import static com.egzosn.pay.ali.bean.AliPayConst.*; + /** * 支付宝支付服务 * @@ -485,7 +450,7 @@ public class AliPayService extends BasePayService implement */ @Override public Map query(String tradeNo, String outTradeNo) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.QUERY); + return secondaryInterface(tradeNo, outTradeNo, null, AliTransactionType.QUERY); } @@ -497,7 +462,7 @@ public class AliPayService extends BasePayService implement */ @Override public Map query(AssistOrder assistOrder) { - return secondaryInterface(assistOrder.getTradeNo(), assistOrder.getOutTradeNo(), AliTransactionType.QUERY); + return secondaryInterface(assistOrder.getTradeNo(), assistOrder.getOutTradeNo(), assistOrder.getAttrs(), AliTransactionType.QUERY); } @@ -510,7 +475,7 @@ public class AliPayService extends BasePayService implement */ @Override public Map close(String tradeNo, String outTradeNo) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CLOSE); + return secondaryInterface(tradeNo, outTradeNo, null, AliTransactionType.CLOSE); } /** @@ -521,7 +486,7 @@ public class AliPayService extends BasePayService implement */ @Override public Map close(AssistOrder assistOrder) { - return secondaryInterface(assistOrder.getTradeNo(), assistOrder.getOutTradeNo(), AliTransactionType.CLOSE); + return secondaryInterface(assistOrder.getTradeNo(), assistOrder.getOutTradeNo(), null, AliTransactionType.CLOSE); } /** @@ -536,7 +501,7 @@ public class AliPayService extends BasePayService implement */ @Override public Map cancel(String tradeNo, String outTradeNo) { - return secondaryInterface(tradeNo, outTradeNo, AliTransactionType.CANCEL); + return secondaryInterface(tradeNo, outTradeNo, null, AliTransactionType.CANCEL); } /** @@ -665,10 +630,11 @@ public class AliPayService extends BasePayService implement * @param tradeNoOrBillDate 支付平台订单号或者账单类型, 具体请 * 类型为{@link String }或者 {@link Date },类型须强制限制,类型不对应则抛出异常{@link PayErrorException} * @param outTradeNoBillType 商户单号或者 账单类型 + * @param bizContent 请求参数的集合 * @param transactionType 交易类型 * @return 返回支付方对应接口的结果 */ - public Map secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, TransactionType transactionType) { + public Map secondaryInterface(Object tradeNoOrBillDate, String outTradeNoBillType, Map bizContent, TransactionType transactionType) { if (transactionType == AliTransactionType.REFUND) { throw new PayErrorException(new PayException("failure", "通用接口不支持:" + transactionType)); @@ -685,7 +651,7 @@ public class AliPayService extends BasePayService implement Map parameters = getPublicParameters(transactionType); //设置请求参数的集合 - parameters.put(BIZ_CONTENT, getContentToJson((String) tradeNoOrBillDate, outTradeNoBillType)); + parameters.put(BIZ_CONTENT, getContentToJson((String) tradeNoOrBillDate, outTradeNoBillType, bizContent)); //设置签名 setSign(parameters); @@ -792,11 +758,12 @@ public class AliPayService extends BasePayService implement * * @param tradeNo 支付平台订单号 * @param outTradeNo 商户单号 + * @param bizContent 请求参数的集合 * @return 获取biz_content。不包含下载账单 */ - private String getContentToJson(String tradeNo, String outTradeNo) { + private String getContentToJson(String tradeNo, String outTradeNo, Map bizContent) { - return JSON.toJSONString(getBizContent(tradeNo, outTradeNo, null)); + return JSON.toJSONString(getBizContent(tradeNo, outTradeNo, bizContent)); } /** -- Gitee