diff --git a/cash-api/order-server/src/main/java/com/czg/task/OTimeTask.java b/cash-api/order-server/src/main/java/com/czg/task/OTimeTask.java index 933205b5b..a042ec9ba 100644 --- a/cash-api/order-server/src/main/java/com/czg/task/OTimeTask.java +++ b/cash-api/order-server/src/main/java/com/czg/task/OTimeTask.java @@ -2,7 +2,9 @@ package com.czg.task; import cn.hutool.core.date.DateUtil; import com.czg.market.service.OrderInfoService; +import com.czg.order.entity.CashierCart; import com.czg.order.entity.OrderInfo; +import com.czg.order.service.CashierCartService; import com.czg.service.order.enums.OrderStatusEnums; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; @@ -21,6 +23,8 @@ import org.springframework.stereotype.Component; public class OTimeTask { @Resource private OrderInfoService orderInfoService; + @Resource + private CashierCartService cartService; /** * order 过期 @@ -32,5 +36,12 @@ public class OTimeTask { orderInfoService.update(orderInfo, QueryWrapper.create() .eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode()) .lt(OrderInfo::getTradeDay, DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd"))); + + QueryWrapper cartUpdateWrapper = new QueryWrapper(); + cartUpdateWrapper.lt(CashierCart::getCreateTime, DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd HH:mm:ss")) + .and(wrapper -> { + wrapper.isNull(CashierCart::getUpdateTime).or(CashierCart::getUpdateTime).lt(DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd HH:mm:ss")); + }); + cartService.remove(cartUpdateWrapper); } }