KKSU
2025-01-22 d7f01edd56f2f8a822ceffa9240fa22e4763d7e4
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -6,6 +6,7 @@
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.utils.ValidateEntityUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -25,6 +26,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Slf4j
@@ -83,7 +85,9 @@
                                .append("*").append(mallOrderItem.getCnt()).append(";");
                        if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){
                            MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId());
                            adminMallOrderInfoVo.setRefererName(mallMember.getName());
                            if(ObjectUtil.isNotEmpty(mallMember)){
                                adminMallOrderInfoVo.setRefererName(mallMember.getName());
                            }
                        }
                    }
                    adminMallOrderInfoVo.setGoodsName(stringBuffer.toString());
@@ -100,32 +104,27 @@
    @Override
    public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) {
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId());
        if(ObjectUtil.isEmpty(mallOrderInfo)){
            return new FebsResponse().fail().message("订单不存在,刷新后重试");
        }
        Integer status = mallOrderInfo.getStatus();
        if(2 != 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 = new MallExpressInfo();
        mallExpressInfo.setMemberId(mallOrderInfo.getMemberId());
        mallExpressInfo.setOrderId(mallOrderInfo.getId());
        mallExpressInfo.setExpressNo(expressNo);
        mallExpressInfo.setExpressCom(expressCom);
        mallExpressInfoMapper.insert(mallExpressInfo);
        MallOrderInfo mallOrderInfo = ValidateEntityUtils.ensureColumnReturnEntity(
                deliverGoodsDto.getId(),
                MallOrderInfo::getId,
                mallOrderInfoMapper::selectOne,
                "订单{}不存在");
        ValidateEntityUtils.ensureEqual(mallOrderInfo.getStatus(), OrderStatusEnum.WAIT_SHIPPING.getValue(), "订单状态不是待发货状态");
        ValidateEntityUtils.ensureEqual(mallOrderInfo.getDeliveryType(), 2, "订单的配送方式不是快递");
//        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 = new MallExpressInfo();
//        mallExpressInfo.setMemberId(mallOrderInfo.getMemberId());
//        mallExpressInfo.setOrderId(mallOrderInfo.getId());
//        mallExpressInfo.setExpressNo(expressNo);
//        mallExpressInfo.setExpressCom(expressCom);
//        mallExpressInfoMapper.insert(mallExpressInfo);
        mallOrderInfoMapper.updateOrderStateAndDeliveryState(mallOrderInfo.getId(),
                OrderStatusEnum.WAIT_FINISH.getValue(),
@@ -455,34 +454,16 @@
    @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);
        MallOrderInfo mallOrderInfo = ValidateEntityUtils.ensureColumnReturnEntity(
                deliverGoodsDto.getId(),
                MallOrderInfo::getId,
                mallOrderInfoMapper::selectOne,
                "订单{}不存在");
        ValidateEntityUtils.ensureEqual(mallOrderInfo.getStatus(), OrderStatusEnum.WAIT_FINISH.getValue(), "订单不是待收货状态");
        ValidateEntityUtils.ensureEqual(mallOrderInfo.getDeliveryType(), 2, "订单的配送方式不是快递");
        mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
        mallOrderInfo.setReceivingTime(new Date());
        mallOrderInfoMapper.updateById(mallOrderInfo);
        return new FebsResponse().success();
    }