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

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

相关推荐
不会C语言的男孩39 分钟前
C++ Primer 第3章:字符串、向量和数组
开发语言·c++
兰令水41 分钟前
leecodecode【反前后指针】【2026.5.31打卡-java版本】
java·开发语言
Dovis(誓平步青云)2 小时前
《QT学习第四篇:常见事件与UDP、TCP、文件系统、(锁、信号量、条件变量》
c语言·开发语言·汇编·qt
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java9 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记10 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥10 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog10 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb20081110 小时前
FastAPI APIRouter
开发语言·python
Benszen10 小时前
KVM虚拟化解决方案
开发语言·perl