# RealTimeTrading **Repository Path**: sb2021/RealTimeTrading ## Basic Information - **Project Name**: RealTimeTrading - **Description**: 这是一个基于SpringBoot的实时交易平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-27 - **Last Updated**: 2025-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接口完成情况 ## 1. 订单服务 ### 1.1 订单创建 (完成) - 接收 HTTP 请求(JSON),验证用户身份、商品库存(Redis)。 - 生成唯一订单号,保存到 MySQL + Redis 缓存。 - 异步线程池处理扣减库存、生成交易流水。 - 发送订单创建消息到 ActiveMQ(物流系统消费)。 ### 1.2 订单查询 (完成) - 优先从 Redis 查询订单状态,缓存失效时查数据库。 - 返回 JSON 格式订单详情(含商品快照)。 ### 1.3 订单取消 (完成) - 更新订单状态为"已取消"。 - 通过 ActiveMQ 通知库存系统恢复库存。 ## 2. 实时交易推送 ### 2.1 订单状态推送 (完成) - 用户连接 WebSocket 后,实时推送状态变更(如"已发货")。 - 数据格式:`{"orderId":"123", "status":"SHIPPED"}`。 ### 2.2 市场行情推送 - WebSocket 服务订阅并推送给前端。 ***(未完成原因:没有前端,如果用client端来模拟前端,根据表设计似乎也没有什么可以推送的消息)*** ## 3. 异步消息处理 ### 3.1 订单队列 (完成) - `order.create`:触发物流发货。 - `order.cancel`:恢复库存。 - `order.delay`:15分钟未支付自动取消订单。 ## 4. 风控系统 ### 4.1 交易频率控制 (完成) - Redis 计数器(`rate:limit:{userId}`)限制请求频率(10次/分钟)。 ### 4.2 黑名单检查 (完成) - 异步线程池检查用户是否在黑名单(Redis Set)。 ## 5. 定时任务 ### 5.1 订单超时自动取消 (完成) - 每5分钟扫描未支付订单,超时15分钟则取消。 - 优化:Redis ZSET 存储待支付订单(Score=过期时间)。 ### 5.2 每日交易统计 - 凌晨2点统计订单总数、交易额、热门商品TOP10。 - 生成报表 + 飞书 通知运营。 ***(未完成原因:用spring batch进行批处理,factory和step无法引入,但是能编译通过。控制台没有打印堆栈信息,无法得知哪里有问题。但是对应的逻辑都已经写完了)*** ### 5.3 ActiveMQ 监控 (完成) - 每10分钟检查消息堆积,超阈值触发告警。