这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。
按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。
涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
DDL 基线合并 / Kiro 到 Claude Code 迁移
阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.5 KiB
6.5 KiB
审计记录:维客线索重构(member_birthday_manual → member_retention_clue)
- 日期:2026-02-26 13:09:41
- Prompt-ID:
P20260226-130447(追加审计,前序 Prompt:P20260226-120858) - 风险标签:
root-file,dir:backend,dir:etl,dir:db,db-schema-change - 变更统计:139 files changed, 6211 insertions(+), 216484 deletions(-)
变更概述
将原"助教手动补录会员生日"单一功能表 member_birthday_manual 重构为通用"维客线索"表 member_retention_clue,采用"大类 + 摘要 + 详情"三层结构,覆盖六个维度(客户基础信息、消费习惯、玩法偏好、促销偏好、社交关系、重要反馈)。生日信息不再单独建表,作为"客户基础信息"大类下的一条线索记录。
本次 Prompt(P20260226-130447)需求:在租户管理后台列出每个客户的所有维客线索(标签、摘要、提供人、备注原文),支持修改、删除、隐藏操作。
影响范围
| 子系统 | 影响 |
|---|---|
| 后端 API | member_birthday 路由替换为 member_retention_clue,新增 POST/GET/DELETE 三个端点 |
| ETL DWS | member_consumption_task 和 member_visit_task 移除 FDW 生日补录读取及 fallback 逻辑 |
| FDW | 外部表从 fdw_app.member_birthday_manual 重构为 fdw_app.member_retention_clue |
| DB 迁移 | 删除 member_birthday_manual,新建 member_retention_clue(含 CHECK 约束 + 3 索引) |
| DDL 基线 | zqyy_app__public.sql 和 fdw.sql 已同步更新 |
本次对话文件变更(session_diff)
新增文件
docs/audit/prompt_logs/prompt_log_20260226_130447.md
修改文件
NeoZQYY.code-workspacedocs/h5_ui/pages/customer-detail.html
DDL / 迁移检查
- 迁移脚本:
db/zqyy_app/migrations/2026-02-26__refactor_birthday_to_retention_clue.sql compliance.new_migration_sql:空(迁移已在变更文件列表中但未被 compliance prescan 标记为待执行)- ⚠️ DDL 基线待合并(
has_ddl_baseline: false) - BD 手册已创建:
docs/database/BD_Manual_member_retention_clue.md
DB 文档对账
reasons 含 db-schema-change,需执行全量对账。
- ⚠️ 无法自动连接测试库(TEST_DB_DSN)执行
information_schema全量查询(当前环境无 pg power MCP 可用) - 已有文档
docs/database/BD_Manual_member_retention_clue.md内容与迁移脚本一致,表结构、约束、索引均已记录 - 待手动对账:用户需在测试库执行验证 SQL 确认表结构与文档一致,或在 pg power 可用时重新触发审计
改动注解
apps/backend/app/main.py
- 变更类型:修改
- 原始原因:维客线索重构,需将后端路由注册从
member_birthday切换到member_retention_clue - 思路分析:仅修改 import 和
include_router调用,最小化入口文件改动;同步更新 CHANGE 注释标记 - 修改结果:后端启动时加载新的维客线索路由模块,旧生日路由不再注册
apps/backend/app/routers/member_retention_clue.py
- 变更类型:新增
- 原始原因:替代原
member_birthday路由,提供维客线索的 CRUD 接口 - 思路分析:提供三个端点:POST 提交线索(INSERT)、GET 按会员查询(倒序)、DELETE 删除单条。使用
get_connection()直连业务库,事务手动管理 - 修改结果:新增
/api/retention-clue系列接口,支持多大类线索的增删查
apps/backend/app/schemas/member_retention_clue.py
- 变更类型:新增
- 原始原因:为维客线索接口定义请求/响应 Pydantic 模型
- 思路分析:定义
ClueCategory枚举(6 个大类)、RetentionClueSubmit(提交请求)、RetentionClueOut(返回模型),字段约束与数据库 CHECK 一致 - 修改结果:后端接口具备完整的输入校验和输出序列化能力
apps/etl/connectors/feiqiu/tasks/dws/member_consumption_task.py
- 变更类型:修改
- 原始原因:维客线索重构后,生日不再通过 FDW 从业务库补录,ETL 侧需移除相关逻辑
- 思路分析:删除
sql_with_fdw(含 COALESCE 子查询)和sql_fallback(降级查询),合并为单一sql直接读取dim_member.birthday;移除 try/except FDW 降级逻辑和 rollback 处理 - 修改结果:会员消费汇总任务的会员信息提取简化为单次查询,消除 FDW 依赖和降级复杂度(-51 行)
apps/etl/connectors/feiqiu/tasks/dws/member_visit_task.py
- 变更类型:修改
- 原始原因:同 member_consumption_task,移除 FDW 生日补录读取
- 思路分析:同样删除双 SQL + try/except 降级模式,简化为单一查询
- 修改结果:会员到店汇总任务的会员信息提取简化,消除 FDW 依赖(-49 行)
db/fdw/setup_fdw_reverse.sql
- 变更类型:修改
- 原始原因:FDW 外部表需从
member_birthday_manual重构为member_retention_clue - 思路分析:更新外部表列定义(移除
birthday_value/source,新增category/summary/detail),更新 OPTIONS 指向新表名,精简注释和验证 SQL - 修改结果:生产环境 FDW 反向映射指向新的维客线索表
db/fdw/setup_fdw_reverse_test.sql
- 变更类型:修改
- 原始原因:测试环境 FDW 配置需与生产环境同步
- 思路分析:与
setup_fdw_reverse.sql保持一致,仅目标库为test_zqyy_app - 修改结果:测试环境 FDW 反向映射同步更新
db/zqyy_app/migrations/2026-02-26__refactor_birthday_to_retention_clue.sql
- 变更类型:新增
- 原始原因:需要数据库迁移脚本完成表结构重构
- 思路分析:事务内先 DROP 旧表再 CREATE 新表,幂等设计(IF EXISTS / IF NOT EXISTS);新表含 CHECK 约束限制 category 枚举值,3 个索引覆盖常用查询模式
- 修改结果:执行后
member_birthday_manual被删除,member_retention_clue就绪
docs/h5_ui/pages/customer-detail.html
- 变更类型:修改(session_diff.modified)
- 简要注解:H5 客户详情页面调整,配合维客线索功能的前端展示
NeoZQYY.code-workspace
- 变更类型:修改(session_diff.modified)
- 简要注解:工作区配置文件更新
Prompt 溯源
- [P20260226-130447] 2026-02-26 13:04:47 +0800
- summary: 依旧保留回访任务完成的判定新增:租户管理后台,列出每个客户的所有维客线索,标签 摘要 提供人 备注原文等字段。支持修改,删除,隐藏的操作。
本次 prompt 在维客线索重构基础上,进一步要求管理后台支持线索的列表展示与管理操作。