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);
            }
        }

    }
}
相关推荐
wefly20177 分钟前
纯前端架构深度解析:jsontop.cn,JSON 格式化与全栈开发效率平台
java·前端·python·架构·正则表达式·json·php
nbwenren1 小时前
node.js内置模块之---crypto 模块
java
weyyhdke2 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
ywf12152 小时前
Go基础之环境搭建
开发语言·后端·golang
空空潍2 小时前
Spring AI与LangChain对比:组件对应关系、设计差异与选型指南
人工智能·spring·langchain
Victor3562 小时前
MongoDB(76)如何配置防火墙规则?
后端
Victor3562 小时前
MongoDB(75)如何配置TLS/SSL加密?
后端
chools2 小时前
Java后端拥抱AI开发之个人学习路线 - - Spring AI【第一期】
java·人工智能·学习·spring·ai
IT_陈寒2 小时前
Vite热更新坑了我三天,原来配置要这么写
前端·人工智能·后端
小村儿3 小时前
连载加餐01-claude code 源码泄漏 ---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程