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/AdminMallOrderService.java |   70 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 7 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 62e7c88..f010894 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,10 +2,7 @@
 
 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.common.enumerates.OrderDeliveryStateEnum;
-import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
+import cc.mrbird.febs.common.enumerates.*;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
@@ -56,6 +53,7 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final IMallMoneyFlowService mallMoneyFlowService;
     private final MallRefundMapper mallRefundMapper;
+    private final MallMemberMapper mallMemberMapper;
 
 
     @Override
@@ -79,7 +77,13 @@
                         stringBuffer.append(mallOrderItem.getGoodsName())
                                 .append("-")
                                 .append(mallOrderItem.getSkuName())
-                                .append("*").append(mallOrderItem.getCnt()).append(";");
+                                .append("*").append(mallOrderItem.getCnt()).append(";");
+                        if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){
+                            MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId());
+                            if(ObjectUtil.isNotEmpty(mallMember)){
+                                adminMallOrderInfoVo.setRefererName(mallMember.getName());
+                            }
+                        }
                     }
                     adminMallOrderInfoVo.setGoodsName(stringBuffer.toString());
                 }
@@ -187,7 +191,15 @@
             //用户钱包增加对应的余额
             iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId());
 
-            mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+            mallMoneyFlowService.addMoneyFlow(
+                    mallOrderInfo.getMemberId(),
+                    amount,
+                    ScoreFlowTypeEnum.REFUND.getValue(),
+                    mallOrderInfo.getOrderNo(),
+                    FlowTypeEnum.BALANCE.getValue(),
+                    StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),amount),
+                    2
+            );
         }
 
         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
@@ -256,7 +268,17 @@
         iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId());
 
         //新增一条资金流水
-        mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+
+
+        mallMoneyFlowService.addMoneyFlow(
+                mallOrderInfo.getMemberId(),
+                refundAmount,
+                ScoreFlowTypeEnum.REFUND.getValue(),
+                mallOrderInfo.getOrderNo(),
+                FlowTypeEnum.BALANCE.getValue(),
+                StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount),
+                2
+        );
         return new FebsResponse().success();
     }
 
@@ -449,6 +471,40 @@
     }
 
     @Override
+    public FebsResponse deliverGoodsUpdate(DeliverGoodsDto deliverGoodsDto) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId());
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,刷新后重试");
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(3 != status){
+            return new FebsResponse().fail().message("订单不是待收货状态");
+        }
+        Integer deliveryType = mallOrderInfo.getDeliveryType();
+        if(2 != deliveryType){
+            return new FebsResponse().fail().message("订单的配送方式不是快递");
+        }
+        String expressNo = deliverGoodsDto.getExpressNo();
+        if(StrUtil.isEmpty(expressNo)){
+            return new FebsResponse().fail().message("请输入物流单号");
+        }
+        String expressCom = deliverGoodsDto.getExpressCom();
+        if(StrUtil.isEmpty(expressCom)){
+            return new FebsResponse().fail().message("请输入物流公司");
+        }
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(mallOrderInfo.getId());
+
+        if(ObjectUtil.isEmpty(mallExpressInfo)){
+            return new FebsResponse().fail().message("请先发货");
+        }
+        mallExpressInfo.setExpressNo(expressNo);
+        mallExpressInfo.setExpressCom(expressCom);
+        mallExpressInfoMapper.updateById(mallExpressInfo);
+
+        return new FebsResponse().success();
+    }
+
+    @Override
     public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
         if (mallOrderInfo == null) {

--
Gitblit v1.9.1