From f6621a9a22a7447ccb912cd752cfe4f5a7847ee4 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 4 Sep 2023 15:37:43 +0800 Subject: [PATCH] =?UTF-8?q?update=E8=AE=A2=E5=8D=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=94=B9=E9=80=A0=E5=B7=A5=E5=8E=82=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/api/uniapp/PayController.java | 14 +++++++++++++- .../orderlogic/DelayMerchantOrderLogic.java | 15 ++++++++------- .../orderlogic/NotDelayMerchantOrderLogic.java | 5 +---- .../com/jsowell/wxpay/config/WechatPayConfig.java | 6 ++++-- .../wxpay/config/WeixinLoginProperties.java | 3 ++- 5 files changed, 28 insertions(+), 15 deletions(-) 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 76c7a792f..3266ea0f4 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 @@ -14,6 +14,9 @@ import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.dto.*; import com.jsowell.pile.service.IMemberBasicInfoService; +import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.service.orderlogic.AbstractOrderLogic; +import com.jsowell.pile.service.orderlogic.OrderLogicFactory; import com.jsowell.pile.vo.uniapp.PayModeVO; import com.jsowell.service.MemberService; import com.jsowell.service.OrderService; @@ -48,6 +51,9 @@ public class PayController extends BaseController { @Autowired private IMemberBasicInfoService memberBasicInfoService; + @Autowired + private IPileMerchantInfoService pileMerchantInfoService; + /** * 充值余额支付/微信余额充值 * 提供给小程序使用 @@ -273,7 +279,13 @@ public class PayController extends BaseController { // } dto.setOpenId(memberBasicInfo.getOpenId()); // 充值余额 附加参数 - Map weixinMap = memberService.rechargeBalanceWithAdapay(dto); + // Map weixinMap = memberService.rechargeBalanceWithAdapay(dto); + + String mode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId()); + // 获取处理逻辑 + AbstractOrderLogic orderLogic = OrderLogicFactory.getOrderLogic(mode); + Map weixinMap = orderLogic.rechargeBalance(dto); + response = new RestApiResponse<>(ImmutableMap.of("weixinMap", weixinMap)); } catch (BusinessException e) { logger.error("汇付余额充值接口 error", e); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java index 27b2e9e9d..24e12dee4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java @@ -67,7 +67,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException { - logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto)); + logger.info("【{}】-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto)); // 处理前端传的参数 analysisPileParameter(dto); @@ -185,7 +185,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { @Override public Map payOrder(PayOrderDTO dto) { - logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); + logger.info("【{}】-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); if (orderInfo == null) { throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL); @@ -220,7 +220,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Transactional(rollbackFor = Exception.class) public void balancePayOrder(PayOrderDTO dto) { - logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); + logger.info("【{}】-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); // 订单编号 String orderCode = dto.getOrderCode(); // 支付金额 @@ -328,7 +328,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { * 在线支付订单 */ public Map onlinePaymentOrder(PayOrderDTO dto) { - logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); + logger.info("【{}】-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); Map weixinMap = adapayService.createPayment(dto); return weixinMap; } @@ -337,7 +337,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { * 白名单支付订单 */ public void whitelistPaymentOrder(PayOrderDTO dto) { - logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); + logger.info("【{}】-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); String orderCode = dto.getOrderCode(); BigDecimal payAmount = dto.getPayAmount(); String payMode = dto.getPayMode(); @@ -358,7 +358,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) { - logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo)); + logger.info("【{}】-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo)); // 判断订单状态 if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) { logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode()); @@ -425,7 +425,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode()); } } catch (Exception e) { - logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e); + logger.error("【{}】-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e); } } @@ -436,6 +436,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { */ @Override public Map rechargeBalance(WeixinPayDTO dto) { + logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); // 获取支付配置 AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId()); if (config == null) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java index a8d222a90..ab550f0bf 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/NotDelayMerchantOrderLogic.java @@ -408,6 +408,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ */ @Override public Map rechargeBalance(WeixinPayDTO dto) { + logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto)); // 获取支付配置 AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId()); if (config == null) { @@ -439,10 +440,6 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ map.put("payMode", payMode); map.put("memberId", dto.getMemberId()); createAdaPaymentParam.setDescription(JSON.toJSONString(map)); - // 延时分账 - if (StringUtils.isNotBlank(payMode)) { - createAdaPaymentParam.setPay_mode(payMode); - } try { logger.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam)); Map response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId()); diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WechatPayConfig.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WechatPayConfig.java index 0a04880fc..511c166f2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WechatPayConfig.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WechatPayConfig.java @@ -5,9 +5,11 @@ import com.jsowell.wxpay.common.WeChatPayParameter; import com.jsowell.wxpay.utils.WechatPayUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; -// @Order(value = 2) -// @Component +@Order(value = 2) +@Component public class WechatPayConfig implements CommandLineRunner { /** * 公众号appid diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WeixinLoginProperties.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WeixinLoginProperties.java index 5fb089e7f..31a38be68 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WeixinLoginProperties.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/config/WeixinLoginProperties.java @@ -2,8 +2,9 @@ package com.jsowell.wxpay.config; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; -// @Component +@Component public class WeixinLoginProperties implements InitializingBean { @Value("${weixin.login.gateway}")