苍穹外卖day10

一、Spring Task

1. 介绍

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

2. cron表达式

cron表达式在线生成器:https://cron.qqe2.com/

3. 使用步骤

在类上加注解@Component

在定时任务上加注解@Scheduled(cron="xxx")(函数名和返回值无要求)

二、订单状态定时处理

1. 需求分析

(1)下单后未支付,订单一直处于"支付中"状态

每隔一分钟检查一次订单状态,若15分钟后还是未支付,则取消订单

(2)收货后未点击完成,订单一直处于"派送中"状态

每天的凌晨一点检查订单状态,将"派送中"的订单状态修改为"已完成"

2. 代码开发

创建OrderTask类@Component,注入OrderMapper

处理(1):查数据库,返回超时订单(下单时间<当前时间-15min),改数据库(每分钟执行)

处理(2):查数据库,返回派送中订单(下单时间<当前时间-1h),改数据库(每天1点执行)

OrderMapper:根据订单状态和时间查询

当前时间-15分钟:LocalDataTime.now().plusMinutes(-15)

三、WebSocket

1. 介绍

2. 实现步骤

导入:老师准备好的代码导到项目里

四、来单提醒

1. 需求分析和设计

2. 代码开发

(没写支付功能,写在下单成功后面吧。。)

orderController:封装JSON数据,sendToAll发送给客户端

五、客户催单

1. 需求分析和设计

小程序点击催单,发送请求给服务端,服务端发送信息给浏览器

相关推荐
张不才1 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1113 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
plainGeekDev5 小时前
单例模式 → object 声明
android·java·kotlin
用户298698530146 小时前
Java 实现 Word 文档文本与图片提取的方法
java·后端
SimonKing7 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
咖啡八杯18 小时前
GoF设计模式——策略模式
java·后端·spring·设计模式
java小白小1 天前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot
用户128526116021 天前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
Linsk1 天前
组件 = 模板 + 业务逻辑
java·前端·vue.js