Files
Neo-ZQYY/docs/audit/changes/2026-03-27__board-finance-phase2-t1-t6.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 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>
2026-04-20 06:35:42 +08:00

100 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 变更审计记录:财务看板 Phase 2 对齐 DemoT1-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 | ✅ 无需同步 |