feat(compensation): 实现MQ补偿机制(Outbox Pattern) + 安全审计修复
- 新增 compensation_tasks 表 + CompensationTask 实体 + Repository - 新增 CompensationService 补偿任务写入服务 - 新增 CompensationScheduler 定时扫描(CAS抢占+指数退避+失败告警+清理) - 改造 OrderServiceImpl/AdminServiceImpl 4处 afterCommit catch → 写补偿表 - 移除 OrderServiceImpl 未使用的 transactionTemplate - PointsServiceImpl 添加缺失的 @Slf4j - MapperScan 添加 compensation 包扫描 - 审计修复: Class.forName白名单校验、markSuccess/markRetryOrFailed添加status前置条件、CAS后重查防stale snapshot - 更新待实现功能清单
This commit is contained in:
224
待实现功能清单.md
Normal file
224
待实现功能清单.md
Normal file
@@ -0,0 +1,224 @@
|
||||
# OpenClaw Skills 待实现功能清单
|
||||
|
||||
> 基于《产品功能架构设计.md》与当前系统实现的差距分析
|
||||
> 更新日期:2026-03-21
|
||||
> 当前状态:Phase 1 MVP 基本完成(~98%),Phase 2 大部分完成(~95%),Phase 3 推进中(~30%,会员等级+优惠券+促销系统已完成)
|
||||
|
||||
---
|
||||
|
||||
## 总览
|
||||
|
||||
| 阶段 | 完成度 | 说明 |
|
||||
|------|--------|------|
|
||||
| Phase 1 MVP 核心 | ~98% | 用户注册登录、Skill商城、积分基础、支付充值、混合支付、后台管理(支付回调可靠性待确认) |
|
||||
| Phase 2 核心完善 | ~95% | 内容管理/发票/榜单/RBAC/操作日志/活动管理/帮助中心/反馈系统/积分冻结过期已完成,海报/手机号更换/分享待做 |
|
||||
| Phase 3 运营深化 | ~30% | 会员等级体系+优惠券系统+促销系统(限时折扣/满减/秒杀)已完成;社区/埋点/风控待做 |
|
||||
|
||||
---
|
||||
|
||||
## 优先级 P0 — 补齐 MVP 缺口
|
||||
|
||||
### ~~1. 混合支付完善(积分+现金)~~ ✅ 已完成
|
||||
- **完成内容**:后端 OrderPreviewVO + previewOrder API + 纯积分自动完成 + BigDecimal精度修复 + freezePoints原子SQL;前端 detail.vue 购买弹窗(积分滑块+实时预览+debounce)+ pay.vue 混合支付明细显示
|
||||
|
||||
### 2. 支付回调可靠性
|
||||
- **模块**:支付与充值
|
||||
- **现状**:payment module 有回调端点,但幂等性、签名验证、补偿机制需确认
|
||||
- **需要做**:
|
||||
- 后端:确认回调签名校验、幂等处理、超时补偿查询
|
||||
- 测试:模拟微信/支付宝回调场景
|
||||
- **工作量**:1-2天
|
||||
- **影响**:资金安全
|
||||
|
||||
---
|
||||
|
||||
## 优先级 P1-高 — Phase 2 核心缺失
|
||||
|
||||
### ~~3. 后台内容管理(轮播图 + 公告)~~ ✅ 已完成
|
||||
- **完成内容**:BannerController + AnnouncementController 全套 CRUD,前端 admin/banners.vue + admin/announcements.vue 已实现
|
||||
|
||||
### ~~4. 发票管理~~ ✅ 已完成
|
||||
- **完成内容**:InvoiceController 全套(申请/审核/开具),前端 user/invoices.vue + admin/invoices.vue 已实现
|
||||
|
||||
### ~~5. 热门榜单页~~ ✅ 已完成
|
||||
- **完成内容**:SkillController 包含排行查询接口,前端 skill/ranking.vue 已实现,路由 /skill/ranking 已配置
|
||||
|
||||
---
|
||||
|
||||
## 优先级 P1-中
|
||||
|
||||
### 6. 邀请海报生成
|
||||
- **模块**:邀请与社区
|
||||
- **现状**:有邀请码和邀请链接,无海报功能
|
||||
- **需要做**:
|
||||
- 前端:Canvas 绘制带二维码的邀请海报,支持保存到相册/分享
|
||||
- 后端:(可选)服务端生成海报图片 API
|
||||
- **工作量**:2-3天
|
||||
- **影响**:提升社交传播效果和拉新转化率
|
||||
|
||||
### ~~7. RBAC 角色权限完善~~ ✅ 已完成
|
||||
- **完成内容**:RbacController 全套(角色/权限/管理员角色 CRUD),前端 admin/roles.vue + admin/admins.vue 已实现,@RequiresRole/@RequiresPermission 拦截器已就位
|
||||
|
||||
### ~~8. 操作日志~~ ✅ 已完成
|
||||
- **完成内容**:OperationLogAspect AOP 切面 + OperationLogController 查询 API,前端 admin/logs.vue 已实现
|
||||
|
||||
### ~~9. 积分过期 + 冻结机制~~ ✅ 已完成
|
||||
- **完成内容**:
|
||||
- 后端:积分批次表(points_batches)+ FIFO消费 + 定时过期清理(PointsExpireScheduler 每天2:00);积分冻结/解冻/消费冻结积分原子SQL;积分规则表增加 expire_days 字段实现按来源可配置过期天数
|
||||
- 后端安全加固:MQ事务一致性(TransactionSynchronization afterCommit);payOrder降级原子性(TransactionTemplate);邀请积分幂等性(按userId+source+relatedId去重);createPointsBatch amount≤0校验;永不过期硬编码提取为NEVER_EXPIRE常量
|
||||
- 后端补偿机制:通用补偿任务表(compensation_tasks)+ CompensationScheduler(每5分钟扫描,CAS抢占防多实例重复,指数退避1→5→30→120→720分钟,重试耗尽告警);4处MQ发送失败自动写入补偿表(approveRefund/payOrder/cancelOrder/createOrder)
|
||||
- 前端:积分页 hover 展示冻结积分 + 即将过期积分详情(a-popover)
|
||||
|
||||
### 10. 手机号绑定/更换
|
||||
- **模块**:用户管理 > 账户安全
|
||||
- **现状**:settings.vue 有密码修改,无手机号更换
|
||||
- **需要做**:
|
||||
- 后端:验证旧手机号 + 绑定新手机号 API
|
||||
- 前端:settings.vue 增加手机号更换流程(旧号验证→新号验证→完成)
|
||||
- **工作量**:1-2天
|
||||
- **影响**:用户换号后无法操作账户
|
||||
|
||||
---
|
||||
|
||||
## 优先级 P1-低
|
||||
|
||||
### ~~11. 后台活动管理~~ ✅ 已完成
|
||||
- **完成内容**:后端 activity 模块全套 CRUD + 定时任务自动结束;前端 admin/activities.vue(新建/编辑/状态切换/删除/筛选);首页活动展示区已集成
|
||||
|
||||
### ~~12. 帮助中心 / FAQ~~ ✅ 已完成
|
||||
- **完成内容**:后端 help 模块(分类+文章 CRUD);前端 admin/help.vue(左右分栏分类+文章管理);前端 help/index.vue(分类浏览/搜索/文章详情)
|
||||
|
||||
### ~~13. 反馈建议系统~~ ✅ 已完成
|
||||
- **完成内容**:后端 feedback 模块(提交/查看/回复 API);前端 user/feedback.vue(提交反馈、查看进度和管理员回复);前端 admin/feedback.vue(反馈列表/筛选/查看/回复/状态管理)
|
||||
|
||||
### 14. 分享功能(社交分享 SDK)
|
||||
- **模块**:邀请与社区
|
||||
- **现状**:无分享功能
|
||||
- **需要做**:
|
||||
- 前端:集成微信 JS-SDK 分享接口
|
||||
- 后端:微信 JS-SDK 签名 API
|
||||
- 前端:Skill详情页/邀请页增加分享按钮
|
||||
- **工作量**:2-3天
|
||||
|
||||
---
|
||||
|
||||
## 优先级 P2 — Phase 3 运营深化
|
||||
|
||||
### ~~15. 会员等级 + 成长值体系~~ ✅ 已完成
|
||||
- **完成内容**:数据库(member_level_config + growth_records 表 + 4级初始数据);后端 member 模块(Entity/Repository/Service/Controller);业务集成(签到+1/注册+5/邀请+10/充值/评价+3 自动增加成长值);会员权益(签到积分倍率:金卡1.5x/钻石2x、积分折扣:白银95折/金卡9折/钻石85折);前端 profile 页等级卡片+进度条+等级体系一览;管理后台用户管理页成长值调整功能
|
||||
|
||||
### ~~16. 优惠券系统~~ ✅ 已完成
|
||||
- **完成内容**:满减券/折扣券/立减券,发放/使用/核销/过期,后台管理
|
||||
- **后端**:coupon 模块全套(CouponTemplate CRUD / UserCoupon 领取·使用·退回·过期 / 订单集成 previewOrder+createOrder+cancelOrder);安全审计修复(IDOR越权校验·悲观锁防并发超领·状态机校验·分页上限·信息泄露防护·批量发券@Size限制);零元支付边界修复(优惠券全额抵扣自动完成订单)
|
||||
- **前端**:管理端 admin/coupons.vue(券模板CRUD·状态切换·手动发券·券统计);用户端 user/coupons.vue(优惠券中心·领券·我的优惠券);detail.vue 下单选券集成(可用券查询·券抵扣预览·选券下单);order store couponId 集成
|
||||
- **代码审计修复**:前后端枚举对齐(full_minus→full_reduce / direct_minus→fixed / duration→relative);字段名修正(expireTime→validEnd / deductAmount→discountAmount)
|
||||
- **待优化**:N+1查询(getMyCoupons/listTemplates 循环查模板),非安全问题,后续批量查询重构
|
||||
|
||||
### ~~17. 活动系统(限时折扣/秒杀)~~ ✅ 已完成
|
||||
- **完成内容**:促销模块全栈实现
|
||||
- **后端**:promotion 模块(Promotion/PromotionSkill/PromotionRecord 三表 Entity + Repository + PromotionService接口 + PromotionServiceImpl 完整业务逻辑 + PromotionController REST接口);ErrorCode 9001-9008 促销错误码;支持限时折扣(time_discount)/满减(full_reduce)/秒杀(flash_sale)三种类型;活动状态管理(draft→active→paused→ended);Skill关联促销价/折扣率/库存限量;按用户限购/活动总限量控制;促销使用记录与统计
|
||||
- **前端**:admin/promotions.vue 管理页面(活动CRUD/状态切换/关联Skill/促销统计/筛选分页);apiService 促销API集成;AdminLayout侧边栏+router路由
|
||||
|
||||
### 18. 邮箱注册/登录
|
||||
- **描述**:邮箱+密码注册登录,邮箱验证码
|
||||
- **工作量**:2-3天
|
||||
|
||||
### 19. 实名认证
|
||||
- **描述**:身份证正反面上传、人脸识别、审核状态管理
|
||||
- **工作量**:5-7天(需对接第三方实名服务)
|
||||
|
||||
### 20. 创作者中心完善
|
||||
- **描述**:Skill上传完整流程、版本管理、收益统计、数据看板
|
||||
- **现状**:后端有 developer module,前端缺专门页面
|
||||
- **工作量**:7-10天
|
||||
|
||||
### 21. 微信模板消息推送
|
||||
- **描述**:公众号模板消息(订单通知、积分到账等)
|
||||
- **工作量**:3-5天
|
||||
|
||||
### 22. 在线客服系统
|
||||
- **描述**:智能客服自动回复、人工客服、工单系统
|
||||
- **工作量**:10-15天(或对接第三方客服SaaS)
|
||||
|
||||
### 23. 数据埋点 + 用户行为分析
|
||||
- **描述**:页面浏览、点击、购买、下载埋点,转化漏斗,留存分析
|
||||
- **工作量**:5-7天(或对接神策/GrowingIO)
|
||||
|
||||
### 24. A/B 测试框架
|
||||
- **描述**:实验配置、流量分割、数据对比
|
||||
- **工作量**:5-7天
|
||||
|
||||
### 25. 安全风控体系
|
||||
- **描述**:异常登录检测、支付风控、积分刷单检测、敏感词过滤、图片审核
|
||||
- **工作量**:10-15天
|
||||
|
||||
### 26. 积分转赠
|
||||
- **描述**:用户间积分转赠,手续费扣除
|
||||
- **工作量**:2-3天
|
||||
|
||||
### 27. 登录设备管理
|
||||
- **描述**:登录时间/设备/IP记录,异常登录提醒,多设备登录限制
|
||||
- **工作量**:3-5天
|
||||
|
||||
### 28. 用户标签系统
|
||||
- **描述**:手动打标签、自动标签规则、用于Skill推荐
|
||||
- **工作量**:3-5天
|
||||
|
||||
### 29. 财务报表 + 对账管理
|
||||
- **描述**:交易流水、对账管理、财务报表导出
|
||||
- **工作量**:5-7天
|
||||
|
||||
### 30. 积分规则后台配置
|
||||
- **描述**:各渠道积分获取/消耗/过期规则可视化配置
|
||||
- **工作量**:3-5天
|
||||
|
||||
---
|
||||
|
||||
## 工作量估算汇总
|
||||
|
||||
| 优先级 | 总计 | 已完成 | 剩余 | 预估剩余工时 |
|
||||
|--------|------|--------|------|-------------|
|
||||
| P0 补齐 | 2项 | 1项 | 1项 | 1-2天 |
|
||||
| P1-高 | 3项 | 3项 | 0项 | 0天 |
|
||||
| P1-中 | 5项 | 3项 | 2项 | 4-5天 |
|
||||
| P1-低 | 4项 | 3项 | 1项 | 2-3天 |
|
||||
| P2 | 16项 | 3项 | 13项 | 68-100天 |
|
||||
| **合计** | **30项** | **13项已完成** | **17项** | **~75-110天** |
|
||||
|
||||
---
|
||||
|
||||
## 建议实施路线
|
||||
|
||||
```
|
||||
已完成 ✅
|
||||
→ #1 混合支付完善
|
||||
→ #3 后台内容管理(轮播图+公告)
|
||||
→ #4 发票管理
|
||||
→ #5 热门榜单页
|
||||
→ #7 RBAC权限完善
|
||||
→ #8 操作日志
|
||||
→ #9 积分过期+冻结+MQ补偿机制
|
||||
→ #11 后台活动管理
|
||||
→ #12 帮助中心
|
||||
→ #13 反馈建议系统
|
||||
|
||||
近期(1-2周)
|
||||
→ #2 支付回调可靠性
|
||||
→ #10 手机号绑定/更换
|
||||
|
||||
中期(3-6周)
|
||||
→ #6 邀请海报
|
||||
→ #14 分享功能
|
||||
|
||||
已完成 ✅(Phase 3)
|
||||
→ #15 会员等级+成长值体系
|
||||
→ #16 优惠券系统(后端+前端+审计修复)
|
||||
→ #17 促销系统(限时折扣/满减/秒杀,前后端全栈)
|
||||
|
||||
长期(Phase 3 剩余)
|
||||
→ #18-#30 按业务需求和数据反馈逐步推进
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*本文档将随开发进度持续更新*
|
||||
Reference in New Issue
Block a user