From 8caab85abe253a08485fe3edb50fafb8a1d02c45 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 17 Aug 2023 12:05:21 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=88=9B=E5=BB=BA=E6=92=A4=E9=94=80?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=EF=BC=8C=E6=94=BE=E5=85=A5=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/api/uniapp/PayController.java | 2 +- .../jsowell/adapay/service/AdapayMemberService.java | 12 ++++++++++-- .../java/com/jsowell/pile/dto/ApplyRefundDTO.java | 2 +- .../pile/service/impl/OrderBasicInfoServiceImpl.java | 9 ++++++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 6d143aab3..8c73a5734 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -298,7 +298,7 @@ public class PayController extends BaseController { } dto.setMemberId(memberId); String appId = request.getHeader("appId"); - dto.setMerchantKey(appId); + dto.setWechatAppId(appId); dto.setRefundType("2"); orderService.adapayRefund(dto); response = new RestApiResponse<>(); diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java index 98997a8de..b6bfdec4f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java @@ -663,7 +663,7 @@ public class AdapayMemberService { * 延迟分账未确认, 调交易撤销接口退款 * @param wechatAppId 微信小程序appId */ - public PaymentReverseResponse createPaymentReverseRequest(String paymentId, BigDecimal reverseAmt, String wechatAppId) { + public PaymentReverseResponse createPaymentReverseRequest(String paymentId, BigDecimal reverseAmt, String wechatAppId, String memberId, String scenarioType, String orderCode) { PaymentReverseResponse response; AbstractAdapayConfig config = AdapayConfigFactory.getConfig(wechatAppId); if (config == null) { @@ -676,7 +676,15 @@ public class AdapayMemberService { reverseParams.put("reverse_amt", AdapayUtil.formatAmount(reverseAmt)); reverseParams.put("order_no", IdUtils.fastSimpleUUID()); reverseParams.put("notify_url", ADAPAY_CALLBACK_URL); - reverseParams.put("", ""); + // expand 为扩展域 + Map expendMap = Maps.newHashMap(); + expendMap.put("memberId", memberId); + expendMap.put("scenarioType", scenarioType); + if (StringUtils.isNotBlank(orderCode)) { + expendMap.put("orderCode", orderCode); + } + reverseParams.put("expand", expendMap); + // reverseParams.put("reason", "reason"); Map paymentReverse = null; try { paymentReverse = PaymentReverse.create(reverseParams, config.getWechatAppId()); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java index 42b67c4e5..8d453e285 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java @@ -45,5 +45,5 @@ public class ApplyRefundDTO { /** * 汇付需要merchantKey,取小程序appId传给它 */ - private String merchantKey; + private String wechatAppId; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 1d9cb62d9..75f198167 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -941,7 +941,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 汇付退款需要一级运营商的小程序appId, 否则会退款失败 PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.selectPileMerchantInfoById(orderBasicInfo.getMerchantId()); if (pileMerchantInfo != null) { - applyRefundDTO.setMerchantKey(pileMerchantInfo.getAppId()); + applyRefundDTO.setWechatAppId(pileMerchantInfo.getAppId()); } this.refundOrderWithAdapay(applyRefundDTO); } @@ -2393,7 +2393,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { adapayMemberService.createRefundRequest(paymentId, refundAmount); } else { // 延迟分账未确认调撤销调撤销接口退款 - PaymentReverseResponse response = adapayMemberService.createPaymentReverseRequest(paymentId, refundAmount, dto.getMerchantKey()); + PaymentReverseResponse response = adapayMemberService.createPaymentReverseRequest( + paymentId, refundAmount, dto.getWechatAppId(), dto.getMemberId(), ScenarioEnum.ORDER.getValue(), + dto.getOrderCode()); if (response != null) { MemberAdapayRecord record = memberAdapayRecordService.selectByPaymentId(paymentId); BigDecimal reverseAmt = new BigDecimal(response.getReverse_amt()); @@ -2436,7 +2438,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { BigDecimal deductionAmount = vo.getDeductionAmount(); // 调汇付的交易撤销接口 - adapayMemberService.createPaymentReverseRequest(paymentId, deductionAmount, dto.getMerchantKey()); + adapayMemberService.createPaymentReverseRequest(paymentId, deductionAmount, dto.getWechatAppId(), + dto.getMemberId(), ScenarioEnum.BALANCE.getValue(), null); // 更新这笔交易的剩余金额 MemberAdapayRecord record = memberAdapayRecordService.selectByPaymentId(paymentId);