# 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 存在且权限正确

---

## P2：ETL 扩展层 — 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 映射（新表）

### 依赖
- P1（FDW 基础设施就绪后才能验证端到端）

### 验收标准
- 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 分析，仅辅助数据）
- 回访任务默认展开评分区域，其他任务类型默认隐藏可手动展开

---

## P5：AI 集成层 — 百炼对接 + 对话系统 + 轮询缓存

### 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-B（Prompt 细化）：分散到对应页面 spec 中同步完成（P6-T4 细化应用 4/5，P9-T1 细化应用 3/6/7）

### 需求概述
对接阿里云百炼 8 个 AI 应用，实现对话系统、后台轮询缓存、备注分析。

### 关键交付物
1. 新建表：`biz.ai_conversations`、`biz.ai_messages`、`biz.ai_cache`
2. 百炼 API 封装：统一调用层（支持流式/非流式）
3. 应用 1：通用对话 API（SSE 流式返回）
4. 应用 2：财务洞察轮询任务（每日更新，多时间维度交叉）【P5-A，Prompt 已确定】
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-A，Prompt 已确定】
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.1：MCP Server AI 扩展 — 查库手册 + 业务库接入

### SPEC 名称建议：`mcp-server-ai-extension`

### 分批执行（2026-03-07 评审决定）

- 批次 A（立即可执行）：重写 ETL 库查库手册（DWD-DOC 已完成）
- 批次 B（P5-A 之后）：MCP Server 新增 `zqyy_app` 连接 + 业务库手册
- 批次 C（批次 B 后）：手册上传百炼验证

### 需求概述
扩展 MCP Server 支持 `zqyy_app` 业务库查询，重写查库手册供百炼平台 AI 应用作为知识库。

### 依赖
- 批次 A：无（DWD-DOC 已完成）
- 批次 B：P1 + P4 + P5-A（biz 表已建）
- 批次 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-A（AI 缓存数据展示 + 应用 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（登录态 + 权限控制看板可见性）
- P2（SPI 指数用于"最大消费潜力"排序）
- P5（AI 财务洞察缓存）

---

## 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-A（AI 对话系统 + 应用 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. 后端 API：Excel 解析、校验、冲突检测、确认写入
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 并行
