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

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

相关推荐
Sam_Deep_Thinking2 分钟前
用Java 17从0到1写一个mini版RPC,理解远程调用的本质
java·面试·rpc·程序员·系统架构
luj_17686 分钟前
随机性在算法与占卜中的共通原理
c语言·开发语言·c++·经验分享·算法
Lazionr13 分钟前
vector初识——从动态数组到STL核心容器
开发语言·c++
AI视觉网奇15 分钟前
glb读取颜色
开发语言·python
敲代码的嘎仔24 分钟前
从零搭建微服务:Spring Cloud Alibaba 全家桶踩坑实录(Nacos + OpenFeign + Gateway + Sentinel)
java·spring boot·spring·spring cloud·微服务·gateway·sentinel
一条泥憨鱼1 小时前
苍穹外卖【day7| 对购物车进行操作】
java·后端·mysql·苍穹外卖
程序员-Benothing2 小时前
如何实现高并发系统订单30分钟自动关闭?
开发语言·c#·wpf
郝学胜-神的一滴3 小时前
Python 高级编程 026:内置数据结构之骈文纵论
开发语言·数据结构·python·程序人生·软件工程
隐积10 小时前
3.1.7.Qt容器大家族(3):QVariant——万能盒子
开发语言·qt
IT界的老黄牛11 小时前
Spring Boot 的 `/actuator/health` 不是免费的:健康检查打爆连接池的反面教材
spring boot·hikaricp·actuator·健康检查·线上排障·架构反模式