这些审计记录原本堆积在 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>
100 lines
6.0 KiB
Markdown
100 lines
6.0 KiB
Markdown
# 变更审计记录:财务看板 Phase 2 对齐 Demo(T1-T6)
|
||
|
||
| 字段 | 值 |
|
||
|------|-----|
|
||
| 日期 | 2026-03-27 23:41:47 |
|
||
| Prompt-ID | P20260327-233226 |
|
||
| Session-ID | fd0c357e |
|
||
| Session 路径 | docs/audit/session_logs/2026-03/27/19_2ce2a118_230836 |
|
||
|
||
## 操作摘要
|
||
统筹完成 board-finance-phase2.md 中的 6 个任务(T1-T6),对齐 Demo 原型:收入结构按物理区域分类、优惠减扣 4 项重组、优惠总计行展示、现金流入/流出项名对齐、费用分组空值填充、助教分析从订单级实际金额计算。
|
||
|
||
## 涉及文件
|
||
|
||
| 文件 | 变更类型 | 关联任务 |
|
||
|------|----------|----------|
|
||
| `apps/backend/app/services/fdw_queries.py` | 修改 | T1/T2/T4/T5/T6 |
|
||
| `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxml` | 修改 | T3 |
|
||
| `apps/miniprogram/miniprogram/pages/board-finance/board-finance.ts` | 修改 | T3/T4 |
|
||
| `apps/miniprogram/miniprogram/utils/format.wxs` | 修改 | T3 |
|
||
| `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss` | 修改 | T3 |
|
||
| `docs/guides/FRONTEND-BACKEND-INTEGRATION.md` | 修改 | T6 |
|
||
| `.kiro/steering/frontend-backend-integration.md` | 修改 | T6 |
|
||
| `docs/prd/specs/board-finance-phase2.md` | 修改 | 状态更新 |
|
||
|
||
## 本次对话文件变更
|
||
|
||
### 新增文件
|
||
- `docs/audit/prompt_logs/prompt_log_20260327_233226.md`
|
||
- `docs/audit/session_logs/2026-03/27/15_39869986_175210/main_01_ec3464b5.md`
|
||
- `docs/audit/session_logs/2026-03/27/19_2ce2a118_230836/main_01_fd0c357e.md`
|
||
- `docs/audit/session_logs/2026-03/27/19_2ce2a118_230836/sub_01_ec3464b5.md`
|
||
|
||
### 删除文件
|
||
- `docs/audit/session_logs/2026-03/27/15_39869986_175210/main_01_58aad65c.md`
|
||
|
||
## 改动注解
|
||
|
||
### `apps/backend/app/services/fdw_queries.py`
|
||
- 变更类型:修改
|
||
- 原始原因:财务看板 Phase 2 要求对齐 Demo 原型的数据结构和展示口径,涉及收入结构、优惠减扣、现金流、费用、助教分析 5 个查询函数的重写
|
||
- 思路分析:
|
||
- T1+T2 `get_finance_revenue()`:收入结构改为从 `dwd_settlement_head` 按物理区域聚合(CASE WHEN 映射 7 个区域),优惠减扣改为从 `v_dws_finance_daily_summary` 的 `discount_*` 字段聚合为 Demo 的 4 项(会员折扣、优惠券、团购优惠、其他优惠),渠道分布 label 对齐 Demo,新增 `discount_total` 返回字段
|
||
- T4 `get_finance_cashflow()`:label 改名(扫码收款→线上收款,团购平台回款→团购平台),所有项添加 `desc` 字段用于前端 tooltip
|
||
- T5 `get_finance_expense()`:4 个分组为空时填充固定项名对齐 Demo,避免空数据时前端展示不一致
|
||
- T6 `get_finance_coach_analysis()`:客户支付改为 DWD `ledger_amount`(实际结算金额),球房分成 = 客户支付 - 助教到手(DWS `base_income`/`bonus_income`),遵循助教财务三列口径规范
|
||
- 修改结果:5 个查询函数返回结构与 Demo 原型完全对齐,数据口径从估算改为实际结算金额
|
||
|
||
### `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxml`
|
||
- 变更类型:修改
|
||
- 原始原因:T3 要求在发生额行下方添加优惠总计行,展示红色负数金额
|
||
- 思路分析:在经营一览卡片的发生额/正价行下方新增优惠总计行,使用 `fmt.negativeMoney()` WXS 函数格式化为负数红色显示,右侧对齐。同时将所有金额字段从 TS 预格式化改为 WXS 实时格式化(`fmt.money()`/`fmt.safe()`),修复双重格式化 NaN 问题。移除旧的加载态 toast(改用其他方案),看板 tab 改为动态渲染
|
||
- 修改结果:优惠总计行正确展示,金额格式化统一由 WXS 处理,避免 TS 与 WXS 格式化互斥问题
|
||
|
||
### `apps/miniprogram/miniprogram/pages/board-finance/board-finance.ts`
|
||
- 变更类型:修改
|
||
- 原始原因:T3 需要映射后端新增的 `discountTotal` 字段,T4 需要映射 `desc` 字段
|
||
- 思路分析:在 `setData` 中新增 `discountTotal` 字段映射(`?? 0` 防空),现金流各项新增 `desc` 字段传递。金额字段传原始数字,格式化交给 WXS
|
||
- 修改结果:前端正确接收并展示后端新增字段
|
||
|
||
### `apps/miniprogram/miniprogram/utils/format.wxs`
|
||
- 变更类型:修改
|
||
- 原始原因:T3 优惠总计需要以负数红色格式展示
|
||
- 思路分析:新增 `negativeMoney` 函数,接收数值参数,先 `parseFloat` 转数字(防止字符串类型),输出带负号和千分位的金额字符串(如 `-¥1,234`)
|
||
- 修改结果:WXS 层新增负数金额格式化能力,供 WXML 直接调用
|
||
|
||
### `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss`
|
||
- 变更类型:修改
|
||
- 原始原因:T3 优惠总计行需要红色样式
|
||
- 思路分析:添加优惠总计行的 CSS 类,红色字体,右侧对齐,与发生额行视觉层级区分
|
||
- 修改结果:优惠总计行样式与 Demo 原型一致
|
||
|
||
### `docs/guides/FRONTEND-BACKEND-INTEGRATION.md`
|
||
- 变更类型:修改
|
||
- 原始原因:T6 改变了助教财务三列口径,文档需同步
|
||
- 思路分析:更新助教财务三列口径说明:对客收费从 `hours × course_price` 改为 DWD `ledger_amount`(API 实际结算),明确 DWS `base_income`/`bonus_income` 是助教到手而非对客收费
|
||
- 修改结果:文档与代码口径一致,避免后续开发误用旧口径
|
||
|
||
### `.kiro/steering/frontend-backend-integration.md`
|
||
- 变更类型:修改
|
||
- 原始原因:steering 规则需与主文档同步
|
||
- 思路分析:同步更新助教口径速查条目
|
||
- 修改结果:AI steering 规则与实际口径一致
|
||
|
||
### `docs/prd/specs/board-finance-phase2.md`
|
||
- 变更类型:修改
|
||
- 原始原因:标记 SPEC 执行进度
|
||
- 思路分析:状态从"待执行"改为"执行中"
|
||
- 修改结果:SPEC 状态反映实际进度
|
||
|
||
## 合规检查
|
||
|
||
| 检查项 | 状态 |
|
||
|--------|------|
|
||
| 文档同步 | ✅ 无缺失(code_without_docs 为空) |
|
||
| 迁移 SQL | ✅ 无新增迁移 |
|
||
| DDL 基线 | ⚠️ has_ddl_baseline=false(无新迁移,不影响) |
|
||
| API 变更 | ✅ 无接口变更 |
|
||
| OpenAPI Spec | ✅ 无需同步 |
|