From e557a029d54e8387cefeaf34ae8d04c06f18fd8a Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 19 Jan 2024 09:56:14 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B6=85=E6=97=B6=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=80=80=E6=AC=BE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) 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 0fbb531a8..c7b4ca341 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 @@ -2084,20 +2084,27 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { // return; // } + BigDecimal orderAmount = orderBasicInfo.getOrderAmount() == null ? BigDecimal.ZERO : orderBasicInfo.getOrderAmount(); + if (orderAmount.compareTo(BigDecimal.ZERO) > 0) { + return; + } + // 如果超时关闭的订单,存在支付信息,都退款处理 List orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode); logger.info("校验未支付订单orderCode:{}, 支付信息:{}", orderCode, JSON.toJSONString(orderPayRecordList)); - for (OrderPayRecord orderPayRecord : orderPayRecordList) { - List paymentInfos = orderPayRecordService.parseDeductionRecord(orderPayRecord.getDeductionRecord()); - for (PaymentInfo paymentInfo : paymentInfos) { - String paymentId = paymentInfo.getPaymentId(); - BigDecimal payAmt = new BigDecimal(paymentInfo.getAmount()); - if (MerchantDelayModeEnum.DELAY.getMode().equals(delayMode)) { - // 延时分账商户,创建交易撤销请求 - adapayService.createPaymentReverseRequest(paymentId, payAmt, wechatAppId, memberId, ScenarioEnum.ORDER.getValue(), orderCode); - } else { - // 实时分账商户,创建交易退款请求 - adapayService.createRefundRequest(paymentId, payAmt, wechatAppId, memberId, ScenarioEnum.ORDER.getValue(), orderCode); + if (CollectionUtils.isNotEmpty(orderPayRecordList)) { + for (OrderPayRecord orderPayRecord : orderPayRecordList) { + List paymentInfos = orderPayRecordService.parseDeductionRecord(orderPayRecord.getDeductionRecord()); + for (PaymentInfo paymentInfo : paymentInfos) { + String paymentId = paymentInfo.getPaymentId(); + BigDecimal payAmt = new BigDecimal(paymentInfo.getAmount()); + if (MerchantDelayModeEnum.DELAY.getMode().equals(delayMode)) { + // 延时分账商户,创建交易撤销请求 + adapayService.createPaymentReverseRequest(paymentId, payAmt, wechatAppId, memberId, ScenarioEnum.ORDER.getValue(), orderCode); + } else { + // 实时分账商户,创建交易退款请求 + adapayService.createRefundRequest(paymentId, payAmt, wechatAppId, memberId, ScenarioEnum.ORDER.getValue(), orderCode); + } } } }