1. 今天做了什么
- 需求
- 未支付,超时
- 未点击完成
- 来单提醒
- 催单
spring Task定时任务工具
- 定时自动触发
- cron表达式定义触发时间,可以使用在线生成器自动生成
- 使用
- 导入坐标
- 启动类添加
@EnableScheduling开启任务调度
- 自定义定时任务类
@Component注解加入IOC容器
- 方法添加
@Scheduled(cron = "")
- 业务逻辑
- 未支付,超时每分钟检查一次
- 未点击完成,每天检查一次
WebSocket双向数据传输
- 与HTTP的对比
- HTTP单向的,请求响应模式,客户端请求,服务端响应,短连接,一次请求是一次连接,HTTP服务端无法主动向客户端发送消息
WebSocket双向的,建立长连接后,可以持续进行双向消息
- 底层都是tcp
- 应用场景
- 网页聊天
- 实况更新等
- 实现流程
- 导入maven坐标
- 添加配置类
- 注解
- 业务逻辑
- 来单提醒与催单都是向管理端网页发送消息
- 约定消息格式是json,用字段type区分来单提醒与催单
- 支付成功的通知会调用业务层的
void paySuccess(String outTradeNo)方法,在该方法中添加来单提醒
- 添加用户端接口,完成催单业务
2. 核心知识点
- spring Task
- WebSocket
3. 深度思考
4. 踩过的坑
5. 遗留问题 / 想不通