diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 457de728d..15f71dde1 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -6,6 +6,7 @@ import com.jsowell.common.UserAgentUtils; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.redis.RedisCache; +import com.jsowell.common.enums.adapay.AdapayPayChannelEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.enums.ykc.ScenarioEnum; import com.jsowell.common.exception.BusinessException; @@ -134,10 +135,13 @@ public class PayController extends BaseController { Map map = null; if (isLock) { String appId = request.getHeader("appId"); - dto.setWechatAppId(appId); - // 设置请求来源 dto.setRequestSource(UserAgentUtils.determineRequestSource(request)); + if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.WX_LITE.getValue())) { + dto.setWechatAppId(appId); + } else if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.ALIPAY_LITE.getValue())) { + dto.setAlipayAppId(appId); + } map = orderService.payOrderV2(dto); } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 81e5992dd..c56875ba9 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -197,9 +197,17 @@ public class OrderService { * @param dto */ public Map payOrderV2(PayOrderDTO dto) { - String mode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId()); + // String mode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId()); + + String delayMode = null; + if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.WX_LITE.getValue())) { + delayMode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId()); + } else if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.ALIPAY_LITE.getValue())) { + delayMode = pileMerchantInfoService.getDelayModeByAlipayAppId(dto.getAlipayAppId()); + } + // 获取处理逻辑 - AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode); + AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(delayMode); Map map = orderLogic.payOrder(dto); return map; }