'项目启动处理4.24版本之前订单问题'

This commit is contained in:
fengtianyangyang 2021-11-22 15:24:23 +08:00
parent d83f82a340
commit b80aa48735
4 changed files with 34 additions and 18 deletions

View File

@ -1,3 +1,4 @@
/** 新增已退货数量 **/ /** 新增已退货数量 **/
ALTER TABLE li_order_item ADD return_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 is_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 is_goods_number varchar(255) COMMENT '标识是否被4.2.4版本处理过的订单';

View File

@ -97,7 +97,7 @@ public class TradeBuilder {
renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender); renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender);
} }
//添加order订单及order_item子订单并返回
return tradeService.createTrade(tradeDTO); return tradeService.createTrade(tradeDTO);
} }

View File

@ -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.cart.entity.vo.CartVO;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; 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.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.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO; import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
@ -134,6 +135,7 @@ public class OrderItem extends BaseEntity {
this.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NEW.name()); this.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NEW.name());
this.setCommentStatus(CommentStatusEnum.NEW.name()); this.setCommentStatus(CommentStatusEnum.NEW.name());
this.setComplainStatus(OrderComplaintStatusEnum.NEW.name()); this.setComplainStatus(OrderComplaintStatusEnum.NEW.name());
this.setIdentificationStatus(IdentificationStatusEnum.ALREADY_NOT_HANDLE.name());
this.setPriceDetailDTO(cartSkuVO.getPriceDetailDTO()); this.setPriceDetailDTO(cartSkuVO.getPriceDetailDTO());
this.setOrderSn(cartVO.getSn()); this.setOrderSn(cartVO.getSn());
this.setTradeSn(tradeDTO.getSn()); this.setTradeSn(tradeDTO.getSn());

View File

@ -599,11 +599,18 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(afterSale), RocketmqSendCallbackBuilder.commonCallback()); rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(afterSale), RocketmqSendCallbackBuilder.commonCallback());
} }
/**
* 功能描述: 处理4.24之前未标识订单
*
* @return void
* @Author ftyy
**/
@PostConstruct @PostConstruct
private void initializationOrderItemState() { private void initializationOrderItemState() {
//获取所有已完成订单 //获取所有未处理过的订单
List<OrderItem> orderItemList = orderItemService.list(new LambdaQueryWrapper<OrderItem>() List<OrderItem> orderItemList = orderItemService.list(new LambdaQueryWrapper<OrderItem>()
.eq(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.ALREADY_APPLIED)); .isNull(OrderItem::getIdentificationStatus).or()
.eq(OrderItem::getIdentificationStatus, IdentificationStatusEnum.NOT_HANDLE.name()));
//不为空时对订单数据进行部分售后逻辑处理 //不为空时对订单数据进行部分售后逻辑处理
if (!orderItemList.isEmpty()) { if (!orderItemList.isEmpty()) {
@ -611,9 +618,6 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
//遍历订单查询每一个订单下的售后记录 //遍历订单查询每一个订单下的售后记录
orderItemList.forEach(orderItem -> { orderItemList.forEach(orderItem -> {
//标识为已处理过的订单
orderItem.setIdentificationStatus(IdentificationStatusEnum.ALREADY_NOT_HANDLE.name());
//订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息 //订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息
if (!orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.NEW.name()) if (!orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.NEW.name())
&& !orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.EXPIRED.name()) && !orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.EXPIRED.name())
@ -627,7 +631,11 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
//获取售后商品数量及已完成售后商品数量修改orderItem订单 //获取售后商品数量及已完成售后商品数量修改orderItem订单
this.updateOrderItemGoodsNumber(orderItem, afterSaleList); this.updateOrderItemGoodsNumber(orderItem, afterSaleList);
} }
//修改orderItem订单
this.updateOrderItem(orderItem);
}); });
} }
} }
@ -663,9 +671,6 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
//遍历售后记录获取已完成售后商品数量 //遍历售后记录获取已完成售后商品数量
completeList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum())); completeList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum()));
} }
//修改orderItem订单
this.updateOrderItem(orderItem);
} }
/** /**
@ -676,18 +681,26 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
* @author ftyy * @author ftyy
**/ **/
private void updateOrderItem(OrderItem orderItem) { private void updateOrderItem(OrderItem orderItem) {
//正在售后商品总数等于商品总数,修改订单售后状态为已申请 //订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息
if (orderItem.getIsGoodsNumber().equals(orderItem.getNum())) { if (!orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.NEW.name())
//修改订单的售后状态--已申请 && !orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.EXPIRED.name())
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.ALREADY_APPLIED.name()); && !orderItem.getAfterSaleStatus().equals(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name())) {
} else {
//修改订单的售后状态--部分售后 //正在售后商品总数等于商品总数,修改订单售后状态为已申请
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.PART_AFTER_SALE.name()); if (orderItem.getIsGoodsNumber().equals(orderItem.getNum())) {
//修改订单的售后状态--已申请
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.ALREADY_APPLIED.name());
} else {
//修改订单的售后状态--部分售后
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.PART_AFTER_SALE.name());
}
} }
orderItemService.update(new LambdaUpdateWrapper<OrderItem>() orderItemService.update(new LambdaUpdateWrapper<OrderItem>()
.eq(OrderItem::getSn, orderItem.getSn()) .eq(OrderItem::getSn, orderItem.getSn())
.set(OrderItem::getIsGoodsNumber, orderItem.getIsGoodsNumber()) .set(OrderItem::getIsGoodsNumber, orderItem.getIsGoodsNumber())
.set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus())); .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus())
.set(OrderItem::getIdentificationStatus,IdentificationStatusEnum.ALREADY_NOT_HANDLE.name()));
} }
} }