development-plan-v20260602.md 8.1 KB

开发计划 v20260602.1

制定日期: 2026-06-02 制定依据: docs/requirements-changelog.md (v20260601.1) + docs/test-coverage-report.md 当前版本: v20260601.1


一、BUG 修复(优先级 P0)

1.1 VIP 用户身份显示问题(已修复,待验证)

问题描述: 付费用户在我的页面显示为"普通用户",角色标签错误。

根本原因: ProfileController.getInfo() 未返回 vipType 字段。

修复内容: ProfileController.java 第52行后添加 info.put("vipType", user.getVipType());

验证步骤:

  1. 重启后端服务器
  2. 以付费用户身份登录
  3. 进入我的页面 → 用户卡角色标签应显示"能量师 🌟" 或 "C端会员"
  4. 订阅页应显示"您已是能量师"(practitioner)或"仅显示升级能量师入口"(annual)

状态: ✅ 代码已提交(dd79a27),需重启后端验证


1.2 "两个付费标签"问题(待确认)

问题描述: 付费用户页面出现两个付费相关标签。

可能来源:

  • .seed-badge(🌱 种子价专属会员)在 practitioner 用户的 VIP 卡上方显示
  • .user-card__tag(能量师 🌟)在用户卡片中显示
  • VIP 状态卡(vip-card)也显示了角色名称

验证步骤: 重启后端后确认是预期行为(多标签分层展示)还是重复标签 bug。


二、本次会话新增功能(优先级 P1)

2.1 订阅页 VIP 方案过滤

需求: 能量师(practitioner)进入订阅页只能看到"已是能量师"提示,不能再购买能量师方案;C端会员(annual)只能看到"升级能量师"入口。

已实现:

  • visiblePlans computed:根据 userStore.vipType 过滤 ['annual', 'practitioner']
  • watch 自动调整 selectedPlan 当选中的方案被过滤时
  • already-vip 空状态样式(practitioner 用户)
  • onPay() 导航到 payment 页

待验证: 重启后端 + VIP 显示修复后,订阅页过滤是否正确生效。


2.2 支付页定价统一

需求: 能量师方案在订阅页显示 ¥1,314(standardPrice),付费页也显示 ¥1,314,不应显示 ¥1,986(upgradePrice)。

已实现: payment/index.vueonMounted 中先调用 pricingApi.current() 获取基础定价,再 overlay upgrade() 的升级字段。

待验证: 选择能量师方案时,支付金额应为 ¥1,314(非升级场景)。


2.3 生成推广海报

需求: 用户点击"生成推广海报",后端返回二维码,前端 Canvas 绘制精美海报并保存到相册。

已实现:

  • GET /api/profile/qrcode 后端端点(ZXing 生成 QR 码)
  • client/utils/api.js 新增 profileApi.qrcode()
  • client/pages/profile/index.vue 实现 generatePoster():下载头像+二维码→Canvas绘制→保存相册
  • getCurrentInstancevue 导入(修复 LSP 错误)

待验证:

  1. 重启后端
  2. 能量师用户点击"生成推广海报"
  3. 检查是否正确生成并保存到相册

已知限制: Canvas 绘制在微信小程序中有尺寸限制(375×670),海报为固定尺寸。


三、Phase 1 剩余功能(优先级 P2)

3.1 管理后台完善

当前状态: 已有 27 个 AdminController API 测试通过,但管理后台 UI 可能不完整。

待检查清单:

  • 系统配置管理(US-8.1):定价参数、佣金比例、种子价名额等
  • 订单管理:查看所有订单、订单状态
  • 用户管理:查看用户列表、VIP 状态
  • 种子价配置:seed_period_end 日期选择器

涉及文件:

  • client/pages/admin/(如有独立管理后台页面)
  • num-server/.../AdminController.java

3.2 分销面板(佣金面板)

当前状态: 已有推广码卡片和复制功能,佣金统计 API 存在。

待实现清单(US-6.5 / US-6.6):

  • 佣金统计卡片:累计收益、可用余额、待结算
  • 佣金明细列表:一级/二级佣金记录
  • 团队数据:直接推广用户列表
  • "提现即将开放"提示

涉及文件:

  • client/pages/commission/index.vue
  • client/pages/profile/index.vue(推广工具区域)

3.3 C 端分销功能

当前状态: 佣金计算逻辑存在于 OrderService,但 C 端推广海报/分享流程可能不完整。

待验证:

  • C 端年费(¥131)的分销佣金计算:40% 一级 + 5% 二级
  • 佣金到账时机(支付成功后立即 vs 结算后)
  • 升级场景:annual 用户升级到 practitioner 的佣金补差逻辑(US-4.4 / US-6.4)

涉及文件:

  • OrderService.handleAnnualCommission()
  • OrderService.handlePractitionerCommission()

3.4 升级定价计算(US-4.4)

需求: 年费会员(annual)升级到能量师时,应按已用时间折算扣除费用。

当前状态: PricingController.upgrade() 返回 upgradePrice(已实现),但前端未调用此接口计算显示。

待实现:

  • 订阅页 annual 用户点击"升级能量师" → 调用 pricingApi.upgrade()
  • 显示折算后的价格(原付费年费中未使用时间的折算)
  • 升级流程完整串联(subscribe → payment → 支付 → VIP 类型变更)

四、EPIC 9 剩余功能(优先级 P3)

4.1 学业方向 AI(US-9.1)

状态: DifyService.interpretAcademicOrientation() 存在,部分实现。

待完成:

  • 前端入口(我的服务→学业方向)
  • Dify 专用 Workflow 接入
  • 学业方向报告展示页面

4.2 人工方案完整流程(US-9.2 ~ US-9.6)

当前状态: 实体、仓库、部分服务代码存在。

待完成:

  • 能量师工作台:查看客户的方案申请(client/pages/plan/workbench.vue
  • 方案价格协商:proposal/counter/accept 流程
  • 方案付费与交付:平台佣金计算
  • 人工介入 AI 会话:ChatIntervention 实时注入

五、技术债务(优先级 P4)

# 问题 解决方案 涉及文件
T1 List.of() 在 Java 8 不支持 全量替换为 Arrays.asList() DifyService.java(已修复)
T2 前端 E2E 测试缺失 微信小程序环境限制,建议手动测试覆盖
T3 ExportService 无单元测试 补充单元测试 ExportServiceTest.java
T4 getCurrentInstance 导入错误 vue 而非 @dcloudio/uni-app 导入 profile/index.vue(已修复)

六、执行计划

Sprint 1(本次会话,1-2天)

目标: 修复 VIP 显示核心 bug + 验证本次会话新增功能

# 任务 依赖 状态
1 重启后端,验证 VIP 显示修复 后端重启 ⏳ 待验证
2 验证"两个付费标签"是否为 bug 步骤1 ⏳ 待确认
3 验证订阅页 VIP 过滤 步骤1 ⏳ 待验证
4 验证支付页定价统一(¥1,314) 步骤1 ⏳ 待验证
5 测试推广海报生成 后端 QR 端点 ⏳ 待验证
6 推送本次所有代码到远程 步骤1-5 ⏳ 待推送

Sprint 2(1-2天)

目标: Phase 1 功能收尾

# 任务 优先级
7 管理后台配置卡片完善(定价/佣金/种子价) P2
8 分销面板佣金统计+明细列表 P2
9 C 端分销佣金计算验证 P2
10 升级定价前端串联(annual→practitioner) P2

Sprint 3(2-3天)

目标: EPIC 9 收尾

# 任务 优先级
11 学业方向 AI 完整接入 P3
12 人工方案工作台 + 协商流程 P3
13 人工介入 AI 会话 P3

七、重启后端检查清单

□ 1. 付费用户登录 → 我的页面 → 角色标签显示"能量师 🌟" 或 "C端会员"
□ 2. 订阅页(practitioner 用户)→ 显示"您已是能量师"
□ 3. 订阅页(annual 用户)→ 只显示"升级能量师"入口
□ 4. 能量师方案价格 = ¥1,314(非升级场景)
□ 5. 点击"生成推广海报" → 正确保存到相册
□ 6. 控制台无 Error 日志

最后更新:2026-06-02 by Sisyphus