From 1fc8fde81cbf79ebe95e927f9099cf94c2ccc6e5 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 15 May 2025 17:39:04 +0800
Subject: [PATCH] refactor(mall): 优化退款流程和逻辑
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 61 ++++++++++++++++++------------
1 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index 022811b..4cc2cb2 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -441,15 +441,6 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
- mallMoneyFlowService.addMoneyFlow(
- mallOrderInfo.getMemberId(),
- refundAmount,
- ScoreFlowTypeEnum.REFUND.getValue(),
- mallOrderInfo.getOrderNo(),
- FlowTypeEnum.BALANCE.getValue(),
- StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount),
- 2
- );
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
if(CollUtil.isEmpty(mallOrderItemList)){
@@ -457,19 +448,38 @@
mallOrderRefund.setStatus(6);
mallOrderInfoMapper.updateById(mallOrderRefund);
}
- memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance");
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance");
+ mallMoneyFlowService.addMoneyFlow(
+ mallOrderInfo.getMemberId(),
+ refundAmount,
+ ScoreFlowTypeEnum.REFUND.getValue(),
+ mallOrderInfo.getOrderNo(),
+ FlowTypeEnum.BALANCE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount),
+ 2
+ );
+ }
return new FebsResponse().success().message("退款成功");
}
Boolean flag = false;
Boolean debug = xcxProperties.getDebug();
if (debug) {
- boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null);
- flag = b;
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null);
+ flag = b;
+ }else{
+ flag = true;
+ }
} else {
- log.info("开始调用退款接口。。。退款编号为{}", refundNo);
- boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null);
- flag = b;
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ log.info("开始调用退款接口。。。退款编号为{}", refundNo);
+ boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null);
+ flag = b;
+ }else{
+ flag = true;
+ }
}
if(flag){
@@ -491,16 +501,17 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
-
- mallMoneyFlowService.addMoneyFlow(
- mallOrderInfo.getMemberId(),
- refundAmount,
- ScoreFlowTypeEnum.WECHAT_REFUND.getValue(),
- mallOrderInfo.getOrderNo(),
- FlowTypeEnum.BALANCE.getValue(),
- StrUtil.format(ScoreFlowTypeEnum.WECHAT_REFUND.getDesc(),refundAmount),
- 2
- );
+ if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
+ mallMoneyFlowService.addMoneyFlow(
+ mallOrderInfo.getMemberId(),
+ refundAmount,
+ ScoreFlowTypeEnum.WECHAT_REFUND.getValue(),
+ mallOrderInfo.getOrderNo(),
+ FlowTypeEnum.BALANCE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.WECHAT_REFUND.getDesc(),refundAmount),
+ 2
+ );
+ }
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
if(CollUtil.isEmpty(mallOrderItemList)){
--
Gitblit v1.9.1