diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PayCloseService.java b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PayCloseService.java index 0b9c2fbab..b42ae791a 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PayCloseService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PayCloseService.java @@ -117,6 +117,8 @@ public class PayCloseService { .setClosed(StrUtil.isBlank(errMsg)) .setCloseType(closeType.getCode()) .setErrorMsg(errMsg); + // 商户号显式赋值, 不依赖线程上下文自动填充(异步通知/定时任务等非HTTP场景上下文缺失会导致填充null) + record.setMchNo(trade.getMchNo()); payCloseRecordService.saveRecord(record); } } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PaySyncService.java b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PaySyncService.java index 89f4bfe73..75b163a37 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PaySyncService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/core/trade/service/PaySyncService.java @@ -214,6 +214,8 @@ public class PaySyncService { .setAdjust(adjust) .setErrorCode(syncResult.getSyncErrorCode()) .setErrorMsg(syncResult.getSyncErrorMsg()); + // 商户号显式赋值, 不依赖线程上下文自动填充(异步通知/定时任务等非HTTP场景上下文缺失会导致填充null) + record.setMchNo(trade.getMchNo()); paySyncRecordService.saveRecord(record); } }