diff --git a/src/main/java/com/gxwebsoft/common/core/service/EnvironmentAwarePaymentService.java b/src/main/java/com/gxwebsoft/common/core/service/EnvironmentAwarePaymentService.java index 2155cc9..bf6ae24 100644 --- a/src/main/java/com/gxwebsoft/common/core/service/EnvironmentAwarePaymentService.java +++ b/src/main/java/com/gxwebsoft/common/core/service/EnvironmentAwarePaymentService.java @@ -50,15 +50,26 @@ public class EnvironmentAwarePaymentService { return null; } - // 根据环境调整回调地址 + // 开发/测试环境允许强制覆盖,方便本地联调。 + if (isDevelopmentEnvironment()) { + Payment envPayment = clonePayment(payment); + String notifyUrl = getEnvironmentNotifyUrl(); + log.info("环境感知支付配置(开发/测试) - 环境: {}, 原始回调: {}, 覆盖后回调: {}", + activeProfile, payment.getNotifyUrl(), notifyUrl); + envPayment.setNotifyUrl(notifyUrl); + return envPayment; + } + + // 生产/其它环境:优先使用数据库中的 notifyUrl(多租户域名可能不同)。 + if (payment.getNotifyUrl() != null && !payment.getNotifyUrl().trim().isEmpty()) { + return payment; + } + + // 数据库未配置时才兜底使用环境配置。 Payment envPayment = clonePayment(payment); String notifyUrl = getEnvironmentNotifyUrl(); - - log.info("环境感知支付配置 - 环境: {}, 原始回调: {}, 调整后回调: {}", - activeProfile, payment.getNotifyUrl(), notifyUrl); - + log.info("环境感知支付配置(兜底) - 环境: {}, 原始回调为空,兜底回调: {}", activeProfile, notifyUrl); envPayment.setNotifyUrl(notifyUrl); - return envPayment; } diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java index 5a4a292..da73b60 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java @@ -133,6 +133,22 @@ public class ShopOrderServiceImpl extends ServiceImpl= 0) { + return u.substring(0, idx + "/api".length()); + } + // Fallback: treat notifyUrl itself as base. + return u; + } + private String prepaySnapshotKey(Payment payment, String outTradeNo) { return WECHAT_PREPAY_SNAPSHOT_KEY_PREFIX + payment.getMchId() + ":" + outTradeNo; } @@ -188,16 +204,21 @@ public class ShopOrderServiceImpl extends ServiceImpl