Administrator
2025-07-03 ba11b8586b1f3a6b072d787719083a792e1d1671
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -34,6 +34,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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;
@@ -871,8 +872,15 @@
            }
        }
        MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
        if(ObjectUtil.isNotEmpty(expressInfo)){
        MallExpressInfo expressInfo = expressInfoMapper.selectOne(
                Wrappers.lambdaQuery(MallExpressInfo.class)
                        .eq(MallExpressInfo::getOrderId, orderInfo.getId())
                        .eq(MallExpressInfo::getOrderNo, orderInfo.getOrderNo())
                        .last("limit 1")
        );
//        MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
        if(ObjectUtil.isNotNull(expressInfo)){
            orderDetailVo.setExpressNo(expressInfo.getExpressNo());
            orderDetailVo.setExpressCom(expressInfo.getExpressCom());
        }
@@ -896,7 +904,13 @@
    @Transactional(rollbackFor = Exception.class)
    public void confirmOrder(Long id) {
        MallMember member = LoginUserUtil.getLoginUser();
        MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id);
//        MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id);
        MallOrderInfo orderInfo = this.baseMapper.selectOne(
                new LambdaQueryWrapper<MallOrderInfo>()
                .eq(MallOrderInfo::getMemberId, member.getId())
                .eq(MallOrderInfo::getId, id)
                .last("limit 1")
        );
        if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
            throw new FebsException("订单不存在");
        }
@@ -904,6 +918,16 @@
        if (orderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()) {
            throw new FebsException("该状态不能确认收货");
        }
        if(orderInfo.getDeliveryType().equals(1)){
            List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectList(
                    new LambdaQueryWrapper<MallOrderItem>()
                            .eq(MallOrderItem::getOrderId, id)
                            .eq(MallOrderItem::getLeaderState, 0)
            );
            if(CollUtil.isNotEmpty(mallOrderItems)){
                throw new FebsException("请先核销"+mallOrderItems.get(0).getGoodsName());
            }
        }
        List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(null, orderInfo.getId(), 3);
        if(CollUtil.isNotEmpty(mallRefundEntities)){