From 74e97e2671c3105d4c0275fdbbfa54d4fd26a297 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 1 Sep 2023 16:14:04 +0800 Subject: [PATCH] =?UTF-8?q?update=20=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 --- .../orderlogic/AbstractOrderLogic.java | 5 +++ .../orderlogic/DelayMerchantOrderLogic.java | 38 ++++++++++-------- .../NotDelayMerchantOrderLogic.java | 39 +++++++++++-------- 3 files changed, 50 insertions(+), 32 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java index 0e7f1fbfe..ed400d97d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/AbstractOrderLogic.java @@ -116,6 +116,11 @@ public abstract class AbstractOrderLogic implements InitializingBean { */ public abstract void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo); + /** + * 订单退款 + */ + public abstract void refundOrder(OrderBasicInfo orderBasicInfo); + /** 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 eead0e30b..bd4fd0f4f 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 @@ -367,21 +367,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { transactionService.doUpdateOrder(dto); // 订单退款 - 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); - } + refundOrder(orderBasicInfo); // 将卡/vin状态解锁 if (!StringUtils.equals("0000000000000000", data.getLogicCard())) { @@ -416,10 +402,30 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { } } + @Override + public void refundOrder(OrderBasicInfo 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); + } + } + /** * 余额支付订单退款 */ - private void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + @Transactional(rollbackFor = Exception.class) + public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode(); 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 a63763aa5..6a3c004d3 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 @@ -29,6 +29,7 @@ import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO; import com.jsowell.wxpay.dto.WechatSendMsgDTO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.ParseException; @@ -350,21 +351,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ transactionService.doUpdateOrder(dto); // 订单退款 - 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); - } + refundOrder(orderBasicInfo); // 将卡/vin状态解锁 if (!StringUtils.equals("0000000000000000", data.getLogicCard())) { @@ -387,6 +374,25 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ logger.info("结算订单end:{} OrderTransactionDTO:{}", orderBasicInfo.getOrderCode(), JSONObject.toJSONString(dto)); } + @Override + public void refundOrder(OrderBasicInfo 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); + } + } + // uniApp 发送停止充电订阅消息 private void sendMsg(OrderBasicInfo orderBasicInfo) { try { @@ -404,7 +410,8 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{ * * @param orderBasicInfo */ - private void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { + @Transactional(rollbackFor = Exception.class) + public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) { logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo)); // 订单编号 String orderCode = orderBasicInfo.getOrderCode();