当前位置: 首页 > news >正文

Spring Task定时任务

目录

介绍

应用场景

cron表达式

使用步骤

示例代码

介绍

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

定位:定时任务框架

应用场景

短信信息提醒

cron表达式

使用步骤

示例代码

@Component
@Slf4j
public class OrderTask {@Autowiredprivate 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);}}}
}


http://www.mrgr.cn/news/11258.html

相关文章:

  • 采用ELK搭建日志平台,Elasticsearch安装
  • 基于R语言遥感随机森林建模与空间预测
  • Vue中使用el-table自定义序号翻页后又从1开始没有连续
  • [Day 61] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 三层链路聚合
  • 【本社翻译】Unity官方XR开发电子书
  • 收银系统源码助力零售门店数字化升级
  • 【Android】Navigation动态设置Graph和Launch参数
  • 广播语义学许多PyTorch操作支持NumPy的广播语义。python编程 人工智能 神经网络
  • 【Tools】Prompt 的概念介绍
  • 探索商品详情API中的重量与体积信息:解锁精准物流管理与用户购物体验的秘密
  • 在VB.net中,LINQ有什么查询表达式,举例说明
  • 深度学习系列71:表格检测和识别
  • 探索Git:分布式版本控制系统的力量(二)
  • java 使用 aws s3 sdk 通过分段下载来实现 html 页面 video 的断点播放、拖动进度播放
  • nginx的代理服务器
  • docker数据卷及数据卷容器
  • NoSql数据库Redis集群
  • vue2的el-select虚拟下拉
  • 【嵌入式开发之网络编程】Socket套接字及TCP、UDP通信的实现