From 6539b325b5ce95d1fafa864c75a32279c954167f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 07 Feb 2025 11:03:31 +0800
Subject: [PATCH] refactor(mall): 重构订单退款流程

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   25 ++++++++-----------------
 1 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 534d61d..c1e9602 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -900,23 +900,16 @@
     @Transactional
     public FebsResponse refundOrder(Long id) {
         MallMember member = LoginUserUtil.getLoginUser();
-        MallOrderInfo mallOrderInfo = this.baseMapper.selectById(id);
-        if(ObjectUtil.isEmpty(mallOrderInfo)){
-            return new FebsResponse().fail().message("订单不存在");
-        }
+        MallOrderInfo mallOrderInfo = ValidateEntityUtils
+                .ensureColumnReturnEntity(id, MallOrderInfo::getId, this.baseMapper::selectOne, "订单不存在");
         Integer status = mallOrderInfo.getStatus();
-        if(OrderStatusEnum.WAIT_SHIPPING.getValue() != status){
-            return new FebsResponse().fail().message("订单不是待发货状态");
-        }
         Integer deliveryState = mallOrderInfo.getDeliveryState();
-        if(1 != deliveryState){
-            return new FebsResponse().fail().message("订单不是待配送状态");
-        }
+
+        ValidateEntityUtils.ensureEqual(OrderStatusEnum.WAIT_SHIPPING.getValue(),status,"订单不是待发货状态");
+        ValidateEntityUtils.ensureEqual(1,deliveryState,"订单不是待配送状态");
         //根据子订单生成退款记录
-        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
-        if(CollUtil.isEmpty(mallOrderItemList)){
-            return new FebsResponse().fail().message("订单不存在");
-        }
+        List<MallOrderItem> mallOrderItemList = ValidateEntityUtils
+                .ensureColumnReturnEntityList(id, MallOrderItem::getOrderId, mallOrderItemMapper::selectList, "订单不存在");
         for(MallOrderItem mallOrderItem : mallOrderItemList){
             QueryWrapper<MallRefundEntity> objectQueryWrapper = new QueryWrapper<>();
             objectQueryWrapper.eq("member_id",member.getId());
@@ -940,9 +933,7 @@
                 mallRefundEntity.setAmount(mallOrderItem.getAmount());
                 mallRefundMapper.insert(mallRefundEntity);
             }else{
-                if(mallRefund.getState() == 1){
-                    return new FebsResponse().fail().message("订单已退款");
-                }
+                ValidateEntityUtils.ensureNotEqual(1,mallRefund.getState(),"订单已退款");
                 if(mallRefund.getState() == 2 || mallRefund.getState() == 3){
                     mallRefundEntity.setId(mallRefund.getId());
                     mallRefundEntity.setRefundNo(mallRefund.getRefundNo());

--
Gitblit v1.9.1