From 63d684c9725695a58a3094b5ffc272baf2ef49ee Mon Sep 17 00:00:00 2001 From: chc <1501738723@qq.com> Date: Wed, 18 Sep 2024 15:16:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=A2=9E=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=8F=91=E8=B4=A7=E7=8A=B6=E6=80=81=E3=80=82=20?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=8F=91=E8=B4=A7=E6=97=A0=E6=B3=95=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=94=AE=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/order/entity/enums/DeliverStatusEnum.java | 1 + .../order/order/entity/enums/OrderStatusEnum.java | 1 + .../modules/order/order/entity/vo/AllowOperation.java | 6 +++--- .../order/order/serviceimpl/OrderServiceImpl.java | 10 ++++++++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/DeliverStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/DeliverStatusEnum.java index f381d80e..be0c19b0 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/DeliverStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/DeliverStatusEnum.java @@ -12,6 +12,7 @@ public enum DeliverStatusEnum { * 发货状态 */ UNDELIVERED("未发货"), + PARTS_DELIVERED("部分发货"), DELIVERED("已发货"), RECEIVED("已收货"); diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderStatusEnum.java index 8c3b7f89..9d673fe7 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderStatusEnum.java @@ -14,6 +14,7 @@ public enum OrderStatusEnum { UNPAID("未付款"), PAID("已付款"), UNDELIVERED("待发货"), + PARTS_DELIVERED("部分发货"), DELIVERED("已发货"), COMPLETED("已完成"), STAY_PICKED_UP("待自提"), diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AllowOperation.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AllowOperation.java index 7458bd22..7dfc0575 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AllowOperation.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AllowOperation.java @@ -73,18 +73,18 @@ public class AllowOperation implements Serializable { //可编辑订单收件人信息=实物订单 && 订单未发货 && 订单未取消 && 订单不是自提 this.editConsignee = order.getOrderType().equals(OrderTypeEnum.NORMAL.name()) - && order.getDeliverStatus().equals(DeliverStatusEnum.UNDELIVERED.name()) + && (order.getDeliverStatus().equals(DeliverStatusEnum.UNDELIVERED.name()) || order.getDeliverStatus().equals(DeliverStatusEnum.PARTS_DELIVERED.name())) && !status.equals(OrderStatusEnum.CANCELLED.name()) && !order.getDeliveryMethod().equals(DeliveryMethodEnum.SELF_PICK_UP.name()); //是否允许被发货 - this.ship = editConsignee && status.equals(OrderStatusEnum.UNDELIVERED.name()); + this.ship = editConsignee && (status.equals(OrderStatusEnum.UNDELIVERED.name()) || order.getDeliverStatus().equals(DeliverStatusEnum.PARTS_DELIVERED.name())); //是否允许被收货 this.rog = status.equals(OrderStatusEnum.DELIVERED.name()); //是否允许查看物流信息 - this.showLogistics = order.getDeliverStatus().equals(DeliverStatusEnum.DELIVERED.name()) && status.equals(OrderStatusEnum.DELIVERED.name()); + this.showLogistics = (order.getDeliverStatus().equals(DeliverStatusEnum.DELIVERED.name()) || order.getDeliverStatus().equals(DeliverStatusEnum.PARTS_DELIVERED.name())) && (status.equals(OrderStatusEnum.DELIVERED.name()) || status.equals(OrderStatusEnum.PARTS_DELIVERED.name())); //虚拟订单 或 自提订单可以核销 this.take = diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 296c3045..d7a32b6d 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -22,6 +22,7 @@ import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage; import cn.lili.modules.member.entity.dto.MemberAddressDTO; +import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.order.order.aop.OrderLogPoint; @@ -470,7 +471,8 @@ public class OrderServiceImpl extends ServiceImpl implements public Order delivery(String orderSn, String logisticsNo, String logisticsId) { Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); //如果订单未发货,并且订单状态值等于待发货 - if (order.getDeliverStatus().equals(DeliverStatusEnum.UNDELIVERED.name()) && order.getOrderStatus().equals(OrderStatusEnum.UNDELIVERED.name())) { + if ((order.getDeliverStatus().equals(DeliverStatusEnum.UNDELIVERED.name()) || order.getDeliverStatus().equals(DeliverStatusEnum.PARTS_DELIVERED.name())) && + (order.getOrderStatus().equals(OrderStatusEnum.UNDELIVERED.name()) || order.getOrderStatus().equals(OrderStatusEnum.PARTS_DELIVERED.name()))) { //获取对应物流 Logistics logistics = logisticsService.getById(logisticsId); if (logistics == null) { @@ -872,7 +874,6 @@ public class OrderServiceImpl extends ServiceImpl implements throw new ServiceException("发货数量不正确!"); } orderItem.setDeliverNumber((partDeliveryDTO.getDeliveryNum() + orderItem.getDeliverNumber())); - // 记录分包裹中每个item子单的具体发货信息 OrderPackageItem orderPackageItem = new OrderPackageItem(); orderPackageItem.setOrderSn(orderSn); @@ -906,6 +907,11 @@ public class OrderServiceImpl extends ServiceImpl implements //是否全部发货 if (delivery) { return delivery(orderSn, invoiceNumber, logisticsId); + }else if(order.getDeliverStatus().equals(DeliverStatusEnum.UNDELIVERED.name()) || order.getOrderStatus().equals(OrderStatusEnum.UNDELIVERED.name())){ + //更改订单状态为部分发货 + order.setDeliverStatus(DeliverStatusEnum.PARTS_DELIVERED.name()); + order.setOrderStatus(OrderStatusEnum.PARTS_DELIVERED.name()); + this.updateById(order); } return order; }