Commit 503c996acdf6c4a4e6ef13aaa243445df7586f16
1 parent
e159b2e5
订单:
1、移除 deliverStatus 发货状态,暂时没作用 2、无需发货时,使用 logisticsId 进行实现 3、订单详情,增加 logisticsId 和 logisticsName 返回
Showing
9 changed files
with
42 additions
and
64 deletions
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityServiceImplTest.java
| @@ -152,19 +152,9 @@ public class CombinationActivityServiceImplTest extends BaseDbUnitTest { | @@ -152,19 +152,9 @@ public class CombinationActivityServiceImplTest extends BaseDbUnitTest { | ||
| 152 | // 准备参数 | 152 | // 准备参数 |
| 153 | CombinationActivityPageReqVO reqVO = new CombinationActivityPageReqVO(); | 153 | CombinationActivityPageReqVO reqVO = new CombinationActivityPageReqVO(); |
| 154 | reqVO.setName(null); | 154 | reqVO.setName(null); |
| 155 | - reqVO.setSpuId(null); | ||
| 156 | - reqVO.setTotalLimitCount(null); | ||
| 157 | - reqVO.setSingleLimitCount(null); | ||
| 158 | reqVO.setStartTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); | 155 | reqVO.setStartTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
| 159 | reqVO.setEndTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); | 156 | reqVO.setEndTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
| 160 | - reqVO.setUserSize(null); | ||
| 161 | - reqVO.setTotalNum(null); | ||
| 162 | - reqVO.setSuccessNum(null); | ||
| 163 | - reqVO.setOrderUserCount(null); | ||
| 164 | - reqVO.setVirtualGroup(null); | ||
| 165 | reqVO.setStatus(null); | 157 | reqVO.setStatus(null); |
| 166 | - reqVO.setLimitDuration(null); | ||
| 167 | - reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); | ||
| 168 | 158 | ||
| 169 | // 调用 | 159 | // 调用 |
| 170 | PageResult<CombinationActivityDO> pageResult = combinationActivityService.getCombinationActivityPage(reqVO); | 160 | PageResult<CombinationActivityDO> pageResult = combinationActivityService.getCombinationActivityPage(reqVO); |
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderDeliveryStatusEnum.java deleted
| 1 | -package cn.iocoder.yudao.module.trade.enums.order; | ||
| 2 | - | ||
| 3 | -import lombok.Getter; | ||
| 4 | -import lombok.RequiredArgsConstructor; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * 交易订单 - 发货状态 | ||
| 8 | - * | ||
| 9 | - * @author 芋道源码 | ||
| 10 | - */ | ||
| 11 | -@RequiredArgsConstructor | ||
| 12 | -@Getter | ||
| 13 | -public enum TradeOrderDeliveryStatusEnum { | ||
| 14 | - | ||
| 15 | - UNDELIVERED(0, "未发货"), | ||
| 16 | - DELIVERED(1, "已发货"), | ||
| 17 | - RECEIVED(2, "已收货"); | ||
| 18 | - | ||
| 19 | - /** | ||
| 20 | - * 状态值 | ||
| 21 | - */ | ||
| 22 | - private final Integer status; | ||
| 23 | - /** | ||
| 24 | - * 状态名 | ||
| 25 | - */ | ||
| 26 | - private final String name; | ||
| 27 | - | ||
| 28 | -} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| @@ -10,10 +10,12 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.*; | @@ -10,10 +10,12 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.*; | ||
| 10 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; | 10 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; |
| 11 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemRespVO; | 11 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemRespVO; |
| 12 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | 12 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; |
| 13 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | ||
| 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 15 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 15 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | 16 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| 16 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; | 17 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; |
| 18 | +import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; | ||
| 17 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 19 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 18 | import com.google.common.collect.Maps; | 20 | import com.google.common.collect.Maps; |
| 19 | import io.swagger.v3.oas.annotations.Operation; | 21 | import io.swagger.v3.oas.annotations.Operation; |
| @@ -43,7 +45,11 @@ public class AppTradeOrderController { | @@ -43,7 +45,11 @@ public class AppTradeOrderController { | ||
| 43 | @Resource | 45 | @Resource |
| 44 | private TradeOrderService tradeOrderService; | 46 | private TradeOrderService tradeOrderService; |
| 45 | @Resource | 47 | @Resource |
| 48 | + private DeliveryExpressService deliveryExpressService; | ||
| 49 | + | ||
| 50 | + @Resource | ||
| 46 | private ProductPropertyValueApi productPropertyValueApi; | 51 | private ProductPropertyValueApi productPropertyValueApi; |
| 52 | + | ||
| 47 | @Resource | 53 | @Resource |
| 48 | private TradeOrderProperties tradeOrderProperties; | 54 | private TradeOrderProperties tradeOrderProperties; |
| 49 | 55 | ||
| @@ -76,14 +82,21 @@ public class AppTradeOrderController { | @@ -76,14 +82,21 @@ public class AppTradeOrderController { | ||
| 76 | public CommonResult<AppTradeOrderDetailRespVO> getOrder(@RequestParam("id") Long id) { | 82 | public CommonResult<AppTradeOrderDetailRespVO> getOrder(@RequestParam("id") Long id) { |
| 77 | // 查询订单 | 83 | // 查询订单 |
| 78 | TradeOrderDO order = tradeOrderService.getOrder(getLoginUserId(), id); | 84 | TradeOrderDO order = tradeOrderService.getOrder(getLoginUserId(), id); |
| 85 | + if (order == null) { | ||
| 86 | + return success(null); | ||
| 87 | + } | ||
| 88 | + | ||
| 79 | // 查询订单项 | 89 | // 查询订单项 |
| 80 | List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId(order.getId()); | 90 | List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId(order.getId()); |
| 81 | // 查询商品属性 | 91 | // 查询商品属性 |
| 82 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 92 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| 83 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); | 93 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); |
| 94 | + // 查询物流公司 | ||
| 95 | + DeliveryExpressDO express = order.getLogisticsId() != null && order.getLogisticsId() > 0 ? | ||
| 96 | + deliveryExpressService.getDeliveryExpress(order.getLogisticsId()) : null; | ||
| 84 | // 最终组合 | 97 | // 最终组合 |
| 85 | return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, | 98 | return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, |
| 86 | - propertyValueDetails, tradeOrderProperties)); | 99 | + propertyValueDetails, tradeOrderProperties, express)); |
| 87 | } | 100 | } |
| 88 | 101 | ||
| 89 | @GetMapping("/page") | 102 | @GetMapping("/page") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
| @@ -80,6 +80,12 @@ public class AppTradeOrderDetailRespVO { | @@ -80,6 +80,12 @@ public class AppTradeOrderDetailRespVO { | ||
| 80 | @Schema(description = "配送方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 80 | @Schema(description = "配送方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 81 | private Integer deliveryType; | 81 | private Integer deliveryType; |
| 82 | 82 | ||
| 83 | + @Schema(description = "发货物流公司编号", example = "10") | ||
| 84 | + private Long logisticsId; | ||
| 85 | + | ||
| 86 | + @Schema(description = "发货物流名称", example = "顺丰快递") | ||
| 87 | + private String logisticsName; | ||
| 88 | + | ||
| 83 | @Schema(description = "发货物流单号", example = "1024") | 89 | @Schema(description = "发货物流单号", example = "1024") |
| 84 | private String logisticsNo; | 90 | private String logisticsNo; |
| 85 | 91 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
| @@ -25,6 +25,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.*; | @@ -25,6 +25,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.*; | ||
| 25 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; | 25 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; |
| 26 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemRespVO; | 26 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemRespVO; |
| 27 | import cn.iocoder.yudao.module.trade.dal.dataobject.cart.TradeCartDO; | 27 | import cn.iocoder.yudao.module.trade.dal.dataobject.cart.TradeCartDO; |
| 28 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | ||
| 28 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 29 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 29 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 30 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 30 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; | 31 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; |
| @@ -234,7 +235,8 @@ public interface TradeOrderConvert { | @@ -234,7 +235,8 @@ public interface TradeOrderConvert { | ||
| 234 | 235 | ||
| 235 | // TODO 芋艿:可简化 | 236 | // TODO 芋艿:可简化 |
| 236 | default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems, | 237 | default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems, |
| 237 | - List<ProductPropertyValueDetailRespDTO> propertyValueDetails, TradeOrderProperties tradeOrderProperties) { | 238 | + List<ProductPropertyValueDetailRespDTO> propertyValueDetails, TradeOrderProperties tradeOrderProperties, |
| 239 | + DeliveryExpressDO express) { | ||
| 238 | AppTradeOrderDetailRespVO orderVO = convert3(order, orderItems); | 240 | AppTradeOrderDetailRespVO orderVO = convert3(order, orderItems); |
| 239 | orderVO.setPayExpireTime(addTime(tradeOrderProperties.getExpireTime())); | 241 | orderVO.setPayExpireTime(addTime(tradeOrderProperties.getExpireTime())); |
| 240 | if (StrUtil.isNotEmpty(order.getPayChannelCode())) { | 242 | if (StrUtil.isNotEmpty(order.getPayChannelCode())) { |
| @@ -260,6 +262,9 @@ public interface TradeOrderConvert { | @@ -260,6 +262,9 @@ public interface TradeOrderConvert { | ||
| 260 | } | 262 | } |
| 261 | // 处理收货地址 | 263 | // 处理收货地址 |
| 262 | orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); | 264 | orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); |
| 265 | + if (express != null) { | ||
| 266 | + orderVO.setLogisticsId(express.getId()).setLogisticsName(express.getName()); | ||
| 267 | + } | ||
| 263 | return orderVO; | 268 | return orderVO; |
| 264 | } | 269 | } |
| 265 | 270 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
| @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | ||
| 5 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | 6 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; |
| 6 | import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum; | 7 | import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum; |
| 7 | import cn.iocoder.yudao.module.trade.enums.order.*; | 8 | import cn.iocoder.yudao.module.trade.enums.order.*; |
| @@ -174,18 +175,18 @@ public class TradeOrderDO extends BaseDO { | @@ -174,18 +175,18 @@ public class TradeOrderDO extends BaseDO { | ||
| 174 | private Integer deliveryType; | 175 | private Integer deliveryType; |
| 175 | /** | 176 | /** |
| 176 | * 发货物流公司编号 | 177 | * 发货物流公司编号 |
| 178 | + * | ||
| 179 | + * 如果无需发货,则 logisticsId 设置为 0。原因是,不想再添加额外字段 | ||
| 180 | + * | ||
| 181 | + * 关联 {@link DeliveryExpressDO#getId()} | ||
| 177 | */ | 182 | */ |
| 178 | private Long logisticsId; | 183 | private Long logisticsId; |
| 179 | /** | 184 | /** |
| 180 | * 发货物流单号 | 185 | * 发货物流单号 |
| 181 | - */ | ||
| 182 | - private String logisticsNo; | ||
| 183 | - /** | ||
| 184 | - * 发货状态 | ||
| 185 | * | 186 | * |
| 186 | - * 枚举 {@link TradeOrderDeliveryStatusEnum} | 187 | + * 如果无需发货,则 logisticsNo 设置 ""。原因是,不想再添加额外字段 |
| 187 | */ | 188 | */ |
| 188 | - private Integer deliveryStatus; | 189 | + private String logisticsNo; |
| 189 | /** | 190 | /** |
| 190 | * 发货时间 | 191 | * 发货时间 |
| 191 | */ | 192 | */ |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
| @@ -217,8 +217,8 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -217,8 +217,8 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 217 | order.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源? | 217 | order.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源? |
| 218 | // 支付信息 | 218 | // 支付信息 |
| 219 | order.setAdjustPrice(0).setPayStatus(false); | 219 | order.setAdjustPrice(0).setPayStatus(false); |
| 220 | - // 物流信息 TODO 芋艿:暂时写死物流方式;应该是前端选择的 | ||
| 221 | - order.setDeliveryType(createReqVO.getDeliveryType()).setDeliveryStatus(TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus()); | 220 | + // 物流信息 |
| 221 | + order.setDeliveryType(createReqVO.getDeliveryType()); | ||
| 222 | // 退款信息 | 222 | // 退款信息 |
| 223 | order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()).setRefundPrice(0); | 223 | order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()).setRefundPrice(0); |
| 224 | tradeOrderMapper.insert(order); | 224 | tradeOrderMapper.insert(order); |
| @@ -412,8 +412,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -412,8 +412,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 412 | } | 412 | } |
| 413 | 413 | ||
| 414 | // 更新 TradeOrderDO 状态为已发货,等待收货 | 414 | // 更新 TradeOrderDO 状态为已发货,等待收货 |
| 415 | - updateOrderObj.setStatus(TradeOrderStatusEnum.DELIVERED.getStatus()) | ||
| 416 | - .setDeliveryStatus(TradeOrderDeliveryStatusEnum.DELIVERED.getStatus()).setDeliveryTime(LocalDateTime.now()); | 415 | + updateOrderObj.setStatus(TradeOrderStatusEnum.DELIVERED.getStatus()).setDeliveryTime(LocalDateTime.now()); |
| 417 | int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), updateOrderObj); | 416 | int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), updateOrderObj); |
| 418 | if (updateCount == 0) { | 417 | if (updateCount == 0) { |
| 419 | throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED); | 418 | throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED); |
| @@ -422,7 +421,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -422,7 +421,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 422 | 421 | ||
| 423 | // 发送站内信 | 422 | // 发送站内信 |
| 424 | tradeMessageService.sendMessageWhenDeliveryOrder(new TradeOrderMessageWhenDeliveryOrderReqBO().setOrderId(order.getId()) | 423 | tradeMessageService.sendMessageWhenDeliveryOrder(new TradeOrderMessageWhenDeliveryOrderReqBO().setOrderId(order.getId()) |
| 425 | - .setUserId(userId).setMessage(TradeOrderDeliveryStatusEnum.DELIVERED.getName())); | 424 | + .setUserId(userId).setMessage(null)); |
| 426 | 425 | ||
| 427 | // TODO 芋艿:OrderLog | 426 | // TODO 芋艿:OrderLog |
| 428 | // TODO 设计:lili:是不是发货后,才支持售后? | 427 | // TODO 设计:lili:是不是发货后,才支持售后? |
| @@ -453,8 +452,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -453,8 +452,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 453 | throw exception(ORDER_NOT_FOUND); | 452 | throw exception(ORDER_NOT_FOUND); |
| 454 | } | 453 | } |
| 455 | // 校验订单是否是待发货状态 | 454 | // 校验订单是否是待发货状态 |
| 456 | - if (!TradeOrderStatusEnum.isUndelivered(order.getStatus()) | ||
| 457 | - || ObjectUtil.notEqual(order.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus())) { | 455 | + if (!TradeOrderStatusEnum.isUndelivered(order.getStatus())) { |
| 458 | throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED); | 456 | throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED); |
| 459 | } | 457 | } |
| 460 | // 校验订单是否退款 | 458 | // 校验订单是否退款 |
| @@ -480,8 +478,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -480,8 +478,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 480 | 478 | ||
| 481 | // 更新 TradeOrderDO 状态为已完成 | 479 | // 更新 TradeOrderDO 状态为已完成 |
| 482 | int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), | 480 | int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), |
| 483 | - new TradeOrderDO().setStatus(TradeOrderStatusEnum.COMPLETED.getStatus()) | ||
| 484 | - .setDeliveryStatus(TradeOrderDeliveryStatusEnum.RECEIVED.getStatus()).setReceiveTime(LocalDateTime.now())); | 481 | + new TradeOrderDO().setStatus(TradeOrderStatusEnum.COMPLETED.getStatus()).setReceiveTime(LocalDateTime.now())); |
| 485 | if (updateCount == 0) { | 482 | if (updateCount == 0) { |
| 486 | throw exception(ORDER_RECEIVE_FAIL_STATUS_NOT_DELIVERED); | 483 | throw exception(ORDER_RECEIVE_FAIL_STATUS_NOT_DELIVERED); |
| 487 | } | 484 | } |
| @@ -513,8 +510,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -513,8 +510,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 513 | throw exception(ORDER_NOT_FOUND); | 510 | throw exception(ORDER_NOT_FOUND); |
| 514 | } | 511 | } |
| 515 | // 校验订单是否是待收货状态 | 512 | // 校验订单是否是待收货状态 |
| 516 | - if (!TradeOrderStatusEnum.isDelivered(order.getStatus()) | ||
| 517 | - || ObjectUtil.notEqual(order.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.DELIVERED.getStatus())) { | 513 | + if (!TradeOrderStatusEnum.isDelivered(order.getStatus())) { |
| 518 | throw exception(ORDER_RECEIVE_FAIL_STATUS_NOT_DELIVERED); | 514 | throw exception(ORDER_RECEIVE_FAIL_STATUS_NOT_DELIVERED); |
| 519 | } | 515 | } |
| 520 | return order; | 516 | return order; |
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceTest.java
| @@ -177,7 +177,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -177,7 +177,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 177 | assertEquals(tradeOrderDO.getPayOrderId(), 1000L); | 177 | assertEquals(tradeOrderDO.getPayOrderId(), 1000L); |
| 178 | assertNull(tradeOrderDO.getPayChannelCode()); | 178 | assertNull(tradeOrderDO.getPayChannelCode()); |
| 179 | assertNull(tradeOrderDO.getLogisticsId()); | 179 | assertNull(tradeOrderDO.getLogisticsId()); |
| 180 | - assertEquals(tradeOrderDO.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus()); | ||
| 181 | assertNull(tradeOrderDO.getDeliveryTime()); | 180 | assertNull(tradeOrderDO.getDeliveryTime()); |
| 182 | assertNull(tradeOrderDO.getReceiveTime()); | 181 | assertNull(tradeOrderDO.getReceiveTime()); |
| 183 | assertEquals(tradeOrderDO.getReceiverName(), "芋艿"); | 182 | assertEquals(tradeOrderDO.getReceiverName(), "芋艿"); |
| @@ -274,8 +273,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -274,8 +273,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 274 | // mock 数据(TradeOrder) | 273 | // mock 数据(TradeOrder) |
| 275 | TradeOrderDO order = randomPojo(TradeOrderDO.class, o -> { | 274 | TradeOrderDO order = randomPojo(TradeOrderDO.class, o -> { |
| 276 | o.setId(1L).setStatus(TradeOrderStatusEnum.UNDELIVERED.getStatus()); | 275 | o.setId(1L).setStatus(TradeOrderStatusEnum.UNDELIVERED.getStatus()); |
| 277 | - o.setLogisticsId(null).setLogisticsNo(null).setDeliveryTime(null) | ||
| 278 | - .setDeliveryStatus(TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus()); | 276 | + o.setLogisticsId(null).setLogisticsNo(null).setDeliveryTime(null); |
| 279 | }); | 277 | }); |
| 280 | tradeOrderMapper.insert(order); | 278 | tradeOrderMapper.insert(order); |
| 281 | // 准备参数 | 279 | // 准备参数 |
| @@ -288,7 +286,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -288,7 +286,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 288 | // 断言 | 286 | // 断言 |
| 289 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); | 287 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); |
| 290 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.DELIVERED.getStatus()); | 288 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.DELIVERED.getStatus()); |
| 291 | - assertEquals(dbOrder.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.DELIVERED.getStatus()); | ||
| 292 | assertPojoEquals(dbOrder, deliveryReqVO); | 289 | assertPojoEquals(dbOrder, deliveryReqVO); |
| 293 | assertNotNull(dbOrder.getDeliveryTime()); | 290 | assertNotNull(dbOrder.getDeliveryTime()); |
| 294 | } | 291 | } |
| @@ -298,7 +295,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -298,7 +295,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 298 | // mock 数据(TradeOrder) | 295 | // mock 数据(TradeOrder) |
| 299 | TradeOrderDO order = randomPojo(TradeOrderDO.class, o -> { | 296 | TradeOrderDO order = randomPojo(TradeOrderDO.class, o -> { |
| 300 | o.setId(1L).setUserId(10L).setStatus(TradeOrderStatusEnum.DELIVERED.getStatus()); | 297 | o.setId(1L).setUserId(10L).setStatus(TradeOrderStatusEnum.DELIVERED.getStatus()); |
| 301 | - o.setDeliveryStatus(TradeOrderDeliveryStatusEnum.DELIVERED.getStatus()).setReceiveTime(null); | 298 | + o.setReceiveTime(null); |
| 302 | }); | 299 | }); |
| 303 | tradeOrderMapper.insert(order); | 300 | tradeOrderMapper.insert(order); |
| 304 | // 准备参数 | 301 | // 准备参数 |
| @@ -311,7 +308,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -311,7 +308,6 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 311 | // 断言 | 308 | // 断言 |
| 312 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); | 309 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); |
| 313 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.COMPLETED.getStatus()); | 310 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.COMPLETED.getStatus()); |
| 314 | - assertEquals(dbOrder.getDeliveryStatus(), TradeOrderDeliveryStatusEnum.RECEIVED.getStatus()); | ||
| 315 | assertNotNull(dbOrder.getReceiveTime()); | 311 | assertNotNull(dbOrder.getReceiveTime()); |
| 316 | } | 312 | } |
| 317 | 313 |
yudao-module-mall/yudao-module-trade-biz/src/test/resources/sql/create_tables.sql
| @@ -25,7 +25,6 @@ CREATE TABLE IF NOT EXISTS "trade_order" ( | @@ -25,7 +25,6 @@ CREATE TABLE IF NOT EXISTS "trade_order" ( | ||
| 25 | "delivery_template_id" bigint, | 25 | "delivery_template_id" bigint, |
| 26 | "logistics_id" bigint, | 26 | "logistics_id" bigint, |
| 27 | "logistics_no" varchar, | 27 | "logistics_no" varchar, |
| 28 | - "delivery_status" smallint NOT NULL, | ||
| 29 | "delivery_time" datetime, | 28 | "delivery_time" datetime, |
| 30 | "receive_time" datetime, | 29 | "receive_time" datetime, |
| 31 | "receiver_name" varchar NOT NULL, | 30 | "receiver_name" varchar NOT NULL, |