Files
Neo-ZQYY/docs/prd/specs/01-SPEC任务拆分总览.md

389 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SPEC 任务拆分总览
> 生成日期2026-02-23
> 按依赖优先级排序,按 SPEC 边界分组,面向 Kiro SPEC 工作流
> **数据字段权威参考**:各 SPEC 涉及的 DWD/DWS 层字段来源、金额口径、业务逻辑,
> 以 `docs/reports/DWD-DOC/` 校准文档为准(数据快照 2026-03-06
> 核心规则:
> - `consume_money` 存在三种历史口径混合,不可直接使用;应使用 `items_sum`= table_charge_money + goods_money + assistant_pd_money + assistant_cx_money + electricity_money
> - 收入结构拆分为台桌费、陪打费、超休费、商品费、电费五项,不使用笼统的 `service_fee`
> - 详见 [consume_money 口径说明](../reports/DWD-DOC/consume/consume-money-caliber.md)、[财务全景](../reports/DWD-DOC/03-financial-panorama.md)
---
## 执行顺序总览
```
P1 基础设施层(数据库 Schema + FDW + RLS
P2 ETL 扩展层DWS 新表 + 字段扩展 + SPI 指数)
P3 用户认证层(微信登录 + 申请审核 + 权限体系)
P4 核心业务层(任务系统 + 备注系统 + 触发器机制)
P5 AI 集成层(百炼对接 + 对话系统 + 轮询缓存)
P6 小程序前端-任务模块task-list + task-detail + notes
P7 小程序前端-绩效模块performance + performance-records
P8 小程序前端-看板模块board-finance + board-customer + board-coach
P9 小程序前端-详情模块customer-detail + coach-detail + chat
P10 租户管理后台(独立 Web 应用 + Excel 上传)
P11 部署与上线(环境配置 + 监控 + 灰度)
```
---
## P1基础设施层 — 数据库 Schema + FDW + RLS
### SPEC 名称建议:`miniapp-db-foundation`
### 需求概述
为小程序建立完整的数据库基础设施,包括业务库 Schema 规划、ETL 库 RLS 视图层、FDW 外部表映射。这是所有后续 SPEC 的硬依赖。
### 关键交付物
1. `test_zqyy_app` 新建 Schema`auth`(用户认证)、`biz`(业务数据)
2. `test_etl_feiqiu.app` Schema为所有需要 FDW 映射的 DWS/DWD 表创建 RLS 视图(按 `site_id` 隔离)
3. `test_zqyy_app.fdw_etl` Schema创建全部 FDW 外部表(约 33 张,见数据依赖矩阵)
4. 迁移脚本:`db/zqyy_app/migrations/` + `db/etl_feiqiu/migrations/`
### 依赖
- 无前置依赖(第一个 SPEC
### 验收标准
- `fdw_etl` 下所有外部表可正常 SELECT
- RLS 视图按 `site_id` 正确过滤
- `auth``biz` Schema 存在且权限正确
---
## P2ETL 扩展层 — DWS 新表 + 字段扩展 + SPI 指数
### SPEC 名称建议:`etl-dws-miniapp-extensions`
### 需求概述
扩展 ETL 的 DWS 层以支持小程序的数据需求,包括新建 SPI 指数表、助教订单流水统计表,以及扩展现有表的字段。
### 关键交付物
1. 新建 `dws.dws_member_spending_power_index`SPI 消费力指数,含 Level/Speed/Stability 子分)
2. 新建 `dws.dws_assistant_order_contribution`(助教订单流水四项统计)
3. 扩展 `dws.dws_member_consumption_summary`:增加 30/60/90 天充值次数/金额、次均消费
4. 扩展 `dws.dws_assistant_daily_detail`:增加定档折算惩罚字段
5. 新建 ETL 任务:`SpendingPowerIndexTask``AssistantOrderContributionTask`
6. 扩展现有 ETL 任务以填充新字段
7. 更新 `app` Schema RLS 视图 + FDW 映射(新表)
### 依赖
- P1FDW 基础设施就绪后才能验证端到端)
### 验收标准
- SPI 指数可正常计算并写入,展示分 0-10 分布合理
- 四项助教流水统计数值正确(对照 PRD 示例验算)
- 消费汇总表新字段有值
- 定档折算惩罚字段在符合条件的订单上正确填充
### 四项统计命名方案Q1.3
| 序号 | 中文名 | 英文字段名 | 含义 |
|------|--------|-----------|------|
| 1 | 订单总流水 | `order_gross_revenue` | 助教参与订单的全部流水 |
| 2 | 订单净流水 | `order_net_revenue` | 订单总流水 - 助教服务分成 |
| 3 | 时效贡献流水 | `time_weighted_revenue` | 按服务时长折算的助教个人贡献 |
| 4 | 时效净贡献 | `time_weighted_net_revenue` | 时效贡献流水 - 助教服务分成 |
---
## P3用户认证层 — 微信登录 + 申请审核 + 权限体系
### SPEC 名称建议:`miniapp-auth-system`
### 需求概述
构建小程序的完整用户认证体系包括微信登录、用户申请、审核流程、RBAC 权限、用户-助教/员工绑定。
### 关键交付物
1. 新建表:`auth.users`(重构,增加 wx_openid、status、site_id 等)、`auth.user_applications``auth.site_code_mapping``auth.user_assistant_binding`(增加 `staff_id` 字段支持员工绑定)
2. 重构现有 `public.roles``public.permissions``public.user_roles``public.role_permissions` 迁移至 `auth` Schema
3. 后端 API微信 code2Session 登录、用户申请提交、JWT 签发
4. 后端 API用户状态查询审核中/通过/拒绝)
5. 权限中间件:基于角色的 API 访问控制
6. 人员匹配:用户申请时同时在助教表(`dim_assistant`)和员工信息表(`dim_staff` + `dim_staff_ex`)中匹配
### 依赖
- P1`auth` Schema 已创建)
### 验收标准
- 微信登录 → 新用户自动创建申请记录
- 申请状态正确流转pending → approved/rejected
- JWT 签发与验证正常
- 权限中间件正确拦截无权请求
---
## P4核心业务层 — 任务系统 + 备注系统 + 触发器机制
### SPEC 名称建议:`miniapp-core-business`
### 需求概述
实现小程序的核心业务逻辑:助教任务生成/管理、备注系统、后台触发器/轮询机制。
### 关键交付物
#### 任务系统
1. 新建表:`biz.coach_tasks``biz.coach_task_history`
2. 任务生成器:每日 4:00 后运行,基于指数计算为每个助教分配任务
3. 任务类型:高优先召回、优先召回、客户回访、关系构建(优先级从高到低)
4. 任务状态机:有效/无效 + 有效期机制
5. 48 小时回访滞留逻辑
6. 召回完成检测ETL 数据到达后自动标记)
7. 数据回溯机制(召回完成后回溯备注分类 + 触发 AI 备注分析)
8. 任务置顶/放弃 API
#### 备注系统
9. 新建表:`biz.notes`type 区分:普通/回访/放弃原因,含星星评分字段 `rating_service_willingness``rating_revisit_likelihood` 各 1-5 可空)
10. 备注 CRUD API含星星评分的存储与读取
11. 生日信息已迁移至维客线索系统(`member_retention_clue`),不再作为 notes type
#### 触发器机制
12. 新建表:`biz.trigger_jobs`(触发器配置与执行日志)
13. 轮询调度框架:支持按条件触发(数据变更、定时、事件驱动)
14. 任务状态轮询(每小时检查有效期)
### 依赖
- P1数据库基础
- P2指数数据可用用于任务生成器
- P3用户认证知道当前助教身份
### 验收标准
- 任务生成器正确按指数分配 4 种类型任务
- 同客户-助教-类型跳过,不同类型关闭旧任务+新建
- 48 小时滞留机制正常工作
- 召回完成后自动标记任务完成
- 数据回溯正确将普通备注重分类为回访备注
- 备注 CRUD 正常,维客线索独立于 ETL 数据
- 备注星星评分正确存储(不参与完成判定,不参与应用 6 分析,仅辅助数据)
- 回访任务默认展开评分区域,其他任务类型默认隐藏可手动展开
---
## P5AI 集成层 — 百炼对接 + 对话系统 + 轮询缓存
### SPEC 名称建议:`miniapp-ai-integration`
### ⚠️ 两阶段交付策略2026-03-07 评审决定)
应用 3/4/5/6/7 的首条 Prompt JSON 结构包含占位符字段(`consumption_records``service_history``objective_data` 等),这些字段的具体结构取决于对应页面 API 的数据格式。因此 P5 拆分为两个阶段:
- P5-A当前阶段建表、百炼封装、缓存 API、SSE 框架 + Prompt 已确定的应用(应用 2、应用 8+ 应用 3/4/5/6/7 的触发机制和调用骨架
- P5-BPrompt 细化):分散到对应页面 spec 中同步完成P6-T4 细化应用 4/5P9-T1 细化应用 3/6/7
### 需求概述
对接阿里云百炼 8 个 AI 应用,实现对话系统、后台轮询缓存、备注分析。
### 关键交付物
1. 新建表:`biz.ai_conversations``biz.ai_messages``biz.ai_cache`
2. 百炼 API 封装:统一调用层(支持流式/非流式)
3. 应用 1通用对话 APISSE 流式返回)
4. 应用 2财务洞察轮询任务每日更新多时间维度交叉【P5-APrompt 已确定】
5. 应用 3客户维客线索分析轮询客户新增消费时触发【P5-A 骨架 + P9-T1 细化 Prompt】
6. 应用 4客户-助教关系分析轮询助教参与新结算时触发【P5-A 骨架 + P6-T4 细化 Prompt】
7. 应用 5话术参考应用 4 调用时联动【P5-A 骨架 + P6-T4 细化 Prompt】
8. 应用 6备注分析每个备注提交时触发【P5-A 骨架 + P9-T1 细化 Prompt】
9. 应用 7客户分析结账单触发【P5-A 骨架 + P9-T1 细化 Prompt】
10. 应用 8维客线索整理应用 3/6 产出后触发【P5-APrompt 已确定】
11. AI 结果缓存读写 API
12. 页面内容文本化工具(随 P6-P9 各页面逐步实现)
### 依赖
- P3用户身份AI 信息隔离需要传入身份参数)
- P4备注系统 + 触发器机制,应用 6 依赖回访任务完成事件)
### 验收标准
- 应用 1 流式对话正常
- 应用 2-5 轮询任务按条件触发并缓存结果
- 应用 6 在每个备注提交后自动分析,返回评分+维客线索
- 应用 7 在客户结账单出现后触发,生成运营策略
- 应用 8 在应用 3/6 产出后触发,整合去重维客线索
- 所有 AI 对话记录持久化(含系统调用)
- P5-A 验收:应用 2/8 完整可用,应用 3/4/5/6/7 触发机制和调用框架就绪Prompt 拼接为 TODO 接口)
- P5-B 验收:随 P6-T4、P9-T1 完成后,对应应用的 Prompt 拼接函数实现并联调通过
---
## P5.1MCP Server AI 扩展 — 查库手册 + 业务库接入
### SPEC 名称建议:`mcp-server-ai-extension`
### 分批执行2026-03-07 评审决定)
- 批次 A立即可执行重写 ETL 库查库手册DWD-DOC 已完成)
- 批次 BP5-A 之后MCP Server 新增 `zqyy_app` 连接 + 业务库手册
- 批次 C批次 B 后):手册上传百炼验证
### 需求概述
扩展 MCP Server 支持 `zqyy_app` 业务库查询,重写查库手册供百炼平台 AI 应用作为知识库。
### 依赖
- 批次 ADWD-DOC 已完成)
- 批次 BP1 + P4 + P5-Abiz 表已建)
- 批次 C批次 B
---
## P6小程序前端 — 任务模块
### SPEC 名称建议:`miniapp-fe-tasks`
### 需求概述
实现小程序任务相关页面task-list、task-detail、notes。
### 关键交付物
1. task-list.html → 小程序页面:任务列表(按优先级分组)、长按操作(置顶/放弃/AI、绩效计算展示、跳档激励
2. task-detail.html → 小程序页面任务详情、近期服务记录、备注入口含星星评分、AI 分析展示(维客线索/关系分析/话术/备注分析评分)
3. notes.html → 小程序页面:备注列表、删除(二次确认)
4. 通用组件:爱心 icon💖🧡💛💙、喜好标签🎱斯🀅🎤、跟/弃 icon、预估标记
### 依赖
- P3登录态
- P4任务/备注 API
- P5-AAI 缓存数据展示 + 应用 4/5 调用骨架)
> P6-T4 同时承担 P5-B 的应用 4/5 Prompt 细化任务(服务记录结构确定后实现拼接函数)
---
## P7小程序前端 — 绩效模块
### SPEC 名称建议:`miniapp-fe-performance`
### 需求概述
实现绩效相关页面performance、performance-records。
### 关键交付物
1. performance.html → 小程序页面:收入与业绩档位、服务记录明细(按天归总)、我的新客、我的常客
2. performance-records.html → 小程序页面:按口径展示全部业绩、定档折算惩罚展示
3. 后端 API绩效数据聚合查询按天/月归总)
### 依赖
- P3登录态
- P2定档折算字段
---
## P8小程序前端 — 看板模块
### SPEC 名称建议:`miniapp-fe-boards`
### 需求概述
实现三个看板页面board-finance、board-customer、board-coach。
### 关键交付物
1. board-finance.html → 小程序页面财务数据展示、多维度筛选交叉、环比、AI 洞察、预收资产条件隐藏
2. board-customer.html → 小程序页面8 个维度筛选(最应召回/最大消费潜力/最高余额/最近充值/最高消费/最频繁/最近到店/最专一)、类型筛选、前 100 名列表
3. board-coach.html → 小程序页面:维度筛选(定档业绩/工资/高客源储值/任务完成)、项目筛选、日期维度筛选
4. 后端 API看板数据聚合查询 + 缓存层
5. 通用组件:时间筛选器、维度筛选器、环比展示
### 依赖
- P3登录态 + 权限控制看板可见性)
- P2SPI 指数用于"最大消费潜力"排序)
- P5AI 财务洞察缓存)
---
## P9小程序前端 — 详情与对话模块
### SPEC 名称建议:`miniapp-fe-details`
### 需求概述
实现详情页和 AI 对话页customer-detail、coach-detail、customer-service-records、chat、chat-history。
### 关键交付物
1. customer-detail.html → 小程序页面:客户信息、消费记录(台桌/商城/充值三种样式、指数总览、备注、AI 入口
2. coach-detail.html → 小程序页面:助教信息、客户数、工龄、备注
3. customer-service-records.html → 小程序页面:服务记录列表
4. chat.html → 小程序页面AI 对话(流式展示)、来源展示、历史消息
5. chat-history.html → 小程序页面:对话历史列表
6. 后端 API消费记录分页查询懒加载每次 10 条)
### 依赖
- P3登录态
- P5-AAI 对话系统 + 应用 3/6/7 调用骨架)
- P4备注系统
> P9-T1 同时承担 P5-B 的应用 3/6/7 Prompt 细化任务(消费记录结构确定后实现拼接函数)
---
## P10租户管理后台
### SPEC 名称建议:`tenant-admin-web`
### 需求概述
独立的租户管理 Web 应用提供用户审核、用户管理、Excel 数据上传功能。
### 关键交付物
1. 独立 Web 应用React + Vite + Ant Design类似 `apps/admin-web/` 技术栈)
2. 租户管理员登录(独立凭据体系,账号由系统管理后台 `apps/admin-web/` 创建,不可自行注册)
3. 用户审核页面申请列表、状态筛选、关联建议球房ID+手机号匹配助教)、审核操作
4. 用户管理页面:用户列表、身份编辑、店铺归属编辑
5. Excel 上传页面4 种模板(财务支出/团购收入/助教奖罚/充值业绩归属)
6. Excel 校验:必填、金额精度、表头格式、类型合法
7. 冲突处理:前端 diff 交互(逐条确认替换/保留)
8. 后端 APIExcel 解析、校验、冲突检测、确认写入
9. 新建表:`biz.salary_adjustments``biz.excel_upload_log`
10. 维客线索管理页面:按客户列出全部线索(标签/摘要/提供人/备注原文),支持修改、删除、隐藏操作
### 依赖
- P1数据库基础
- P3用户体系共享 `auth` Schema
- admin-web-console 需求 11租户管理员账号管理功能提供账号创建入口
### 验收标准
- 租户管理员账号由系统管理后台创建,租户管理员不可自行注册
- 租户管理员只能看到自己租户下的店铺数据(由 Operator 分配的 `site_id` 列表决定)
- Excel 上传校验正确,冲突 diff 交互可用
- 用户审核流程完整(申请→审核→分配身份→关联助教)
- 维客线索管理:按客户查看全部线索,修改/删除/隐藏操作正常
---
## P11部署与上线
### SPEC 名称建议:`deployment-launch`
### 需求概述
完成部署环境配置、监控、灰度上线。参考 `docs/deployment/LAUNCH-CHECKLIST.md`
### 关键交付物
1. 生产环境数据库初始化(`etl_feiqiu` + `zqyy_app`
2. FDW 生产环境配置
3. 后端部署FastAPI + Uvicorn
4. 小程序审核与发布
5. 租户管理后台部署
6. ETL 定时调度配置(每小时增量)
7. 监控与告警
8. 灰度上线方案
### 依赖
- P1-P10 全部完成
---
## 附SPEC 依赖关系图
```
P1 ─────┬──→ P2 ──→ P7
│ ↘
├──→ P3 ──→ P4 ──→ P5-A ──→ P6含 P5-B 应用4/5 Prompt 细化)
│ │ ↘
│ └──→ P10 P8
│ ↘
│ P9含 P5-B 应用3/6/7 Prompt 细化)
└──→ P11全部完成后
```
> P5-A 交付管道和骨架后P6/P8/P9 即可启动。
> P5-B 的 Prompt 细化任务嵌入 P6-T4应用4/5和 P9-T1应用3/6/7不作为独立阶段。
可并行的 SPEC 组合:
- P2 和 P3 可并行(无互相依赖)
- P6、P7、P8、P9 在 P5-A 完成后可部分并行
- P10 在 P1+P3 完成后即可启动,与 P4-P9 并行