diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/merchant/service/route/runtime/PayRouteService.java b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/merchant/service/route/runtime/PayRouteService.java index 799d6a1b2..40546a030 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/merchant/service/route/runtime/PayRouteService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/merchant/service/route/runtime/PayRouteService.java @@ -11,7 +11,6 @@ import cn.daxpay.open.payment.merchant.service.route.model.RouteHit; import cn.daxpay.open.payment.merchant.entity.route.strategy.PayRouteStrategy; import cn.daxpay.open.payment.merchant.service.route.model.PayRouteBundle; import cn.daxpay.open.payment.strategy.ProductStrategySupport; -import cn.daxpay.open.payment.route.PayRouteFacade; import cn.daxpay.open.payment.strategy.product.AbsProductStrategy; import cn.daxpay.open.payment.unipay.param.trade.pay.NormalPayParam; import cn.daxpay.open.platform.common.i18n.util.I18nUtil; @@ -25,12 +24,11 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.List; import java.util.Objects; /// # 支付通道路由服务 /// -/// 实现 PayRouteFacade,供 NormalPayService 在支付流程中调用。 +/// 供支付流程(NormalPayService / GatewayPayHandleService)调用。 /// 两种解析路径: /// 1. 直定模式:已传 channelMchNo,跳过路由,由 channelMchNo 推导产品;capability 必填,method 未传时由能力反推。 /// 2. 路由模式:按 appId 加载策略,经基础/场景模式匹配后回填 product/channelMchNo/capability。 @@ -38,7 +36,7 @@ import java.util.Objects; @Slf4j @Service @RequiredArgsConstructor -public class PayRouteService implements PayRouteFacade { +public class PayRouteService { private final PayRouteStrategyManager strategyManager; private final PayRouteSceneConfigManager sceneConfigManager; @@ -48,7 +46,6 @@ public class PayRouteService implements PayRouteFacade { private final PayRouteStrategyCapabilitySupport payRouteStrategyCapabilitySupport; /// 实付路由解析:直定模式优先,否则按策略模式匹配 - @Override public void resolve(NormalPayParam payParam) { // 直定模式:指定通道商户号,跳过路由 if (StrUtil.isNotBlank(payParam.getChannelMchNo())) { diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/trade/runtime/service/pay/NormalPayService.java b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/trade/runtime/service/pay/NormalPayService.java index 8c3d77816..ff1951b5d 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/trade/runtime/service/pay/NormalPayService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/cn/daxpay/open/payment/trade/runtime/service/pay/NormalPayService.java @@ -10,7 +10,7 @@ import cn.daxpay.open.payment.strategy.PaymentStrategyFactory; import cn.daxpay.open.payment.trade.runtime.bo.PayTradeResultBo; import cn.daxpay.open.payment.trade.order.dao.PayTradeManager; import cn.daxpay.open.payment.trade.order.entity.PayTrade; -import cn.daxpay.open.payment.route.PayRouteFacade; +import cn.daxpay.open.payment.merchant.service.route.runtime.PayRouteService; import cn.daxpay.open.payment.strategy.pay.AbsNormalPayStrategy; import cn.daxpay.open.payment.strategy.pay.PayStrategyContext; import cn.daxpay.open.payment.unipay.param.trade.pay.NormalPayParam; @@ -37,7 +37,7 @@ public class NormalPayService { private final PayUniHandleService payUniHandleService; private final LockTemplate lockTemplate; private final PayTradeManager payTradeManager; - private final PayRouteFacade payRouteFacade; + private final PayRouteService payRouteService; private final MerchantContextLoader merchantContextLoader; /// 支付入口 @@ -66,7 +66,7 @@ public class NormalPayService { var mchApp = merchantContextLoader.resolveApp(payParam.getMchNo(), payParam.getAppId()); payParam.setAppId(mchApp.getAppId()); // 路由解析:直定模式(已传 channelMchNo)直接解析,否则按 appId+method 策略匹配 - payRouteFacade.resolve(payParam); + payRouteService.resolve(payParam); var payStrategy = PaymentStrategyFactory.createByProduct(payParam.getProduct(), AbsNormalPayStrategy.class); // 支付前处理: 校验与通道配置组装(只依赖请求参数), 失败直接抛出不持久化(订单尚未创建) var context = new PayStrategyContext().setPayParam(payParam);