From 5f90e422e629f3bf71de527018c4671357959cfc Mon Sep 17 00:00:00 2001 From: fengtianyangyang Date: Mon, 29 Nov 2021 17:43:17 +0800 Subject: [PATCH] =?UTF-8?q?'=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=8F=8A=E5=8E=BB=E9=99=A4orderItem=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=AD=97=E6=AE=B5'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB/version4.2.3to4.2.4.sql | 3 +- .../order/order/entity/dos/OrderItem.java | 5 +- .../serviceimpl/AfterSaleServiceImpl.java | 77 ++++++++++--------- 3 files changed, 44 insertions(+), 41 deletions(-) diff --git a/DB/version4.2.3to4.2.4.sql b/DB/version4.2.3to4.2.4.sql index a0494786..d9a266fc 100644 --- a/DB/version4.2.3to4.2.4.sql +++ b/DB/version4.2.3to4.2.4.sql @@ -1,4 +1,3 @@ /** 新增已退货数量 **/ -ALTER TABLE li_order_item ADD return_goods_number int DEFAULT 0 COMMENT '已退货数量 '; -ALTER TABLE li_order_item ADD is_goods_number int DEFAULT 0 COMMENT '正在进行售后的商品数量 '; +ALTER TABLE li_order_item ADD return_goods_number int DEFAULT 0 COMMENT '退货数量 '; ALTER TABLE li_order_item ADD identification_status varchar(255) COMMENT '标识是否被4.2.4版本处理过的订单'; \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java index bbb39a32..b711a8a7 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java @@ -113,12 +113,9 @@ public class OrderItem extends BaseEntity { @ApiModelProperty(value = "交易投诉id") private String complainId; - @ApiModelProperty(value = "已退货商品数量") + @ApiModelProperty(value = "退货商品数量") private Integer returnGoodsNumber; - @ApiModelProperty(value = "正在进行退货中的商品数量") - private Integer isGoodsNumber; - @ApiModelProperty(value = "标识是否被4.2.4版本处理过的订单") private String identificationStatus; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java index 6cbca96c..7e00780b 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java @@ -156,8 +156,6 @@ public class AfterSaleServiceImpl extends ServiceImpl() .eq(OrderItem::getOrderSn, afterSale.getOrderSn()) - .eq(OrderItem::getGoodsId, afterSale.getGoodsId())); + .eq(OrderItem::getSkuId, afterSale.getSkuId())); + AfterSaleStatusEnum afterSaleStatusEnum = AfterSaleStatusEnum.valueOf(afterSale.getServiceStatus()); + switch (afterSaleStatusEnum){ + //判断当前售后的状态---申请中 + case APPLY:{ + orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + afterSale.getNum()); + break; + } + + //判断当前售后的状态---已拒绝,买家取消售后,卖家终止售后 + case REFUSE: + case BUYER_CANCEL: + case SELLER_TERMINATION: { + orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() - afterSale.getNum()); + break; + } + default: - //判断当前售后的状态---申请中 - if (afterSale.getServiceStatus().equals(AfterSaleStatusEnum.APPLY.name())) { - orderItem.setIsGoodsNumber(orderItem.getIsGoodsNumber() + afterSale.getNum()); - } - //判断当前售后的状态---已拒绝 - if (afterSale.getServiceStatus().equals(AfterSaleStatusEnum.REFUSE.name())) { - orderItem.setIsGoodsNumber(orderItem.getIsGoodsNumber() - afterSale.getNum()); - } - //判断当前售后的状态---买家取消售后 - if (afterSale.getServiceStatus().equals(AfterSaleStatusEnum.BUYER_CANCEL.name())) { - orderItem.setIsGoodsNumber(orderItem.getIsGoodsNumber() - afterSale.getNum()); - } - //判断当前售后的状态---卖家终止售后 - if (afterSale.getServiceStatus().equals(AfterSaleStatusEnum.SELLER_TERMINATION.name())) { - orderItem.setIsGoodsNumber(orderItem.getIsGoodsNumber() - afterSale.getNum()); } //修改orderItem订单 this.updateOrderItem(orderItem); @@ -514,8 +513,8 @@ public class AfterSaleServiceImpl extends ServiceImpl (orderItem.getNum() - orderItem.getIsGoodsNumber())) { + //申请商品数量不能超过商品总数量-售后商品数量 + if (afterSaleDTO.getNum() > (orderItem.getNum() - orderItem.getReturnGoodsNumber())) { throw new ServiceException(ResultCode.AFTER_GOODS_NUMBER_ERROR); } @@ -659,7 +658,7 @@ public class AfterSaleServiceImpl extends ServiceImpl orderItem.setIsGoodsNumber(orderItem.getIsGoodsNumber() + a.getNum())); + implementList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum())); } //获取已完成售后订单数量 @@ -682,25 +681,33 @@ public class AfterSaleServiceImpl extends ServiceImpl() .eq(OrderItem::getSn, orderItem.getSn()) - .set(OrderItem::getIsGoodsNumber, orderItem.getIsGoodsNumber()) .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus()) - .set(OrderItem::getIdentificationStatus,IdentificationStatusEnum.ALREADY_NOT_HANDLE.name())); + .set(OrderItem::getReturnGoodsNumber,orderItem.getReturnGoodsNumber()) + .set(OrderItem::getIdentificationStatus, IdentificationStatusEnum.ALREADY_NOT_HANDLE.name())); } } \ No newline at end of file