苍穹外卖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. 需求分析和设计

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

相关推荐
秋天的怀念_David2 小时前
算法一千零一夜 · 第十七夜 长街点灯
java·程序人生·算法
充值内卷2 小时前
C++单文件迷宫游戏:TauriCPP 开发全记录
开发语言·c++·游戏
Antruly2 小时前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++
EnCi Zheng2 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
大数据·开发语言·python
不吃鱼的羊2 小时前
如何应对恐惧
java
不吃鱼的羊2 小时前
如何建立高自尊
java·服务器·前端
Magicdata大数据2 小时前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
香蕉大香蕉(06敬畏市场)2 小时前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习
想做小南娘,发现自己是女生喵2 小时前
LAN Device Monitor 第二周学习文档
java·服务器·数据库
念何架构之路2 小时前
Go reflect包值操作 Value 的读写、可设置性与 interface 布局
开发语言·后端·golang