# 开发计划 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.vue` 的 `onMounted` 中先调用 `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绘制→保存相册 - `getCurrentInstance` 从 `vue` 导入(修复 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*