From 6d577f86bd0cfbec6ba9b17d59401d39fc03a7ec Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 24 Mar 2026 17:03:34 +0800
Subject: [PATCH] fix(mall): 修复会员服务中账户状态比较逻辑错误

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 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 030d529..9092165 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
@@ -17,6 +17,7 @@
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
@@ -125,6 +126,7 @@
         }
         MallExpressInfo mallExpressInfo = new MallExpressInfo();
         mallExpressInfo.setMemberId(mallOrderInfo.getMemberId());
+        mallExpressInfo.setOrderNo(mallOrderInfo.getOrderNo());
         mallExpressInfo.setOrderId(mallOrderInfo.getId());
         mallExpressInfo.setExpressNo(expressNo);
         mallExpressInfo.setExpressCom(expressCom);
@@ -140,8 +142,15 @@
     @Override
     public AdminOrderDetailVo getMallOrderDetailById(long id) {
         AdminOrderDetailVo adminOrderDetailVo = mallOrderInfoMapper.getMallOrderDetailById(id);
-        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
-        if(ObjectUtil.isNotEmpty(mallExpressInfo)){
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectOne(
+                Wrappers.lambdaQuery(MallExpressInfo.class)
+                        .eq(MallExpressInfo::getOrderId, id)
+                        .eq(MallExpressInfo::getOrderNo, adminOrderDetailVo.getOrderNo())
+                        .last("limit 1")
+        );
+
+//        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
+        if(ObjectUtil.isNotNull(mallExpressInfo)){
             adminOrderDetailVo.setExpressNo(mallExpressInfo.getExpressNo());
             adminOrderDetailVo.setExpressCom(mallExpressInfo.getExpressCom());
         }
@@ -459,7 +468,7 @@
             for(MallRefundEntity mallRefundEntityPic : records){
                 String refundPic = mallRefundEntityPic.getRefundPic();
                 if(StrUtil.isNotEmpty(refundPic)){
-                    String[] split = StrUtil.split(refundPic, ",");
+                    String[] split = refundPic.split(",");
                     mallRefundEntityPic.setRefundPicList(split);
                 }
             }
@@ -496,9 +505,15 @@
         if(StrUtil.isEmpty(expressCom)){
             return new FebsResponse().fail().message("请输入物流公司");
         }
-        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(mallOrderInfo.getId());
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectOne(
+                Wrappers.lambdaQuery(MallExpressInfo.class)
+                        .eq(MallExpressInfo::getOrderId, mallOrderInfo.getId())
+                        .eq(MallExpressInfo::getOrderNo, mallOrderInfo.getOrderNo())
+                        .last("limit 1")
+        );
+//        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(mallOrderInfo.getId());
 
-        if(ObjectUtil.isEmpty(mallExpressInfo)){
+        if(ObjectUtil.isNull(mallExpressInfo)){
             return new FebsResponse().fail().message("请先发货");
         }
         mallExpressInfo.setExpressNo(expressNo);
@@ -584,6 +599,7 @@
         MallExpressInfo mallExpressInfo = new MallExpressInfo();
         mallExpressInfo.setMemberId(mallOrderInfo.getMemberId());
         mallExpressInfo.setOrderId(mallOrderInfo.getId());
+        mallExpressInfo.setOrderNo(deliverGoodsDto.getOrderNo());
         mallExpressInfo.setExpressNo(deliverGoodsDto.getExpressNo());
         mallExpressInfo.setExpressCom(deliverGoodsDto.getExpressCom());
         mallExpressInfo.setExpressCode(deliverGoodsDto.getExpressCode());

--
Gitblit v1.9.1