# NeoZQYY 产品全景脑图 > 生成日期:2026-05-04 / 维护者:Wave 0 调研子代理 / 后续修订归 Neo > 信息来源:`docs/prd/specs/01-SPEC任务拆分总览.md`、`docs/prd/specs/00-数据依赖矩阵.md`、`P1`-`P12` 各 SPEC、`docs/prd/AI需求2.md`、`docs/prd/SPI 消费力指数.md`、`docs/prd/后端接口需求说明_数据需求PRD.md`、`docs/prd/2026-04-08__board-finance-optimization.md`、`CLAUDE.md`、`db/CLAUDE.md`、`apps/etl/connectors/feiqiu/CLAUDE.md` --- ## 一、产品定位与目标用户 NeoZQYY 是一个面向**台球门店连锁经营**的全栈数据与运营平台。它从 SaaS 系统「飞球」抽取门店原始业务数据(结算、台费、助教服务、充值、会员等),经过六层数据仓库治理,叠加自研指数体系(WBI/NCI/RS/OS/MS/ML/SPI/亲密度等)与 AI 应用矩阵(阿里云百炼 8 个 APP),向门店一线助教、管理者与系统运维分别提供匹配视角的工具。 核心解决的问题: 1. 飞球原始数据口径混乱(如 `consume_money` 三种历史口径并存),缺乏可直接用于经营决策的可信指标 — 由 ETL 六层治理 + DWD-DOC 校准清单解决(参考:`apps/etl/connectors/feiqiu/CLAUDE.md` 12 条 DWD 强制规则)。 2. 助教不知道"现在该联系哪个客户、用什么策略" — 由助教任务体系(4 类优先级任务 + AI 关系/话术/备注分析)解决(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4-P5)。 3. 门店管理者缺少跨维度的财务/客户/助教看板与 AI 洞察 — 由小程序三大看板 + 应用 2 财务洞察解决(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P8、`docs/prd/2026-04-08__board-finance-optimization.md`)。 4. 多门店连锁的数据隔离与租户管理诉求 — 由 `site_id` + RLS 双 schema 视图 + 租户管理后台解决(参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 schema 规则)。 目标用户:单店或连锁台球门店的助教、会籍顾问、店长、租户管理员、系统运维与产品负责人。领域语言为中文,金额币种为 CNY,金额精度 `numeric(2)`。 --- ## 二、用户角色矩阵 | 角色 | 端 | 主要职责 | 关键操作 | 不可见的内容 | |---|---|---|---|---| | 教练 / 助教(coach) | 小程序 | 完成系统派发的客户维护任务、写备注、查看个人绩效与服务记录 | 任务列表的置顶/放弃/AI、写备注(含星星评分)、查看自己的绩效与档位、与 AI 对话 | 不能看财务看板、不能看其他助教的私人备注与工资明细(参考:`docs/prd/specs/P3-miniapp-auth-system.md` AC5) | | 顾问 / 会籍(consultant,PRD 未单列实体表) | 小程序 | 与助教类似但侧重客户维护与销售线索 | 同助教,权限按 `auth.user_site_roles` 分配 | 视权限而定,财务看板默认不可见 | | site_admin(单店管理员) | tenant-admin Web | 审核小程序用户申请、维护用户-助教绑定、上传 Excel、管理维客线索 | 用户审核、用户管理、4 种 Excel 上传(财务支出/团购收入/助教奖罚/充值业绩归属)、维客线索 CRUD | 只能看自己被分配的 `site_id` 列表内的店铺数据,看不到其他租户、看不到 ETL 库 schema(参考:`docs/prd/specs/P10-tenant-admin-web.md` AC2) | | tenant_admin(集团/连锁管理员) | tenant-admin Web | 同 site_admin,但管辖全部租户下店铺 | 同 site_admin 但跨多店 | 看不到 ETL 库 schema、看不到其他租户 | | 系统运维 / Operator | admin-web | 创建租户管理员账号、配置 ETL 调度、监控数据质量、运维 ETL 库 | 创建 tenant 管理员账号(含分配 `site_id` 列表)、ETL 配置、数据质量监控、系统监控 | 不参与一线门店业务操作、不写小程序备注(参考:`docs/prd/specs/P10-tenant-admin-web.md` 设计要点 - 登录体系) | | AI 应用(系统主体) | 后端 + 百炼 | 自动化生成维客线索、备注分析、关系分析、话术、客户分析、财务洞察 | 通过 MCP Server 工具查库、按 `User_ID` 做信息隔离 | 助教身份的 AI 仅能查与该助教相关的客户数据(参考:`docs/prd/AI需求2.md` 应用 1 权限限制) | --- ## 三、子系统职责与边界 ### 子系统职责 - **apps/miniprogram(C 端小程序)**:助教/顾问的工作台,承载任务列表、任务详情、备注、绩效、三大看板、客户/助教详情、AI 对话页等共 13+ 个页面(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P6-P9)。技术栈 Donut + TDesign,原型图位于 `docs/h5_ui/`。WXML/WXSS 严禁使用 HTML/CSS 语法,TDesign 优先(参考:`docs/prd/specs/P3-miniapp-auth-system.md` 强制规范第 1-6 条)。 - **apps/admin-web(系统管理后台)**:开发与运维视角,操作 ETL 库(`etl_feiqiu`),提供 ETL 配置、数据质量、系统监控、租户管理员账号管理(参考:`CLAUDE.md` 子系统目录、`docs/prd/specs/P10-tenant-admin-web.md` 设计要点)。 - **apps/tenant-admin(租户管理后台)**:门店管理员视角(`site_admin` / `tenant_admin`),独立 Web 应用,承担用户审核、Excel 上传、维客线索管理。技术栈 React + Vite + Ant Design,独立登录入口、独立凭据,账号由 admin-web 创建,不能自助注册(参考:`docs/prd/specs/P10-tenant-admin-web.md` AC1.1)。 - **apps/backend(FastAPI 后端)**:所有前端共用的后端服务。承担 JWT 双认证(`apps/backend/CLAUDE.md`)、统一响应包装、WebSocket、AI 集成(百炼 SSE / 缓存 / 触发器)、TaskQueue/Scheduler、FDW 访问 ETL 数据。所有看板/任务/备注 API 在此实现(参考:`docs/prd/后端接口需求说明_数据需求PRD.md` §8 接口分组)。 - **apps/etl/connectors/feiqiu(ETL 飞球连接器)**:六层数据仓库 ODS → DWD → DWS(→ DWD-DOC 标杆)。负责把飞球 API 数据治理成可信指标。包含 12 条 DWD 强制规则(如 `consume_money` 不可直接用、必须用 `items_sum`),DWS 层落地 SPI/WBI/NCI/RS/OS/MS/ML/亲密度等指数(参考:`apps/etl/connectors/feiqiu/CLAUDE.md`)。 - **apps/mcp-server(MCP 工具服务)**:PostgreSQL 只读工具,供阿里云百炼 AI 应用作为知识库使用。当前只接 `etl_feiqiu`;P5.1 批次 B 后扩展到 `zqyy_app`,自动按 schema 名做数据库路由(参考:`docs/prd/specs/P5.1-mcp-server-ai-extension.md` 设计要点)。 ### 子系统职责对比表 | 子系统 | 主要使用者 | 主要数据库 | 技术栈 | 与其他子系统关系 | |---|---|---|---|---| | apps/miniprogram | 助教 / 顾问 / 店长(C 端) | 通过 backend 间接访问 zqyy_app + ETL(FDW) | Donut + TDesign(小程序原生 WXML/WXSS) | 后端依赖 apps/backend;UI 标杆来自 apps/demo-miniprogram(MOCK 禁改) | | apps/admin-web | 系统运维 / Operator | etl_feiqiu | React + Vite + Ant Design | 创建 tenant-admin 账号;配置 ETL 调度 | | apps/tenant-admin | site_admin / tenant_admin | zqyy_app(auth + biz)+ ETL FDW 只读 | React + Vite + Ant Design | 与小程序共用 auth schema;账号由 admin-web 创建 | | apps/backend | 所有前端 | zqyy_app(主)+ etl_feiqiu(FDW) | FastAPI + Uvicorn | 唯一对外 API 出口;JWT/响应包装/AI 集成 | | apps/etl/connectors/feiqiu | ETL 调度 / 数据团队 | etl_feiqiu | uv workspace(Python 3.10+) | 数据生产者;通过 RLS 视图 + FDW 暴露给 zqyy_app | | apps/mcp-server | 百炼 AI 应用 | etl_feiqiu(A)+ zqyy_app(B 期) | Python + MCP SDK | 仅只读;为 AI 应用提供查库工具 + 手册 | --- ## 四、数据流全景 ``` 飞球 SaaS API │ │ ETL 抽取(每小时增量;冬季月初前 5 天宽限期) ▼ ┌─────────────────────────────────────────────────────────┐ │ etl_feiqiu / test_etl_feiqiu │ │ ┌──────────┐ │ │ │ meta │ 元数据(任务调度、字典、配置参数) │ │ ├──────────┤ │ │ │ ods │ 原始落地(API 字段保真,不做业务逻辑) │ │ ├──────────┤ │ │ │ dwd │ 明细治理:dim_*(SCD2 维度)+ dwd_*(事实)│ │ ├──────────┤ │ │ │ core │ 跨域基础事实(如客户主表) │ │ ├──────────┤ │ │ │ dws │ 业务汇总 + 指数:WBI/NCI/RS/OS/MS/ML/SPI │ │ ├──────────┤ │ │ │ app │ RLS 视图层(按 site_id + 会话变量过滤) │ │ └──────────┘ │ └─────────────────────────────────────────────────────────┘ │ │ FDW 跨库只读映射(通过 RLS 视图 v_*,非裸 dws/dwd 表) ▼ ┌─────────────────────────────────────────────────────────┐ │ zqyy_app / test_zqyy_app │ │ ┌──────────┐ │ │ │ public │ 历史系统管理表(admin_users 等) │ │ │ │ + member_retention_clue(维客线索) │ │ ├──────────┤ │ │ │ auth │ 用户认证:users/user_applications/ │ │ │ │ site_code_mapping/user_assistant_binding │ │ ├──────────┤ │ │ │ biz │ 业务表:coach_tasks/notes/ai_*/ │ │ │ │ trigger_jobs/excel_upload_log/ │ │ │ │ salary_adjustments │ │ ├──────────┤ │ │ │ fdw_etl │ ~33 张外部表,映射 etl_feiqiu.app.v_* │ │ └──────────┘ │ └─────────────────────────────────────────────────────────┘ │ │ FastAPI(apps/backend)查询 │ 设置 SET app.current_site_id = ▼ 小程序 / tenant-admin / admin-web(按角色加载视图) ``` 关键约束(参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 Schema 规则): 1. 多门店通过 `site_id` 列 + `app.current_site_id` 会话变量过滤;新建 DWS/DWD 表的 RLS 视图必须**同时**在 `dws`(或 `dwd`)和 `app` 双 schema 创建,否则后端查询失败。 2. zqyy_app 只通过 FDW 只读访问 ETL;不允许 zqyy_app 写 ETL 库。 3. ETL 任务的金额字段统一使用 `items_sum` 替代 `consume_money`(参考:`apps/etl/connectors/feiqiu/CLAUDE.md` DWD 规则 1)。 --- ## 五、核心业务概念 ### 5.1 SPI 消费力指数(Spending Power Index) 参考:`docs/prd/SPI 消费力指数.md`、`docs/prd/specs/P2-etl-dws-miniapp-extensions.md`。 - **定位**:客户级(粒度 `(site_id, member_id)`)每日刷新的"消费能力代理值",回答"这个客户消费层级如何 / 近期推进速度 / 稳定还是偶发"。 - **三个子分**: - `Level`(消费水平)权重 0.60:基于 `spend_30`、`spend_90`、`avg_ticket_90`、`recharge_90` 的 log1p 加权。 - `Speed`(消费速度)权重 0.30:绝对速度(每消费日强度)+ 相对速度(30d vs 90d 加速)+ EWMA 平滑速度。 - `Stability`(消费稳定性)权重 0.10:90 天内有消费的周覆盖率(`active_weeks_90 / 13`)。窗口最长 90 天,**不使用 180 天**。 - **展示分映射**:复用 `BaseIndexTask` 的 P5/P95 Winsorize → 压缩(log1p/asinh)→ MinMax 0-10 → 可选 EWMA 分位平滑。 - **配置**:`cfg_index_parameters` 中 `index_type='SPI'`,27 个参数(含权重、压缩基数、窗口天数等),已落地(参考:`P2-etl-dws-miniapp-extensions.md` T3 ✅)。 - **使用规则**:SPI 不单独决定"要不要触达",而是与 NCI/WBI(紧急度)+ RS/OS/MS/ML(关系归属)组合,用于"投入多大资源、用什么档位策略"。 ### 5.2 助教任务体系(4 类 + 状态机) 参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4、`docs/prd/后端接口需求说明_数据需求PRD.md` §3.2。 - **任务类型(优先级从高到低)**: - `high_priority` 高优先召回 - `priority` 优先召回 - `callback` 客户回访 - `relationship` 关系构建 - **生成器**:每日 04:00 后运行,基于客户级指数(max(WBI, NCI))+ 关系指数(RS/OS/MS/ML)为每个助教分配任务。同客户-助教-类型跳过;不同类型则关闭旧任务并新建。 - **状态**:`pending / completed / abandoned / pinned`(pinned 是排序属性而非互斥状态)。 - **特殊机制**: - 48 小时回访滞留:超期回访任务的状态化处理。 - 召回完成检测:ETL 数据到达后由后台轮询自动标记。 - 数据回溯:召回完成时回溯近期备注,把"普通备注"重分类为"回访备注",并触发应用 6(备注分析)。 - **任务表**:`biz.coach_tasks` + `biz.coach_task_history`(变更历史,关闭/新建可追溯)。 ### 5.3 备注与星星评分体系 参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4 第 9-11 项、`docs/prd/specs/P10-tenant-admin-web.md` 维客线索管理、`docs/prd/后端接口需求说明_数据需求PRD.md` §5.1。 - **统一备注表**:`biz.notes`,`type` 区分 普通 / 回访 / 放弃原因 三类。生日类信息**不再**作为 notes type,已迁移到维客线索系统。 - **星星评分字段**: - `rating_service_willingness`(再次服务意愿,1-5,可空) - `rating_revisit_likelihood`(再来店可能性,1-5,可空) - PRD §3.2 接口示例还提到 `intention / relation / service` 三项 — 与 SPEC 中两项不一致(登记到 §八 待 Neo 确认)。 - **不参与判定**:星星评分**不参与**任务完成判定、**不参与**应用 6 备注分析输入,仅作辅助。 - **UI 默认**:回访任务默认展开评分区域,其他任务类型默认隐藏可手动展开。 ### 5.4 维客线索系统(member_retention_clue) 参考:`docs/prd/specs/00-数据依赖矩阵.md`、`docs/prd/specs/P10-tenant-admin-web.md` 维客线索管理、`docs/prd/AI需求2.md` 应用 8。 - **存储**:`zqyy_app.public.member_retention_clue`(已建表)。注意是 `public` schema,不是 `biz`(与"业务表迁移到 biz"的总体方向略有差异,登记到 §八)。 - **字段(已确定)**:标签(大类枚举:客户基础 / 消费习惯 / 玩法偏好 / 促销接受 / 社交关系 / 重要反馈)、摘要、详情、提供人 `recorded_by_name`、来源 `source`(manual / ai_consumption / ai_note)、记录时间、Emoji 二级标签。 - **待新增字段(SPEC 记录暂不执行)**: - `is_hidden BOOLEAN DEFAULT false`:tenant-admin 隐藏功能(小程序不展示但保留)。 - `source VARCHAR(20) DEFAULT 'manual'`:当前 SPEC 已设但实际表是否已有需 §六校验。 - **来源**:人工录入 / 应用 3(AI 消费分析)/ 应用 6(AI 备注分析)。应用 8 负责整合去重,最终落库时保留每条线索的 source。 ### 5.5 飞球 consume_money 三种口径混淆问题 参考:`apps/etl/connectors/feiqiu/CLAUDE.md` DWD 规则 1、`docs/reports/DWD-DOC/consume/consume-money-caliber.md`、`docs/prd/specs/01-SPEC任务拆分总览.md` 总览的"金额口径"提示。 - **根因**:飞球上游 `consume_money` 字段在不同时间段使用了 A/B/C 三种不同口径,直接 SUM 会导致数据失真。 - **解决方案**:DWS 层及下游统一改用 `items_sum`,定义为: ``` items_sum = table_charge_money + goods_money + assistant_pd_money + assistant_cx_money + electricity_money ``` - **关联铁律**: - 收入结构必须拆为 5 项(台桌费 / 陪打费 / 超休费 / 商品费 / 电费),不允许笼统的 `service_fee`(`service_fee` 仅在平台结算表中表示"平台服务费")。 - 助教费用必须拆 `assistant_pd_money` + `assistant_cx_money`,禁止用 `ASSISTANT_BASE / ASSISTANT_BONUS`。 - 取数优先级:DWS > DWD > 禁止 ODS。 ### 5.6 多门店隔离(site_id + RLS) 参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 Schema 规则、`docs/prd/specs/P1-miniapp-db-foundation.md` AC4。 - 所有事实/汇总表都带 `site_id` 列。 - ETL 库 `app` schema 暴露的视图都加 `WHERE site_id = current_setting('app.current_site_id')::bigint` 过滤。 - 后端在每个请求处理开始时执行 `SET app.current_site_id = <用户当前店铺>`,PostgreSQL 自动按视图过滤数据。 - **强制铁律**:新建 DWS/DWD 表必须**同时**在原 schema(dws/dwd)和 `app` schema 创建 RLS 视图。回滚时逆序 DROP。 ### 5.7 沙箱 / Runtime Context(虚拟时间) 参考:根 `CLAUDE.md` 历史追溯("2026-04-15~05-02 累积变更基线 — AI 重构 + Runtime Context + DWS 修复")、用户 memory(`project_rs_param_tuning.md` 等)。 PRD specs 文档未直接覆盖此模块,已知信息: - 系统支持运行时注入虚拟时间,用于 ETL 回填、影子跑数、AI 应用历史复现。 - 与 SPI 影子跑数(参考:`docs/prd/SPI 消费力指数.md` Phase 1)和数据回溯机制配合使用。 详细机制建议查阅 `docs/audit/changes/2026-04-15*` 至 `2026-05-02*` 的审计记录(本调研范围未深入),登记到 §八。 --- ## 六、AI 应用矩阵(8 个 APP + MCP) 参考:`docs/prd/AI需求2.md`(详细提示词与传参规范)、`docs/prd/specs/01-SPEC任务拆分总览.md` P5、`docs/prd/specs/P5.1-mcp-server-ai-extension.md`。所有应用使用 Qwen3.5-Plus 模型,部署在阿里云百炼平台。 | APP | 名称 | 服务对象 | 输入(Prompt 参数) | 输出 | 缓存桶 / 持久化 | |---|---|---|---|---|---| | 应用 1 | 通用对话(chat) | chat 页面用户 | User_ID + 花名 + Role + Nickname;前端动态传入页面上下文(来源页面+内容摘要+视野内容) | 自然语言流式(SSE 逐字) | `biz.ai_conversations` + `biz.ai_messages` | | 应用 2 | 财务洞察 | board-finance 页面 | 店铺 ID + 时间维度(本月/上月/本周/上周/前 3 月不含本月/本季/上季/近 6 月不含本月)+ 同周期与上周期数据(收入结构、预收资产、支出汇总、平台结算) | JSON 数组(序号 + 标题 + 正文详情) | `biz.ai_cache`,每日轮询 | | 应用 3 | 客户维客线索分析(消费侧客观) | customer-detail / task-detail | 客户昵称 + 近 3 月全维度消费数据(DWD/DWS)+ 会员卡明细 + 余额 + 应到店日期 + 距上次到店间隔 + 应用 6 历史 + 应用 8 历史(最近 2 套,附生成时间) | JSON 数组(详情 ≤120 字 / 分类标签 / 摘要 ≤20 字 / Emoji) | `biz.ai_cache`,客户新增消费触发 | | 应用 4 | 关系分析 / 任务建议 | task-detail | 助教信息 + 助教服务该客户历史 + 任务分配依据 + 客户客观数据(系统提供)+ 备注全文(备注创建者提供)+ 应用 8 维客线索 + 历史 2 套(附时间) | JSON:与我的关系一句话 + 任务描述与依据 + 行动建议数组 + 一句话总结 | `biz.ai_cache`,新结算单 / 优先召回 / 高优先召回触发 | | 应用 5 | 话术参考 | task-detail | 应用 4 输入 + 应用 4 返回 + 应用 8 历史 2 套(附时间) | JSON 数组(话术内容) | `biz.ai_cache`,应用 4 调用时联动 | | 应用 6 | 备注分析(主观侧) | 备注提交时 | 本次备注 + 客户昵称 + 近 3 月消费(DWD/DWS)+ 会员卡明细 + 余额 + 应到店 + 间隔 + 该客户全部备注 + 应用 3 历史 + 应用 8 历史 2 套(附时间) | JSON:维客线索数组(分类 / Emoji / 详情 / 摘要)+ 评分(1-10,6 分为标准;低价值/被多人备注过/时效低酌情扣分) | `biz.ai_cache`,每条备注提交触发 | | 应用 7 | 客户分析(运营策略) | customer-detail / task-detail | 客户客观数据(同应用 3)+ 该客户全部备注(创建者+全文)+ 应用 8 历史 2 套 | JSON:策略数组(标题+正文)+ 总结 | `biz.ai_cache`,结账单出现后触发 | | 应用 8 | 维客线索整理(去重合并) | 应用 3/6 后置 | 当前最新应用 3 + 应用 6 内容 | JSON 数组(详情 / 分类 / 摘要 / Emoji / 提供者,多个用逗号隔开) | 写入 `member_retention_clue` + `biz.ai_cache` | | MCP Server | 查库工具 | 应用 1(直接调用)+ 全部应用(手册引用) | SQL / 表名 / schema | 查询结果 / 表结构 / 手册 | 无(无状态) | 关键技术要点(参考:`docs/prd/AI需求2.md` 末尾): 1. 应用 1 是**唯一**支持流式(SSE)返回的应用;其余应用返回结构化 JSON。 2. 应用 2-8 的 JSON 输出由后端解析后写入 `member_retention_clue` 表(应用 8 整合后)或 `ai_cache`(按页面读取)。 3. 信息隔离:所有应用通过 `biz_params.user_prompt_params` 传入身份;助教身份的 AI 仅可查与该助教相关数据,权限范围外的请求要驳回(应用 1 提示词强约束)。 4. 持久化:所有对话(含系统调用)写入 `ai_conversations` + `ai_messages`,含 tokens 消耗统计。 5. P5 拆为两阶段:P5-A 完成 Prompt 已确定的应用 2/8 + 应用 3/4/5/6/7 的触发与调用骨架;P5-B 在 P6-T4(应用 4/5)和 P9-T1(应用 3/6/7)页面 SPEC 内细化 Prompt 拼接函数。 --- ## 七、关键术语词典 | 术语 | 含义 | 来源 | |---|---|---| | `consume_money` | 飞球原始消费金额字段,存在三种历史口径混合,**禁止直接使用** | `apps/etl/connectors/feiqiu/CLAUDE.md` 规则 1 | | `items_sum` | DWS 替代口径,= 台桌费 + 商品费 + 陪打费 + 超休费 + 电费 | 同上 | | `assistant_pd_money` / `assistant_cx_money` | 助教陪打费 / 超休费,**必须拆分**,不可用 `service_fee` | DWD 规则 2 | | `settle_type` | 结算类型枚举:1=台桌结账(78.6%) / 3=商城订单(21.4%) / 5=充值 / 6=结算退款 / 7=充值退款 | DWD-DOC 业务全景 | | WBI | Winback Index 老客召回紧迫度指数,客户级 | `docs/prd/SPI 消费力指数.md` 引言 | | NCI | New Conversion Index 新客欢迎/转化优先级,客户级,含 `NCI_welcome` 与 `NCI_convert` 子项 | 同上 | | SPI | Spending Power Index 消费力指数,客户级,含 Level/Speed/Stability 三子分 | 同上 | | RS | Relationship Strength 关系强度,客户-助教对粒度 | 同上 | | OS | Ownership 归属,客户-助教对粒度(决定责任边界,避免撞单) | 同上 | | MS | Momentum 关系动量,客户-助教对粒度 | 同上 | | ML | Monetary Link 付费关联(充值由谁推更容易成),客户-助教对粒度 | 同上 | | 亲密度 | `dws_member_assistant_intimacy`,客户-助教对粒度 | `00-数据依赖矩阵.md` task-detail | | 跳档激励 | 助教绩效档位接近升档时的激励展示 | `docs/prd/specs/01-SPEC任务拆分总览.md` P6-T1 | | 定档折算惩罚 | 同台桌同时段 >2 名助教时按比例折算单人贡献 | `docs/prd/specs/P2-etl-dws-miniapp-extensions.md` 设计要点 | | RLS 双 Schema | 新建 DWS/DWD 表的 RLS 视图必须同时在原 schema 和 `app` schema 创建 | `db/CLAUDE.md` | | 应用 1-8 | 阿里云百炼平台上的 8 个 AI 应用 | `docs/prd/AI需求2.md` | | 维客线索 | Member Retention Clue 客户维护线索(人工 + AI 产出,应用 8 整合落库) | `docs/prd/AI需求2.md` 应用 8 | | 球房 ID | site_code,`auth.site_code_mapping` 中的 2 字母+3 数字编码,对应 ETL 的 bigint `site_id` | `docs/prd/specs/P3-miniapp-auth-system.md` 设计要点 | | Operator | admin-web 中的系统运维角色,负责创建租户管理员账号 | `docs/prd/specs/P10-tenant-admin-web.md` 登录体系 | | SCD2 | Slowly Changing Dimension Type 2,缓慢变化维度,DWD 维度表通过 `scd2_start_time/scd2_end_time/scd2_is_current` 记录历史版本 | `apps/etl/connectors/feiqiu/CLAUDE.md` | | 影子跑数 | SPI/指数上线前的后台计算阶段(不展示给运营) | `docs/prd/SPI 消费力指数.md` Phase 1 | --- ## 八、文档冲突待确认清单 以下是阅读过程中识别到的**文档之间矛盾**或**文档与 CLAUDE.md/项目现状不一致**之处,标 `待 Neo 确认`,不做擅自结论。 1. **【备注星星评分字段命名不一致】 待 Neo 确认** - SPEC `P4` 与数据依赖矩阵:明确两个字段 `rating_service_willingness`、`rating_revisit_likelihood`,各 1-5 可空。 - PRD `后端接口需求说明_数据需求PRD.md` 接口 I 与 J1 示例:用 `intention`、`relation`、`service` 三项。 - 影响:前端 mock 与后端 schema 可能不一致,需要统一字段名(建议以 SPEC 为准,因为 SPEC 是数据库口径)。 2. **【member_retention_clue 所在 schema】 待 Neo 确认** - 数据依赖矩阵与 P10 SPEC:标注 `zqyy_app.public.member_retention_clue`(已建)。 - 总体设计方向:业务表归 `biz`(参考:`P1-miniapp-db-foundation.md` Schema 规划)。 - 影响:是历史遗留还是有意保留在 `public`?如果保留,需要在文档中说明原因;如果是迁移待办,需登记。 3. **【应用编号与 AI 需求 2.md 的差异】 待 Neo 确认** - SPEC 总览(`01-SPEC任务拆分总览.md` P5):列出 8 个应用(1-8)。 - `AI需求2.md` 表头标注"6 个 AI 应用的详细需求",但表格实际列出 8 个(应用 1-8)。 - 影响:`AI需求2.md` 文档第 26 行的"6 个"是历史遗留笔误(实际表格 8 个),不影响实现。建议修正文档表述。 4. **【应用 4 触发条件不一致】 待 Neo 确认** - `AI需求2.md`:触发条件为"有助教参与的新结算单出现时、优先召回任务分配时、高优先召回任务分配时"(共 3 种)。 - 数据依赖矩阵 §三:触发条件为"助教参与新结算时"(仅 1 种)。 - 影响:实现 P5-A 应用 4 调用骨架时需明确,可能漏掉两类任务分配触发。 5. **【P5.1 批次 B 是否有未解决的前置问题】 待 Neo 确认** - SPEC `P5.1-mcp-server-ai-extension.md` 自述"批次 B 依赖 P5-A 完成"。 - 任务说明(用户原文)提到"P5.2 标了 prerequisite-fixes 说明 P5.1 有问题" — 但本调研范围内没有找到 `P5.2` 文件(仅有 `P5.1`)。 - 影响:是否有 `P5.2-prerequisite-fixes.md` 应该存在但缺失?需要 Neo 确认是否有该 SPEC 文件、放在哪里。 6. **【应用 1 传参中 `User_ID` 与 `userId` 风格差异】 待 Neo 确认** - `AI需求2.md` 用 `User_ID`(蛇形大写下划线),符合百炼平台占位符风格。 - PRD `后端接口需求说明_数据需求PRD.md` 用 `userId`(驼峰)。 - 影响:前端 → 后端 → 百炼的字段映射需要明确转换层在哪里。建议后端做双向映射,对外接口用 camelCase,对百炼传 `User_ID`。 7. **【运行时 Runtime Context / 虚拟时间机制无 SPEC 文档】 待 Neo 确认** - 根 `CLAUDE.md` 历史追溯提到"2026-04-15~05-02 累积变更基线 — AI 重构 + Runtime Context + DWS 修复"。 - 当前 `docs/prd/specs/` 下没有 Runtime Context 的独立 SPEC。 - 影响:调研者无法了解虚拟时间的接口契约、传参方式、与 ETL 影子跑数的衔接细节。建议补 SPEC 或指向已有审计记录路径。 8. **【SPI 默认参数数量:26 vs 27】 待 Neo 确认** - 数据依赖矩阵 §四 / FDW 映射列表注释:"cfg_index_parameters(含 SPI 26 个参数 ✅)"。 - SPEC `P2-etl-dws-miniapp-extensions.md` T3 已完成项注释:"已完成,27 个参数含 Level/Speed/Stability 权重..."。 - 影响:实际数据库里是 26 还是 27?需要直接 `SELECT COUNT(*) FROM cfg_index_parameters WHERE index_type='SPI'` 校验。 9. **【4.1 财务看板优化与 P11 进度衔接】 待 Neo 确认** - `docs/prd/2026-04-08__board-finance-optimization.md` 列出 5 项 P1/P2 修复(卡余额快照不变、首充/续费全 0、文案、3 个新指标、优惠占比、充值笔数、团购标签)。 - SPEC `P11-deployment-launch.md` AC6 要求"ETL 定时调度正常运行" — 卡余额快照修复属于 ETL 任务级 bug,可能影响生产数据准确性。 - 影响:P11 上线前是否要先解决 4.1/4.2 的两个 P2 bug?还是允许带 bug 上线?需要 Neo 决策。 10. **【人员匹配范围:助教 vs 员工】 待 Neo 确认** - SPEC `P3` AC7:用户申请同时匹配 `dwd.dim_assistant`(助教)和 `dwd.dim_staff` + `dwd.dim_staff_ex`(员工)。 - 数据依赖矩阵 §四"新增 FDW 映射(员工信息表)":列出 `dim_staff` / `dim_staff_ex`。 - 但当前 P1 SPEC 文档里 RLS 视图列表(`00-数据依赖矩阵.md` §四)未明确包含 `dim_staff` / `dim_staff_ex`。 - 影响:是否已经为这两张员工表建好 `app.v_*` 视图与 FDW 外部表?P3 实施前需先校验或补建。 11. **【飞球 consume_money 三种口径混淆 vs 看板优化 PRD】 待 Neo 确认** - `apps/etl/connectors/feiqiu/CLAUDE.md` 强制规则 1:DWS 层及下游统一用 `items_sum`。 - `2026-04-08__board-finance-optimization.md` 3.1 经营一览补充指标:使用 `confirmed_income`(确认收入),与 `items_sum` 是否一致需要校验(`confirmed_income` 是 `items_sum - 优惠后` 还是另一口径?文档未明示)。 - 影响:客单价 / 日均额 的分子口径需要在落地前明确,否则数据失真。 --- > 备注:本脑图聚焦"是什么"与"为什么这样设计"。**字段级精确定义**应回到对应源文档(特别是 `apps/etl/connectors/feiqiu/CLAUDE.md` 的 12 条 DWD 规则、`docs/reports/DWD-DOC/` 校准清单、各 SPEC 的"设计要点"小节)。本脑图不替代权威文档,仅作为"产品全景索引"。