diff --git a/DB/version4.2.2to4.2.4.sql b/DB/version4.2.2to4.2.4.sql index 0faa9742..3884ad6e 100644 --- a/DB/version4.2.2to4.2.4.sql +++ b/DB/version4.2.2to4.2.4.sql @@ -1,3 +1,4 @@ /** 新增已退货数量 **/ 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 '正在进行售后的商品数量 '; \ No newline at end of file +ALTER TABLE li_order_item ADD is_goods_number int DEFAULT 0 COMMENT '正在进行售后的商品数量 '; +ALTER TABLE li_order_item ADD is_goods_number varchar(255) COMMENT '标识是否被4.2.4版本处理过的订单'; \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java index 75cfa3bd..dd15fbb8 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java @@ -97,7 +97,7 @@ public class TradeBuilder { renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender); } - + //添加order订单及order_item子订单并返回 return tradeService.createTrade(tradeDTO); } 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 b1994b99..bbb39a32 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 @@ -9,6 +9,7 @@ import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; import cn.lili.modules.order.order.entity.enums.CommentStatusEnum; +import cn.lili.modules.order.order.entity.enums.IdentificationStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.promotion.entity.vos.PromotionSkuVO; @@ -134,6 +135,7 @@ public class OrderItem extends BaseEntity { this.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NEW.name()); this.setCommentStatus(CommentStatusEnum.NEW.name()); this.setComplainStatus(OrderComplaintStatusEnum.NEW.name()); + this.setIdentificationStatus(IdentificationStatusEnum.ALREADY_NOT_HANDLE.name()); this.setPriceDetailDTO(cartSkuVO.getPriceDetailDTO()); this.setOrderSn(cartVO.getSn()); this.setTradeSn(tradeDTO.getSn()); 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 312306aa..6cbca96c 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 @@ -599,11 +599,18 @@ public class AfterSaleServiceImpl extends ServiceImpl orderItemList = orderItemService.list(new LambdaQueryWrapper() - .eq(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.ALREADY_APPLIED)); + .isNull(OrderItem::getIdentificationStatus).or() + .eq(OrderItem::getIdentificationStatus, IdentificationStatusEnum.NOT_HANDLE.name())); //不为空时对订单数据进行部分售后逻辑处理 if (!orderItemList.isEmpty()) { @@ -611,9 +618,6 @@ public class AfterSaleServiceImpl extends ServiceImpl { - //标识为已处理过的订单 - orderItem.setIdentificationStatus(IdentificationStatusEnum.ALREADY_NOT_HANDLE.name()); - //订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息 if (!orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.NEW.name()) && !orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.EXPIRED.name()) @@ -627,7 +631,11 @@ public class AfterSaleServiceImpl extends ServiceImpl orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum())); } - //修改orderItem订单 - this.updateOrderItem(orderItem); - } /** @@ -676,18 +681,26 @@ public class AfterSaleServiceImpl extends ServiceImpl() .eq(OrderItem::getSn, orderItem.getSn()) .set(OrderItem::getIsGoodsNumber, orderItem.getIsGoodsNumber()) - .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus())); + .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus()) + .set(OrderItem::getIdentificationStatus,IdentificationStatusEnum.ALREADY_NOT_HANDLE.name())); } } \ No newline at end of file