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 769f3532b..eead0e30b 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 @@ -7,7 +7,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.jsowell.adapay.operation.PaymentReverseOperation; import com.jsowell.adapay.response.PaymentReverseResponse; -import com.jsowell.adapay.vo.OrderSettleResult; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.enums.AcquirerEnum; @@ -367,8 +366,22 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { dto.setOrderDetail(orderDetail); transactionService.doUpdateOrder(dto); - // 订单支付结算and退款, delay商户部分解冻并退款, 非delay商户全部解冻并退款 - orderPaymentSettlementAndRefund(orderBasicInfo); + // 订单退款 + try { + String payMode = orderBasicInfo.getPayMode(); + if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) { + // 余额支付 + balancePaymentOrderRefund(orderBasicInfo); + } else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { + // 微信支付 + onlinePaymentOrderRefund(orderBasicInfo); + } else { + // 白名单支付 + logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode()); + } + } catch (Exception e) { + logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e); + } // 将卡/vin状态解锁 if (!StringUtils.equals("0000000000000000", data.getLogicCard())) { @@ -403,45 +416,6 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { } } - /** - * 订单分账逻辑 - * 订单结算完成,就执行清分and退款 - */ - private OrderSettleResult orderPaymentSettlementAndRefund(OrderBasicInfo orderBasicInfo) { - String merchantId = orderBasicInfo.getMerchantId(); - String orderCode = orderBasicInfo.getOrderCode(); - // 获取一级运营商信息 - PileMerchantInfo merchantInfo = pileMerchantInfoService.getFirstLevelMerchantByMerchantId(merchantId); - if (merchantInfo == null) { - logger.info("订单分账逻辑-订单:{}, 查不到一级运营商信息", orderCode); - return null; - } - - // 获取结算账户信息 - AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId); - if (adapayMemberAccount == null) { - logger.info("订单分账逻辑-订单:{}, 运营商id:{}, 没有配置结算账户信息", orderCode, merchantId); - return null; - } - - try { - String payMode = orderBasicInfo.getPayMode(); - if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) { - // 余额支付 - balancePaymentOrderRefund(orderBasicInfo); - } else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { - // 微信支付 - onlinePaymentOrderRefund(orderBasicInfo); - } else { - // 白名单支付 - logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode()); - } - } catch (Exception e) { - logger.error("订单退款逻辑异常orderCode:{}", orderBasicInfo.getOrderCode(), e); - } - return 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 961ed212e..a63763aa5 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 @@ -5,7 +5,6 @@ import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.jsowell.adapay.response.RefundResponse; -import com.jsowell.adapay.vo.OrderSettleResult; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.enums.AcquirerEnum; @@ -350,8 +349,22 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ dto.setOrderDetail(orderDetail); transactionService.doUpdateOrder(dto); - // 订单支付结算and退款, delay商户部分解冻并退款, 非delay商户全部解冻并退款 - orderPaymentSettlementAndRefund(orderBasicInfo); + // 订单退款 + try { + String payMode = orderBasicInfo.getPayMode(); + if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) { + // 余额支付 + balancePaymentOrderRefund(orderBasicInfo); + } else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { + // 微信支付 + onlinePaymentOrderRefund(orderBasicInfo); + } else { + // 白名单支付 + logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode()); + } + } catch (Exception e) { + logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e); + } // 将卡/vin状态解锁 if (!StringUtils.equals("0000000000000000", data.getLogicCard())) { @@ -386,45 +399,6 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ } } - /** - * 订单分账逻辑 - * 订单结算完成,就执行清分and退款 - */ - private OrderSettleResult orderPaymentSettlementAndRefund(OrderBasicInfo orderBasicInfo) { - String merchantId = orderBasicInfo.getMerchantId(); - String orderCode = orderBasicInfo.getOrderCode(); - // 获取一级运营商信息 - PileMerchantInfo merchantInfo = pileMerchantInfoService.getFirstLevelMerchantByMerchantId(merchantId); - if (merchantInfo == null) { - logger.info("订单分账逻辑-订单:{}, 查不到一级运营商信息", orderCode); - return null; - } - - // 获取结算账户信息 - AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId); - if (adapayMemberAccount == null) { - logger.info("订单分账逻辑-订单:{}, 运营商id:{}, 没有配置结算账户信息", orderCode, merchantId); - return null; - } - - try { - String payMode = orderBasicInfo.getPayMode(); - if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) { - // 余额支付 - balancePaymentOrderRefund(orderBasicInfo); - } else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) { - // 微信支付 - onlinePaymentOrderRefund(orderBasicInfo); - } else { - // 白名单支付 - logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode()); - } - } catch (Exception e) { - logger.error("订单退款逻辑异常orderCode:{}", orderBasicInfo.getOrderCode(), e); - } - return null; - } - /** * 余额支付订单退款 *