Files
Neo-ZQYY/docs/audit/changes/2026-02-14__api-ods-comparison-v3-fixed.md

3.8 KiB
Raw Permalink Blame History

审计记录API vs ODS 比对 v3-fixed

基本信息

  • 日期2026-02-14Asia/Shanghai
  • Prompt-IDP20260214-003000
  • 原始原因:用户 Prompt — "还是不准比如assistant_accounts_master助教账号主数据的last_update_name命名Json里就有再仔细比对下"
  • 直接原因v3 比对仅从 JSON 样本提取字段JSON 样本是单条记录快照,可能缺少条件性返回的字段(如 last_update_name),导致误报为"ODS独有"。需改用 API 参考文档(.md的"响应字段详解"章节作为主要字段来源。

修改方案

完全重写 scripts/run_compare_v3_fixed.py

  1. 从 .md 文档"四、响应字段详解"章节精确提取字段(排除请求参数、跨表关联等章节)
  2. JSON 样本作为补充来源union
  3. 对 settlement_records / recharge_settlements 的 siteProfile 子字段不提取ODS 中存为 siteprofile jsonb 单列)
  4. 对 table_fee_discount_records 的 tableProfile/siteProfile 展开字段正确分类
  5. 对 stock_goods_category_tree 的 categoryBoxes 正确识别为 ODS jsonb 列
  6. 对所有 ODS 独有字段进行详细分类说明

Changed

文件 变更类型 说明
scripts/run_compare_v3_fixed.py 重写 完全重写字段提取和比对逻辑
docs/reports/api_ods_comparison_v3_fixed.json 新建 JSON 格式比对结果
docs/reports/api_ods_comparison_v3_fixed.md 新建 Markdown 格式比对报告
docs/ai_audit/prompt_log.md 追加 新增 P20260214-003000 条目

比对结论

  • 22 张 ODS 表全部比对
  • API 独有字段0所有 API 文档中的响应字段在 ODS 中都有对应列)
  • ODS 独有字段51 列,分类如下:
    • API 后续版本新增字段38 列(文档快照未覆盖,但 ODS 已通过 ETL 动态发现并入库)
    • tableProfile/siteProfile 嵌套对象展开字段8 列table_fee_discount_records
    • ODS 额外添加的 tenant_id2 列assistant_cancellation_records、payment_transactions
    • ODS jsonb 列settlelist2 列settlement_records、recharge_settlements
    • ODS 后续版本新增字段1 列site_tables_master.order_id
  • 完全对齐表7 张assistant_accounts_master、refund_transactions、platform_coupon_redemption_records、stock_goods_category_tree、goods_stock_movements、goods_stock_summary、site_tables_master 除 order_id 外)
  • 无需 ALTER TABLE

Risk / Verify

  • 风险:纯分析脚本和报告,无运行时影响,不修改数据库或 ETL 逻辑
  • 验证:
    1. 确认 assistant_accounts_masterlast_update_name 被正确识别为匹配字段62:62 完全对齐)
    2. 确认 API 独有字段总数为 0
    3. 确认 ODS 独有字段全部有分类说明

Change Impact Review

  • 判定:无逻辑改动
  • 本次变更为纯分析脚本(一次性工具)和报告文档,不涉及 ETL Connector、业务规则、数据处理逻辑、API 行为或数据库 schema
  • 文档同步评估:
    • product.md — 无需更新(产品功能未变)
    • tech.md — 无需更新(技术栈未变)
    • structure.md — 无需更新(目录结构未变,临时分析脚本不列入)
    • README.md — 无需更新(运行方式未变)
    • docs/bd_manual/ — 无需更新(无表结构变更)
    • gui/README.md / scripts/ / tasks/ / database/ / tests/ — 均无需更新
  • 回归范围:无(纯分析产出,不影响任何运行时代码路径)
  • 建议验证:python scripts/run_compare_v3_fixed.py 确认输出 API独有=0