From cd7d23d348ce1eff34f3fb22c97b03b75e187773 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 31 Mar 2026 14:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=BF=87=E6=9C=9F=20?= =?UTF-8?q?=E6=B8=85=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/task/OTimeTask.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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 fb57769c5..e95bb2f29 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 @@ -1,8 +1,11 @@ package com.czg.task; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import com.czg.account.service.ShopTableService; import com.czg.config.RedisCst; import com.czg.enums.OrderNoPrefixEnum; +import com.czg.enums.ShopTableStatusEnum; import com.czg.market.service.OrderInfoService; import com.czg.order.entity.CashierCart; import com.czg.order.entity.GbOrder; @@ -19,6 +22,7 @@ import com.czg.utils.CzgRandomUtils; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -47,17 +51,24 @@ public class OTimeTask { private PayService payService; @Resource private RedisService redisService; + @DubboReference + private ShopTableService shopTableService; /** * order 过期 */ @Scheduled(cron = "0 0 1 * * ? ") public void run() { - OrderInfo orderInfo = new OrderInfo(); - orderInfo.setStatus(OrderStatusEnums.CANCELLED.getCode()); - orderInfoService.update(orderInfo, QueryWrapper.create() + QueryWrapper queryWrapper = QueryWrapper.create() .eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode()) - .lt(OrderInfo::getTradeDay, DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd"))); + .lt(OrderInfo::getTradeDay, DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd")); + List list = orderInfoService.list(queryWrapper); + if (CollUtil.isNotEmpty(list)) { + list.forEach(orderInfo -> shopTableService.updateStatus(orderInfo.getShopId(), null, orderInfo.getTableCode(), ShopTableStatusEnum.IDLE.getValue())); + OrderInfo orderInfo = new OrderInfo(); + orderInfo.setStatus(OrderStatusEnums.CANCELLED.getCode()); + orderInfoService.update(orderInfo, queryWrapper); + } QueryWrapper cartUpdateWrapper = new QueryWrapper(); cartUpdateWrapper.lt(CashierCart::getCreateTime, DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd HH:mm:ss"))