Update OrderTask.java

cyj
pbvfus8to 2 months ago
parent 59e24c8b62
commit 0aa1cfb6ad

@ -27,31 +27,47 @@ import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* @author FrozenWatermelon *
* xxl-jobjava * xxl-jobjava
* @see com.yami.shop.admin.config.XxlJobConfig * @see com.yami.shop.admin.config.XxlJobConfig
*
* @author FrozenWatermelon
*/ */
@Component("orderTask") @Component("orderTask")
public class OrderTask { public class OrderTask {
// 创建一个日志记录器,用于记录定时任务执行过程中的相关信息,方便后续查看任务执行情况以及排查问题。
private static final Logger logger = LoggerFactory.getLogger(OrderTask.class); private static final Logger logger = LoggerFactory.getLogger(OrderTask.class);
// 注入OrderService用于处理与订单相关的业务逻辑例如查询订单、取消订单、确认订单等操作。
@Autowired @Autowired
private OrderService orderService; private OrderService orderService;
// 注入ProductService用于处理与商品相关的业务逻辑在订单操作涉及影响商品缓存的场景下如订单取消、确认收货等会调用其方法来清除相关商品缓存保证数据一致性。
@Autowired @Autowired
private ProductService productService; private ProductService productService;
// 注入SkuService用于处理与商品规格Sku相关的业务逻辑同样在订单操作涉及影响商品规格缓存的场景下会调用其方法来清除相关规格缓存保证数据一致性。
@Autowired @Autowired
private SkuService skuService; private SkuService skuService;
/**
* @XxlJobXXL-JOB"cancelOrder"
*
* 1.
* 2. OrderStatus.UNPAY.value()30
* 3.
* 4. OrderServicecancelOrders
* 5. OrderItemProductServiceSkuService
*
*/
@XxlJob("cancelOrder") @XxlJob("cancelOrder")
public void cancelOrder(){ public void cancelOrder() {
Date now = new Date(); Date now = new Date();
logger.info("取消超时未支付订单。。。"); logger.info("取消超时未支付订单。。。");
// 获取30分钟之前未支付的订单 // 获取30分钟之前未支付的订单通过OrderService的listOrderAndOrderItems方法传入未支付状态值和30分钟之前的时间作为筛选条件进行查询。
List<Order> orders = orderService.listOrderAndOrderItems(OrderStatus.UNPAY.value(),DateUtil.offsetMinute(now, -30)); List<Order> orders = orderService.listOrderAndOrderItems(OrderStatus.UNPAY.value(), DateUtil.offsetMinute(now, -30));
if (CollectionUtil.isEmpty(orders)) { if (CollectionUtil.isEmpty(orders)) {
return; return;
} }
@ -60,20 +76,27 @@ public class OrderTask {
List<OrderItem> orderItems = order.getOrderItems(); List<OrderItem> orderItems = order.getOrderItems();
for (OrderItem orderItem : orderItems) { for (OrderItem orderItem : orderItems) {
productService.removeProductCacheByProdId(orderItem.getProdId()); productService.removeProductCacheByProdId(orderItem.getProdId());
skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId()); skuService.removeSkuCacheBySkuId(orderItem.getSkuId(), orderItem.getProdId());
} }
} }
} }
/** /**
* * @XxlJobXXL-JOB"confirmOrder"
*
* 1.
* 2. OrderStatus.CONSIGNMENT.value()15
* 3.
* 4. OrderServiceconfirmOrder
* 5. OrderItemProductServiceSkuService
*
*/ */
@XxlJob("confirmOrder") @XxlJob("confirmOrder")
public void confirmOrder(){ public void confirmOrder() {
Date now = new Date(); Date now = new Date();
logger.info("系统自动确认收货订单。。。"); logger.info("系统自动确认收货订单。。。");
// 获取15天之前未支付的订单 // 获取15天之前已发货的订单通过OrderService的listOrderAndOrderItems方法传入已发货状态值和15天之前的时间作为筛选条件进行查询。
List<Order> orders = orderService.listOrderAndOrderItems(OrderStatus.CONSIGNMENT.value(),DateUtil.offsetDay(now, -15)); List<Order> orders = orderService.listOrderAndOrderItems(OrderStatus.CONSIGNMENT.value(), DateUtil.offsetDay(now, -15));
if (CollectionUtil.isEmpty(orders)) { if (CollectionUtil.isEmpty(orders)) {
return; return;
} }
@ -82,7 +105,7 @@ public class OrderTask {
List<OrderItem> orderItems = order.getOrderItems(); List<OrderItem> orderItems = order.getOrderItems();
for (OrderItem orderItem : orderItems) { for (OrderItem orderItem : orderItems) {
productService.removeProductCacheByProdId(orderItem.getProdId()); productService.removeProductCacheByProdId(orderItem.getProdId());
skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId()); skuService.removeSkuCacheBySkuId(orderItem.getSkuId(), orderItem.getProdId());
} }
} }
} }

Loading…
Cancel
Save