From 8000d61f1b7ecb642bb2af6ceec5d5c9a6b39881 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 16 Jun 2022 18:14:36 +0800
Subject: [PATCH] fix refund amount

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |   29 +++++++++++++----------------
 1 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index da38eb6..62111f4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -2,11 +2,14 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallOrderService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.mall.vo.*;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -19,6 +22,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Slf4j
@@ -46,6 +50,8 @@
     private final MallMemberPaymentMapper mallMemberPaymentMapper;
 
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final IMallMoneyFlowService mallMoneyFlowService;
+
 
     @Override
     public IPage<MallOrderInfo> findOrderListInPage(MallOrderInfo mallOrderInfo, QueryRequest request) {
@@ -149,15 +155,11 @@
         mallOrderInfoMapper.updateById(mallOrderInfo);
 
         if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){
+            BigDecimal amount = mallOrderRefund.getAmount();
             //用户钱包增加对应的余额
-            iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId());
-            //新增一条资金流水
-            MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
-            mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId());
-            mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo());
-            mallMoneyFlow.setType(4);
-            mallMoneyFlow.setAmount(mallOrderInfo.getAmount());
-            mallMoneyFlowMapper.insert(mallMoneyFlow);
+            iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId());
+
+            mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
         }
 
         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
@@ -221,17 +223,12 @@
         mallOrderInfo.setStatus(6);
         mallOrderInfoMapper.updateById(mallOrderInfo);
 
+        BigDecimal refundAmount = mallOrderRefund.getAmount();
         //用户钱包增加对应的余额
-        iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId());
+        iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId());
 
         //新增一条资金流水
-        MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
-        mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId());
-        mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo());
-        mallMoneyFlow.setType(4);
-        mallMoneyFlow.setAmount(mallOrderInfo.getAmount());
-        mallMoneyFlowMapper.insert(mallMoneyFlow);
-
+        mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
         return new FebsResponse().success();
     }
 

--
Gitblit v1.9.1