From d7f01edd56f2f8a822ceffa9240fa22e4763d7e4 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 22 Jan 2025 15:42:40 +0800 Subject: [PATCH] refactor(mall): 重构订单发货相关代码 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 89 +++++++++++++++++--------------------------- 1 files changed, 34 insertions(+), 55 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 8ecc688..4d909ae 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 @@ -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,7 @@ .append("*").append(mallOrderItem.getCnt()).append(";"); if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){ MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId()); - if(ObjectUtil.isEmpty(mallMember)){ + if(ObjectUtil.isNotEmpty(mallMember)){ adminMallOrderInfoVo.setRefererName(mallMember.getName()); } } @@ -102,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(), @@ -457,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(); } -- Gitblit v1.9.1