Spring Task定时任务

目录

介绍

应用场景

cron表达式

使用步骤

示例代码

介绍

Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间,自动执行某个逻辑代码,

定位:定时任务框架

应用场景

短信信息提醒

cron表达式

使用步骤

示例代码

复制代码
@Component
@Slf4j
public class OrderTask {

    @Autowired
    private OrderMapper orderMapper;

    //每分钟执行一次.处理订单超时
    @Scheduled(cron = "0 * * * * ?")
    public void processTimeoutOrder() {
        log.info("OrderTask processTimeoutOrder");
        LocalDateTime localDateTime = LocalDateTime.now().plusMinutes(-15);
        List<Orders> ordersList = orderMapper.getByStatusAndOrderTimeLT(Orders.PENDING_PAYMENT, localDateTime);
        if (ordersList != null && ordersList.size() > 0) {
            for (Orders orders : ordersList) {
                orders.setStatus(Orders.CANCELLED);
                orders.setCancelTime(LocalDateTime.now());
                orders.setCancelReason("订单超时,自动取消");
                orderMapper.update(orders);
            }
        }
    }

    //每天凌晨一点触发一次,处理一直派送中的订单
    @Scheduled(cron = "0 0 1 * * ?")
    public void processDeliveryOrder() {
        log.info("OrderTask processDeliveryOrder");
        LocalDateTime localDateTime = LocalDateTime.now().plusMinutes(-60);
        List<Orders> ordersList = orderMapper.getByStatusAndOrderTimeLT(Orders.DELIVERY_IN_PROGRESS, localDateTime);
        if (ordersList != null && ordersList.size() > 0) {
            for (Orders orders : ordersList) {
                orders.setStatus(Orders.COMPLETED);
                orderMapper.update(orders);
            }
        }

    }
}
相关推荐
yeffky几秒前
Vibe Coding一个能办事的 AI Agent:Spring Boot + DeepSeek + LangGraph4j 六节点 ReAct 项目实战
人工智能·后端·agent
乒乓狂魔1478673997000几秒前
OpenClaw 终于可以读懂 OpenTelemetry APM 了
后端
Rain的Java大神之路2 分钟前
高并发下如何防止商品超卖少卖
后端
张三丰23 分钟前
Fiber 节点 —— 一个数据结构如何承载整个 React 运行时
后端
AINative软件工程4 分钟前
AI Agent 不是会重试就可靠:长任务的断点恢复与 Durable Execution 设计
人工智能·后端·ai编程
卷无止境5 分钟前
SFML 深度解读:一个教科书级 C++ 多媒体库的内功心法
c++·后端
GuangdongTong5 分钟前
基于RabbitMQ实现延迟任务
后端·rabbitmq
学渣超6 分钟前
微服务日志智能诊断系统(九) 让 LLM 成为日志分析专家
java·后端·agent
feelmylife596 分钟前
AI系统测试实战指南——从确定性边界到非确定性输出,构建AI系统的分层测试体系
后端
AliCloudROS7 分钟前
使用 Skill 安装和管理 ECS 扩展程序
后端