|
|
@@ -868,13 +868,310 @@ isUpgrade = false → 全额发放:L1 = ¥500,L2 = ¥100
|
|
|
11. `createOrder` 接口接收 `productType` 参数
|
|
|
|
|
|
**后端适应:**
|
|
|
-12. Order 新增 `productType` 字段(`"annual"` | `"practitioner"`)
|
|
|
-13. User 新增 `vipType` 字段(`"annual"` | `"practitioner"` | `null`)
|
|
|
-14. `paySuccess()` 佣金结算按 `productType` 分支:`annual` → US-6.4;`practitioner` → US-6.3(含推荐人身份判断 + isUpgrade 补差),详见 US-6.3 验收标准
|
|
|
+12. Order `productType` 字段新增枚举值:`"annual"` | `"practitioner"` | `"practitioner_plan"`(人工方案)
|
|
|
+13. User `vipType` 字段(`"annual"` | `"practitioner"` | `null`)
|
|
|
+14. `paySuccess()` 佣金结算按 `productType` 分支:
|
|
|
+ - `annual` → US-6.4 C端年费佣金
|
|
|
+ - `practitioner` → US-6.3 B端佣金(含推荐人身份判断 + isUpgrade 补差)
|
|
|
+ - `practitioner_plan` → US-9.5/9.6 人工方案佣金(通过 CommerceService 结算,平台留存模型)
|
|
|
|
|
|
---
|
|
|
|
|
|
-## EPIC 7:批注与客户管理(P2)
|
|
|
+## EPIC 9:学业方向分析与人工方案(P1)
|
|
|
+
|
|
|
+> **场景**:家长为孩子选择学业方向,通过AI解读初步了解孩子的天赋倾向,如需深度方案可申请能量师出方案。
|
|
|
+> **佣金模型**:人工方案采用**平台佣金留存模型**(区别于年费的固定金额/比例模型),所有分销佣金从平台留存部分支出。
|
|
|
+> **商城底座**:引入 lilishop(`iwt/lilishop`)作为商城引擎,本期通过 `CommerceService` 接口层预留对接,暂不实现实际商城付费。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.1 学业方向AI深度解读
|
|
|
+
|
|
|
+**作为** 家长
|
|
|
+**我希望** 输入孩子的生日后,看到针对学业方向的AI深度解读
|
|
|
+**以便** 了解孩子的天赋倾向,为学业规划提供参考
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**入口:**
|
|
|
+1. 命盘解读页底部增加"🎓 学业方向分析"按钮(位于通用解读下方第二行)
|
|
|
+2. 点击后调用新接口 `POST /api/chart/academic-orientation`
|
|
|
+
|
|
|
+**AI 解读内容:**
|
|
|
+3. 后端转发至 Dify **学业方向专用 Workflow**,命盘24个数字(A-X)作为 `inputs`
|
|
|
+4. 解读内容至少包含以下章节:
|
|
|
+ - **天赋倾向**:基于主性格数字+外部三组数的自然天赋分析
|
|
|
+ - **适合方向**:文科倾向/理科倾向/艺术特长/体育潜能等,用百分比表示匹配度
|
|
|
+ - **学习特征**:专注力、理解方式、学习节奏偏好(基于J/K/L位置分析)
|
|
|
+ - **亲子沟通建议**:针对该命盘类型的孩子,应采用的沟通和教育方式
|
|
|
+ - **关键期提醒**:V/W/X中年区对应的升学/职业选择重要节点
|
|
|
+5. 每个章节独立卡片展示,可折叠展开
|
|
|
+6. 页面底部显示"💡 以上分析由AI生成,如需人工深度方案,可申请能量师出方案"
|
|
|
+
|
|
|
+**付费控制:**
|
|
|
+7. 免费用户每日可查看 1 次学业方向解读(与 US-3.2 主性格概要**独立配额**,互不消耗)
|
|
|
+8. 已付费用户(C端/能量师)不限次
|
|
|
+9. 超出次数后显示引导卡片:"今日学业分析次数已用完,开通会员享无限次"
|
|
|
+
|
|
|
+**技术架构:**
|
|
|
+10. 在 Dify 平台新增学业方向 Workflow,Workflow 输入为 24 个命盘数字(A-X),输出为结构化 JSON
|
|
|
+11. 后端 `DifyService` 新增方法 `interpretAcademicOrientation(AcademicRequest request)`
|
|
|
+12. 解读结果缓存同 US-3.3(同一命盘+同一天内重复请求返回缓存内容)
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.2 申请能量师出方案
|
|
|
+
|
|
|
+**作为** 家长
|
|
|
+**我希望** 在AI学业解读后,申请能量师为孩子出具深度人工方案
|
|
|
+**以便** 获得比AI更个性化的专业指导
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**入口与表单:**
|
|
|
+1. AI学业解读页底部固定"申请能量师出方案"按钮
|
|
|
+2. 通用AI解读页底部也显示"💼 申请人工深度方案"按钮
|
|
|
+3. 点击后弹出半屏表单,包含:
|
|
|
+ - **需求类型**:学业方向 / 职业规划 / 亲子关系 / 其他(单选)
|
|
|
+ - **具体需求描述**:文本输入框,限300字
|
|
|
+ - **期望价格范围**:下拉选项(¥50-99 / ¥100-299 / ¥300-499 / ¥500-999 / 面议)
|
|
|
+4. 提交后生成一条"方案需求单"记录
|
|
|
+
|
|
|
+**需求分配:**
|
|
|
+5. 如果用户有 `invitedBy` 且上级是能量师(`vipType='practitioner'`)→ 自动把需求单分配给该能量师
|
|
|
+6. 如果没有上级能量师 → 显示"暂未开放系统分配,请通过推荐链接找到专属能量师"
|
|
|
+7. 分配后能量师收到通知(US-8.3 消息通知或在能量师工作台看到)
|
|
|
+
|
|
|
+**数据库新增:**
|
|
|
+8. `plan_requests` 表:`id, userId, chartId, requestType, description, budgetRange, assignedPractitionerId, status(pending/accepted/negotiating/paid/completed/cancelled), price, createdAt, updatedAt`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.3 能量师介入AI会话
|
|
|
+
|
|
|
+**作为** 能量师
|
|
|
+**我希望** 看到向我咨询用户的AI会话,并可以发起介入
|
|
|
+**以便** 在用户需要时主动提供专业建议,促成人工方案
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**触发条件:**
|
|
|
+1. 仅 `invitedBy` 关系链中的能量师(B推荐A,A是B的上级)才能介入B的AI会话
|
|
|
+2. 能量师在"能量师工作台"看到下级用户的咨询记录列表(来自 `invitedBy` 关系链,仅显示有实际咨询的用户)
|
|
|
+3. 列表显示:用户头像/昵称/命盘日期/最后活跃时间
|
|
|
+
|
|
|
+**介入流程:**
|
|
|
+4. 能量师点击某个用户 → 进入"咨询监看"页面(只读模式查看AI聊天记录)
|
|
|
+5. 页面底部有"介入会话"按钮
|
|
|
+6. 点击后,用户侧聊天界面出现系统消息:**"🔔 能量师 张三 已进入本次咨询"**
|
|
|
+7. 能量师侧出现输入框,可发送文字消息
|
|
|
+8. 用户侧聊天流中,能量师消息显示为:**"👤 能量师张三:消息内容"**(绿色气泡,区别于AI的灰色气泡)
|
|
|
+9. AI继续正常回答,能量师和AI的回答在聊天中交替显示
|
|
|
+
|
|
|
+**权限边界:**
|
|
|
+10. 用户随时可"请出能量师"(在消息长按菜单中选择"结束能量师介入")
|
|
|
+11. 用户主动关闭后,能量师侧显示"用户已结束本次协同咨询"
|
|
|
+12. 每次介入在 `chat_interventions` 表记录
|
|
|
+
|
|
|
+**数据库新增:**
|
|
|
+13. `chat_interventions` 表:`id, sessionId, practitionerId, startTime, endTime, endedBy(user/practitioner)`
|
|
|
+14. `chat_messages` 表新增 `senderType` 枚举:`ai` / `user` / `practitioner` / `system` / `proposal`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.4 方案价格协商
|
|
|
+
|
|
|
+**作为** 能量师
|
|
|
+**我希望** 在聊天中向用户发送方案提议,并可与用户协商价格
|
|
|
+**以便** 双方达成一致后完成付费
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**出方案提议:**
|
|
|
+1. 能量师在聊天输入框左侧有"📋 出方案"按钮
|
|
|
+2. 点击弹出结构化表单:
|
|
|
+ - 方案标题(限50字)
|
|
|
+ - 方案描述(限500字)
|
|
|
+ - 方案价格(手动输入,单位元,整数,范围受系统配置限制)
|
|
|
+3. 发送后在聊天中显示方案卡片(嵌入消息格式)
|
|
|
+
|
|
|
+**方案卡片交互:**
|
|
|
+4. 卡片包含:标题、描述、价格(¥XXX)、能量师名称
|
|
|
+5. 用户侧卡片有三个操作按钮:
|
|
|
+ - **"💰 接受并支付"** → 进入 US-9.5 支付流程
|
|
|
+ - **"💬 议价"** → 弹出输入框,用户输入期望价格
|
|
|
+ - **"❌ 不感兴趣"** → 卡片标记为已拒绝,通知能量师
|
|
|
+6. 用户议价后,能量师侧收到新消息:"用户希望价格改为 ¥XXX"
|
|
|
+7. 能量师可:
|
|
|
+ - 接受新价 → 发送更新后的方案卡片(价格更新)
|
|
|
+ - 坚持原价 → 回复文字说明
|
|
|
+ - 提出折中价 → 发送新的方案卡片
|
|
|
+
|
|
|
+**状态管理:**
|
|
|
+8. 一条 `plan_requests` 记录对应多轮协商历史
|
|
|
+9. 每次更新价格或状态在 `plan_request_logs` 表记录
|
|
|
+10. 最大协商轮次 5 轮(超限后只能接受或拒绝当前价格)
|
|
|
+
|
|
|
+**数据库新增:**
|
|
|
+11. `plan_request_logs` 表:`id, planRequestId, action(propose/counter/accept/reject), oldPrice, newPrice, message, operatorId, createdAt`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.5 方案付费与交付
|
|
|
+
|
|
|
+**作为** 家长
|
|
|
+**我希望** 接受能量师方案报价后在线支付,并收到完整的方案报告
|
|
|
+**以便** 获得专业的学业指导
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**支付:**
|
|
|
+1. 用户点击"接受并支付" → 弹出半屏支付确认页
|
|
|
+2. 支付确认页显示:服务名称、能量师名称、协商价格、微信支付按钮
|
|
|
+3. 点击支付 → `createOrder(productType="practitioner_plan", planRequestId=xxx)`
|
|
|
+4. 订单 `productType = "practitioner_plan"`(新增类型)
|
|
|
+5. 支付回调 → 调用 `CommerceService.onPaymentSuccess()` 处理平台佣金计算
|
|
|
+
|
|
|
+**平台佣金计算(StubCommerceService):**
|
|
|
+6. 读取分类佣金率:`commerce.category.practitioner_plan.commission_rate`(默认 `3000` = 30%)
|
|
|
+7. 平台佣金 = 总价 × commission_rate / 10000(单位分)
|
|
|
+8. 能量师应结算 = 总价 - 平台佣金
|
|
|
+9. 如有上级推荐 → 从平台佣金中提取分销佣金:
|
|
|
+ - 直接上级提成 = 平台佣金 × `commission.practitioner_plan.referral_rate` / 10000(默认 `2000` = 20%)
|
|
|
+ - 上上级提成 = 平台佣金 × `commission.practitioner_plan.upstream_rate` / 10000(默认 `500` = 5%)
|
|
|
+
|
|
|
+**示例计算:**
|
|
|
+```
|
|
|
+方案价 ¥299,平台佣金率 30%
|
|
|
+平台佣金 = ¥299 × 30% = ¥89.70
|
|
|
+能量师结算 = ¥299 - ¥89.70 = ¥209.30
|
|
|
+有直接上级:分销佣金 = ¥89.70 × 20% = ¥17.94
|
|
|
+平台净留 = ¥89.70 - ¥17.94 = ¥71.76
|
|
|
+```
|
|
|
+
|
|
|
+**交付:**
|
|
|
+10. 能量师收到支付成功通知
|
|
|
+11. 能量师工作台出现"方案交付入口"
|
|
|
+12. 交付支持三种方式:
|
|
|
+ - **文字方案**:富文本编辑器输入,保存到 `plan_deliveries.text_content`
|
|
|
+ - **PDF方案**:上传PDF文件(与US-2.2共用PDF生成能力)
|
|
|
+ - **图文报告**:混合内容,包含命盘截图+文字解读
|
|
|
+13. 交付后用户收到通知 + 聊天显示"📄 您的学业方案已交付"
|
|
|
+14. 用户可查看/下载方案,平台不额外限制次数
|
|
|
+
|
|
|
+**评价与完成:**
|
|
|
+15. 用户确认接收方案 → 状态 `completed`
|
|
|
+16. 用户可对能量师服务进行评分(1-5星)+ 文字评价
|
|
|
+17. 评价写入 `practitioner_ratings` 表
|
|
|
+
|
|
|
+**数据库新增:**
|
|
|
+18. `plan_deliveries` 表:`id, planRequestId, deliveryType(text/pdf/mixed), textContent, fileUrl, createdAt`
|
|
|
+19. `practitioner_ratings` 表:`id, planRequestId, userId, practitionerId, score(1-5), comment, createdAt`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### US-9.6 人工方案分销佣金(平台留存口径)
|
|
|
+
|
|
|
+**作为** 平台
|
|
|
+**我希望** 当用户购买人工方案时,从平台佣金中自动结算分销佣金
|
|
|
+**以便** 激励推广者推荐用户给能量师
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**触发条件:**
|
|
|
+1. 订单 `productType = "practitioner_plan"` 且支付成功 → 进入分佣流程
|
|
|
+2. 佣金来自平台留存部分(不是从能量师结算金额中扣除)
|
|
|
+
|
|
|
+**佣金参数:**
|
|
|
+| 参数 | 默认值 | 配置键 |
|
|
|
+|------|--------|--------|
|
|
|
+| 平台佣金率 | 30% | `commerce.category.practitioner_plan.commission_rate` |
|
|
|
+| 直接上级分销比例 | 20%(占平台佣金) | `commission.practitioner_plan.referral_rate` |
|
|
|
+| 上上级分销比例 | 5%(占平台佣金) | `commission.practitioner_plan.upstream_rate` |
|
|
|
+
|
|
|
+**计算逻辑:**
|
|
|
+3. `platformCommission = totalFee × commission_rate / 10000`
|
|
|
+4. `referralCommission = platformCommission × referral_rate / 10000`
|
|
|
+5. `upstreamCommission = platformCommission × upstream_rate / 10000`
|
|
|
+6. 收款人资格同 US-6.4(须已付费用户才可收款)
|
|
|
+
|
|
|
+**状态与幂等:**
|
|
|
+7. 佣金 `status` 写入 `"settled"`(即时到账)
|
|
|
+8. 同一 `outTradeNo` 重复回调 → 幂等处理
|
|
|
+
|
|
|
+**示例:**
|
|
|
+```
|
|
|
+方案价 ¥299(29,900分)
|
|
|
+平台佣金率 30%
|
|
|
+平台佣金 = 29,900 × 30% = 8,970分 = ¥89.70
|
|
|
+直接上级佣金 = 8,970 × 20% = 1,794分 = ¥17.94
|
|
|
+上上级佣金 = 8,970 × 5% = 448分 = ¥4.48
|
|
|
+能量师结算 = 29,900 - 8,970 = 20,930分 = ¥209.30
|
|
|
+平台净留 = 8,970 - 1,794 - 448 = 6,728分 = ¥67.28
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### CommerceService 接口层(商城预留)
|
|
|
+
|
|
|
+> 本期不实现 lilishop 对接,先定义接口 + 桩实现。
|
|
|
+
|
|
|
+**接口:**
|
|
|
+```java
|
|
|
+public interface CommerceService {
|
|
|
+ /** 创建商品(能量师上架服务) */
|
|
|
+ String createProduct(CommerceProductDTO product);
|
|
|
+
|
|
|
+ /** 创建订单 */
|
|
|
+ String createOrder(CommerceOrderDTO order);
|
|
|
+
|
|
|
+ /** 订单支付回调处理 */
|
|
|
+ void onPaymentSuccess(String orderSn, String payOrderNo);
|
|
|
+
|
|
|
+ /** 查询订单 */
|
|
|
+ CommerceOrderDTO getOrder(String orderSn);
|
|
|
+
|
|
|
+ /** 获取店铺结算信息 */
|
|
|
+ CommerceSettlementDTO getSettlement(String storeId);
|
|
|
+
|
|
|
+ /** 记录分销订单 */
|
|
|
+ void recordDistribution(String orderSn);
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**Phase 1 桩实现(StubCommerceService):**
|
|
|
+| 方法 | 实现策略 |
|
|
|
+|------|---------|
|
|
|
+| `createProduct` | 写入本地 `commerce_goods` 映射表 |
|
|
|
+| `createOrder` | 走现有本地 `orders` 表 + 标记 `commerceReady=false` |
|
|
|
+| `onPaymentSuccess` | 执行本地佣金计算逻辑(US-9.5 验收标准6-9) |
|
|
|
+| `getSettlement` | 从本地佣金表聚合统计 |
|
|
|
+| `recordDistribution` | 走现有 `commissions` 表逻辑 |
|
|
|
+
|
|
|
+**Phase 2+ 对接 lilishop:**
|
|
|
+- `createProduct` → lilishop Goods API
|
|
|
+- `createOrder` → lilishop Order API
|
|
|
+- `onPaymentSuccess` → 创建 StoreFlow + DistributionOrder
|
|
|
+- `getSettlement` → lilishop Bill API
|
|
|
+- `recordDistribution` → lilishop Distribution API
|
|
|
+
|
|
|
+**数据库新增:**
|
|
|
+```sql
|
|
|
+-- lilishop 商品映射表(预留)
|
|
|
+CREATE TABLE `commerce_goods` (
|
|
|
+ `id` bigint PRIMARY KEY AUTO_INCREMENT,
|
|
|
+ `store_id` varchar(32) NOT NULL COMMENT '能量师storeId(= userId)',
|
|
|
+ `product_type` varchar(32) NOT NULL COMMENT '商品类型:practitioner_plan',
|
|
|
+ `lilishop_goods_id` varchar(32) DEFAULT NULL COMMENT 'lilishop商品ID(Phase 2 填充)',
|
|
|
+ `category_path` varchar(255) DEFAULT NULL COMMENT 'lilishop分类路径',
|
|
|
+ `price` bigint NOT NULL COMMENT '价格(分)',
|
|
|
+ `status` varchar(16) DEFAULT 'active' COMMENT '状态',
|
|
|
+ `created_at` datetime NOT NULL,
|
|
|
+ `updated_at` datetime DEFAULT NULL
|
|
|
+);
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
|
|
|
### US-7.1 命盘批注
|
|
|
|
|
|
@@ -1228,6 +1525,17 @@ settings/index.vue
|
|
|
├── el-form-item: 直接佣金比例 → el-input-number(min=0, max=10000, step=500)
|
|
|
├── el-form-item: 上级佣金比例 → el-input-number(min=0, max=5000, step=100)
|
|
|
└── 实时分配预览
|
|
|
+├── el-card (人工方案配置 — EPIC 9)
|
|
|
+│ ├── el-form-item: 平台佣金率 → el-input-number(min=0, max=10000, step=500)
|
|
|
+│ │ └── 注记:方案价 × 佣金率 = 平台收入,剩余结算给能量师
|
|
|
+│ ├── el-form-item: 分销佣金占比(直接) → el-input-number(min=0, max=10000, step=500)
|
|
|
+│ │ └── 注记:从平台佣金中提取 × 此比例 = 直接上级佣金
|
|
|
+│ ├── el-form-item: 分销佣金占比(上级) → el-input-number(min=0, max=5000, step=100)
|
|
|
+│ │ └── 注记:从平台佣金中提取 × 此比例 = 上上级佣金
|
|
|
+│ ├── el-form-item: 方案最低价 → el-input-number(min=0, max=999999, step=100)
|
|
|
+│ ├── el-form-item: 方案最高价 → el-input-number(min=0, max=999999, step=100)
|
|
|
+│ │ └── 实时预览示例:方案价¥299→佣金¥89.70→能量师¥209.30→分销¥17.94
|
|
|
+│ └── el-form-item: 最大协商轮次 → el-input-number(min=1, max=20, step=1)
|
|
|
```
|
|
|
|
|
|
**表单校验规则:**
|
|
|
@@ -1244,15 +1552,23 @@ settings/index.vue
|
|
|
|
|
|
```sql
|
|
|
INSERT INTO `sys_config` (`config_key`, `config_value`, `description`, `value_type`) VALUES
|
|
|
-('pricing.practitioner.seed', '131400', '能量师种子价(分)', 'price'),
|
|
|
-('pricing.practitioner.standard', '198600', '能量师标准价(分)', 'price'),
|
|
|
-('pricing.practitioner.seed_limit', '300', '种子价名额上限', 'int'),
|
|
|
-('pricing.annual', '13100', 'C端年费(分)', 'price'),
|
|
|
+('pricing.practitioner.seed', '131400', '能量师种子价(分)', 'price'),
|
|
|
+('pricing.practitioner.standard', '198600', '能量师标准价(分)', 'price'),
|
|
|
+('pricing.practitioner.seed_limit', '300', '种子价名额上限', 'int'),
|
|
|
+('pricing.annual', '13100', 'C端年费(分)', 'price'),
|
|
|
('commission.practitioner.l1', '50000', 'B端一级佣金-能量师推荐(分)', 'price'),
|
|
|
('commission.practitioner.l1_cend', '20000', 'B端一级佣金-C端推荐(分)', 'price'),
|
|
|
-('commission.practitioner.l2', '10000', 'B端二级佣金(分)', 'price'),
|
|
|
-('commission.annual.direct_rate', '4000', 'C端直接佣金比例(万分比)', 'percent'),
|
|
|
-('commission.annual.upstream_rate', '500', 'C端上级佣金比例(万分比)', 'percent');
|
|
|
+('commission.practitioner.l2', '10000', 'B端二级佣金(分)', 'price'),
|
|
|
+('commission.annual.direct_rate', '4000', 'C端直接佣金比例(万分比)', 'percent'),
|
|
|
+('commission.annual.upstream_rate', '500', 'C端上级佣金比例(万分比)', 'percent'),
|
|
|
+('commerce.category.practitioner_plan.commission_rate', '3000', '人工方案平台佣金率(万分比)', 'percent'),
|
|
|
+('commission.practitioner_plan.referral_rate', '2000', '人工方案分销佣金占比(万分比)', 'percent'),
|
|
|
+('commission.practitioner_plan.upstream_rate', '500', '人工方案上级佣金占比(万分比)', 'percent'),
|
|
|
+('plan_request.enabled', 'true', '人工方案功能开关', 'bool'),
|
|
|
+('plan_request.max_negotiation_rounds', '5', '最大协商轮次', 'int'),
|
|
|
+('plan_request.auto_cancel_hours', '72', '协商超时自动取消(小时)', 'int'),
|
|
|
+('plan_request.min_price', '5000', '方案最低价(分)', 'price'),
|
|
|
+('plan_request.max_price', '999900', '方案最高价(分)', 'price');
|
|
|
```
|
|
|
|
|
|
---
|
|
|
@@ -1261,7 +1577,7 @@ INSERT INTO `sys_config` (`config_key`, `config_value`, `description`, `value_ty
|
|
|
|
|
|
| # | 场景 | 步骤 | 预期 |
|
|
|
|---|------|------|------|
|
|
|
-| 1 | 初始加载 | 打开系统配置页 | 9个字段显示正确的默认值 |
|
|
|
+| 1 | 初始加载 | 打开系统配置页 | 16个字段显示正确的默认值 |
|
|
|
| 2 | 修改定价 | 种子价改为 ¥2,000 → 保存 | 下次 `POST /api/pricing/current` 返回 seedPrice=200000 |
|
|
|
| 3 | 修改佣金 | L1 改为 ¥600 → 保存 | 新订单的佣金 amount=60000 |
|
|
|
| 4 | 比例联动 | 直接佣金改为 50% | 下方显示"每笔¥131:直接¥65.50 / 上级¥6.55 / 平台¥58.95" |
|
|
|
@@ -1472,6 +1788,12 @@ INSERT INTO `sys_config` (`config_key`, `config_value`, `description`, `value_ty
|
|
|
| US-8.1 系统配置管理 | **P0** | **2天** | **无(独立基础设施)** |
|
|
|
| US-8.2 订单管理 | P1 | 1.5天 | US-4.1 + Order 新增字段 |
|
|
|
| US-8.3 佣金查看 | P1 | 1天 | US-6.3 |
|
|
|
+| US-9.1 学业方向AI解读 | P1 | 2天 | US-1.1 + Dify学业Workflow |
|
|
|
+| US-9.2 申请能量师出方案 | P1 | 1.5天 | US-5.1 + US-9.1 |
|
|
|
+| US-9.3 能量师介入AI会话 | P1 | 2天 | US-5.1 + US-3.4 |
|
|
|
+| US-9.4 方案价格协商 | P1 | 1.5天 | US-9.3 |
|
|
|
+| US-9.5 方案付费与交付 | P1 | 2天 | US-9.4 + CommerceService 接口 |
|
|
|
+| US-9.6 人工方案分销佣金 | P1 | 1天 | US-9.5 + US-8.1 |
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -1518,6 +1840,33 @@ US-6.3 B端佣金结算 ◄──────────────┘(共
|
|
|
US-6.5 分销面板(前端展示所有数据)
|
|
|
```
|
|
|
|
|
|
+## EPIC 9 依赖图(学业方向+人工方案)
|
|
|
+
|
|
|
+```
|
|
|
+US-8.1 系统配置(人工方案参数——独立基础设施)
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+US-9.1 学业方向AI解读(Dify学业Workflow)
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+US-9.2 申请能量师出方案
|
|
|
+ │
|
|
|
+ ├──(有上级能量师)──► US-9.3 能量师介入AI会话
|
|
|
+ │ │
|
|
|
+ └──(无上级)→ 提示找推荐链接 │
|
|
|
+ ▼
|
|
|
+ US-9.4 方案价格协商
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+ US-9.5 方案付费与交付
|
|
|
+ │ │
|
|
|
+ │ ▼
|
|
|
+ │ US-9.6 人工方案分销佣金
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+ CommerceService 接口层(lilishop预留)
|
|
|
+```
|
|
|
+
|
|
|
## 排期建议
|
|
|
|
|
|
| 周次 | 交付内容 |
|
|
|
@@ -1526,10 +1875,11 @@ US-6.5 分销面板(前端展示所有数据)
|
|
|
| **Week 2** | US-1.1 咨询发起(依赖US-5.1登录) → US-1.2 三角可视化 → US-1.3 计算规则实现(附录A Step 1-6) |
|
|
|
| **Week 3** | US-3.1 AI解读 + Dify Workflow配置(附录B) → US-3.3 缓存 → US-3.2 免费/付费控制 |
|
|
|
| **Week 4** | US-3.4 AI问答 + Dify Chatflow配置(附录B) → US-2.1 分享图片 → US-2.2 PDF导出 |
|
|
|
-| **Week 5** | US-4.1 能量师付费 + US-4.2 种子价 + US-6.6 C端订阅入口 |
|
|
|
+| **Week 5** | US-4.1 能量师付费 + US-4.2 种子价 + US-6.6 C端订阅入口 → **US-9.1 学业Dify Workflow配置** |
|
|
|
| **Week 6** | US-6.2 带参注册 → US-6.1 推广码 → US-6.3 B端佣金(含升级补差) |
|
|
|
-| **Week 7** | US-6.4 C端佣金 → US-6.5 分销面板 + US-8.2 订单管理 |
|
|
|
+| **Week 7** | US-6.4 C端佣金 → US-6.5 分销面板 + US-8.2 订单管理 → **US-9.2 需求单 + US-9.3 介入会话** |
|
|
|
| **Week 8** | 联调测试 + US-8.3 佣金查看 + US-4.3 订阅状态/续费 + US-4.4 升级能量师 + BUG修复 |
|
|
|
+| **Week 9+** | **US-9.4 价格协商 + US-9.5 付费交付 + US-9.6 分佣 → CommerceService 接口层** |
|
|
|
|
|
|
> **Phase 1 总预估:约 8 周(含联调测试)**
|
|
|
> 排期原则:先做核心流程(登录→命盘→AI),再做支付分销。US-8.1(配置系统)作为基础设施优先完成,保障后续所有定价依赖。
|
|
|
@@ -1938,14 +2288,15 @@ dify:
|
|
|
4. **Java 集成**:开发 `DifyService.java`,调通 Workflow 和 Chatflow 两个 API
|
|
|
5. **联调验收**:前端通过后端调用 Dify,验证解读质量和问答效果
|
|
|
|
|
|
-### B.8 与现有 US 的对应关系
|
|
|
+### B.8 与 US 的对应关系
|
|
|
|
|
|
| Dify 组件 | 对应 US | 备注 |
|
|
|
|-----------|---------|------|
|
|
|
-| Workflow(命盘解读) | US-3.1 AI解读展示、US-3.2 付费控制 | Workflow 输出由 UC-3.2 决定是否全文展示 |
|
|
|
-| Chatflow(AI问答) | US-3.4 AI交互问答 | 配额控制在 Java 后端,不经过 Dify |
|
|
|
-| 知识库 | US-3.1、US-3.4 | 两个工作流共用同一套知识库 |
|
|
|
-| 无(纯后端) | US-3.3 解读内容缓存 | 缓存逻辑在 Java 后端,不涉及 Dify |
|
|
|
+| Workflow(命盘解读) | US-3.1 AI解读展示、US-3.2 付费控制 | Workflow 输出由 US-3.2 决定是否全文展示 |
|
|
|
+| **Workflow(学业方向)** | **US-9.1 学业方向AI解读** | **新增专用Workflow,输入24个A-X数字,输出学业方向分析JSON** |
|
|
|
+| Chatflow(AI问答) | US-3.4 AI交互问答 | 配额控制在 Java 后端,不经过 Dify;能量师介入消息不走Dify |
|
|
|
+| 知识库 | US-3.1、US-3.4、US-9.1 | 三个工作流共用同一套知识库 |
|
|
|
+| 无(纯后端) | US-3.3 解读内容缓存、US-9.5 CommerceService | 缓存逻辑在 Java 后端,不涉及 Dify |
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -1975,6 +2326,7 @@ dify:
|
|
|
AI解读·主性格概要 1次/天 不限 不限
|
|
|
AI解读·完整五区 ❌ ✅ ✅
|
|
|
AI问答互动 3轮/天 不限 不限
|
|
|
+学业方向AI解读 1次/天 不限 不限
|
|
|
|
|
|
分享图片到微信 1次/天 不限 不限
|
|
|
导出PDF报告 ❌ 不限 不限
|
|
|
@@ -1983,6 +2335,9 @@ AI问答互动 3轮/天 不限 不限
|
|
|
推广码+分销面板 ❌ ✅ ✅
|
|
|
推广C端年费得佣金 ❌ 40%+5%分成 40%+5%分成
|
|
|
推广能量师年费得佣金 ❌ ❌ ¥500 + ¥100
|
|
|
+申请能量师出方案 ✅ ✅ ✅
|
|
|
+能量师介入AI会话 ❌(被动) ❌(被动) ✅(主动)
|
|
|
+接受人工方案付费 ✅ ✅ ✅
|
|
|
命盘批注(P2) ❌ ✅ ✅
|
|
|
客户标签分组(P2) ❌ ❌ ✅
|
|
|
个人资料编辑 ✅ ✅ ✅
|
|
|
@@ -2095,3 +2450,6 @@ profile_complete: true/false true/false true/false
|
|
|
| C端佣金:上级须已付费才结算 | US-6.4 |
|
|
|
| 批注:仅已付费用户 | US-7.1 |
|
|
|
| 标签:仅能量师(practitioner)可用 | US-7.2 |
|
|
|
+| 学业方向AI解读:普通用户1次/天 | US-9.1 |
|
|
|
+| 能量师介入AI会话:仅上级能量师可介入 | US-9.3 |
|
|
|
+| 人工方案分佣:平台留存模型 | US-9.6 |
|