From 1bfb09fc24fddfdc09ac9425a4bcaa352e404e53 Mon Sep 17 00:00:00 2001 From: DaxPay Date: Thu, 31 Oct 2024 11:29:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(reconcile):=20=E4=BF=AE=E5=A4=8D=E5=AF=B9?= =?UTF-8?q?=E8=B4=A6=E5=B7=AE=E5=BC=82=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 ReconcileDiscrepancyService 中的比较逻辑,解决远程和本地都存在时的差异判断问题 - 修改 WechatPayReconcileService 中的状态处理,确保正确设置交易状态 --- .../wechat/service/reconcile/WechatPayReconcileService.java | 2 -- .../service/reconcile/ReconcileDiscrepancyService.java | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/reconcile/WechatPayReconcileService.java b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/reconcile/WechatPayReconcileService.java index ee948746..d2782f45 100644 --- a/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/reconcile/WechatPayReconcileService.java +++ b/daxpay-single-channel/daxpay-single-wechat/src/main/java/org/dromara/daxpay/channel/wechat/service/reconcile/WechatPayReconcileService.java @@ -140,14 +140,12 @@ public class WechatPayReconcileService { case WxPayConstants.ResultCode.FAIL -> tradeBo.setTradeStatus(TradeStatusEnum.FAIL.getCode()); case WxPayConstants.RefundStatus.CHANGE -> tradeBo.setTradeStatus(TradeStatusEnum.EXCEPTION.getCode()); } - tradeBo.setTradeStatus(TradeStatusEnum.SUCCESS.getCode()); } // 撤销状态 if (Objects.equals(billDetail.getTradeState(), WxPayConstants.WxpayTradeStatus.REVOKED)) { tradeBo.setTradeType(TradeTypeEnum.PAY.getCode()) .setTradeStatus(TradeStatusEnum.REVOKED.getCode()); } - return tradeBo; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/org/dromara/daxpay/service/service/reconcile/ReconcileDiscrepancyService.java b/daxpay-single/daxpay-single-service/src/main/java/org/dromara/daxpay/service/service/reconcile/ReconcileDiscrepancyService.java index e4e3b43d..35787965 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/org/dromara/daxpay/service/service/reconcile/ReconcileDiscrepancyService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/org/dromara/daxpay/service/service/reconcile/ReconcileDiscrepancyService.java @@ -92,8 +92,8 @@ public class ReconcileDiscrepancyService { discrepancies.add(reconcileAssistService.buildDiscrepancy(statement,channelDetail)); continue; } - // 如果远程和本地都存在, 比对差异 - if (this.reconcileDiff(channelDetail, localTrade)) { + // 如果远程和本地都存在, 判断是否有差异 + if (!this.reconcileDiff(channelDetail, localTrade)) { discrepancies.add(reconcileAssistService.buildDiscrepancy(statement, localTrade, channelDetail)); } } @@ -109,7 +109,7 @@ public class ReconcileDiscrepancyService { } /** - * 判断订单之间存是否有差异 + * 判断订单之间存是否有差异, 没有差异返回true, 有差异返回false * @param outDetail 下载的对账订单(通道交易) * @param localTrade 本地交易订单(平台交易) */