From c6ac1561db0b2f1c8e3a799d7f49808f4bae67c7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 27 May 2025 15:55:58 +0800
Subject: [PATCH] refactor(mall): 优化订单收货类型判断逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 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 773a97d..8c2676e 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
@@ -683,9 +683,16 @@
 
         String takeCode = dto.getTakeCode();
 
+        List<Integer> orderStates = Arrays.asList(
+                OrderStatusEnum.WAIT_SHIPPING.getValue(),
+                OrderStatusEnum.WAIT_FINISH.getValue(),
+                OrderStatusEnum.FINISH.getValue()
+        );
+
         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectOne(
                 new LambdaQueryWrapper<MallOrderInfo>()
                         .eq(MallOrderInfo::getTakeCode, takeCode)
+                        .in(MallOrderInfo::getStatus, orderStates)
                         .last("limit 1")
         );
 
@@ -703,7 +710,7 @@
         List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectList(
                 new LambdaQueryWrapper<MallOrderItem>()
                         .eq(MallOrderItem::getOrderId, mallOrderInfo.getId())
-                        .eq(MallOrderItem::getLeaderState, StateUpDownEnum.DOWN.getCode())
+//                        .eq(MallOrderItem::getLeaderState, StateUpDownEnum.DOWN.getCode())
                 );
         if(CollUtil.isNotEmpty(mallOrderItems)){
             for(MallOrderItem item : mallOrderItems){
@@ -714,6 +721,7 @@
                 apiHappyOrderLeaderVo.setOrderId(mallOrderInfo.getId());
                 apiHappyOrderLeaderVo.setOrderState(mallOrderInfo.getStatus());
                 apiHappyOrderLeaderVo.setTakeCode(takeCode);
+                apiHappyOrderLeaderVo.setItemId(item.getId());
                 apiHappyOrderLeaderVo.setGoodsName(item.getGoodsName());
                 apiHappyOrderLeaderVo.setGoodsSku(item.getSkuName());
                 apiHappyOrderLeaderVo.setGoodsCnt(item.getCnt());
@@ -744,6 +752,10 @@
         if(mallOrderInfo == null){
             throw new FebsException("订单不存在!");
         }
+        if(mallOrderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()){
+            throw new FebsException("订单不是待收货状态!");
+        }
+
 
         MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(mallOrderInfo.getTakeUniqueCode());
         if(mallTeamLeader==null){

--
Gitblit v1.9.1