Files
Neo-ZQYY/docs/prd/Neo_Specs/review-audit/P5.1-NS3-02.md
Neo 6f8f12314f feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更:
- backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔
- admin-web: ETL 状态页、任务管理、调度配置、登录优化
- miniprogram: 看板页面、聊天集成、UI 组件、导航更新
- etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强
- tenant-admin: 项目初始化
- db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8)
- packages/shared: 枚举和工具函数更新
- tools: 数据库工具、报表生成、健康检查
- docs: PRD/架构/部署/合约文档更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:03:48 +08:00

76 lines
3.8 KiB
Markdown
Raw 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.
# P5.1→NS3 缺失项 #2App2 财务指标计算口径
## 简要结论
- 状态:✅ 已解决
- 风险等级:🟡 低
- App2 财务洞察的 6 个收入结构字段、items_sum 口径、环比基准均已在 Prompt 模板和后端代码中完整定义。
## 详细审查
### 审查范围
- `apps/backend/app/ai/apps/app2_finance.py` — App2 后端实现
- `apps/backend/app/ai/prompts/app2_finance_prompt.py` — App2 Prompt 模板
- `docs/prd/ai-app-prompts.md` — App2 System Prompt
- `docs/prd/specs/P5-miniapp-ai-integration.md` — P5 spec 中 App2 首条 Prompt 数据结构
- `apps/backend/app/ai/schemas.py` — App2Result 模型定义
### 发现
1. **收入结构字段映射6 个指标)**`app2_finance_prompt.py``_build_system_content()` 中明确定义了 `field_mapping`
- `items_sum` = table_charge_money + goods_money + assistant_pd_money + assistant_cx_money + electricity_money
- `table_fee` = table_charge_money台费收入
- `assistant_pd` = assistant_pd_money陪打费
- `assistant_cx` = assistant_cx_money超休费
- `goods` = goods_money商品收入
- `recharge` = 充值 pay_amountsettle_type=5充值收入
- `electricity` = electricity_money电费当前未启用全为 0
2. **items_sum 口径规则**Prompt 模板中 `rules` 数组明确声明:
- "统一使用 items_sum 口径计算营收总额"
- "助教费用必须拆分为 assistant_pd_money陪打和 assistant_cx_money超休"
- "支付渠道恒等式balance_amount = recharge_card_amount + gift_card_amount"
- "金额单位CNY保留两位小数"
3. **环比基准**`_build_period_data()` 构建当期和上期数据结构,包含完整的收入结构、储值资产、费用汇总、平台结算字段。`app2_finance.py``compute_time_range()` 实现了 8 个时间维度的日期范围计算,为环比分析提供基准。
4. **System Prompt**`ai-app-prompts.md` 中 App2 的 System Prompt 定义了 3 个技能:
- 技能 1财务趋势分析历史数据环比增减幅度
- 技能 2经营预警与建议含当前周期
- 技能 3多维度深度分析客单价、支付方式、时段分析
5. **输出 JSON schema**System Prompt 中强制要求返回 `[{seq, title, content}]` 格式,`schemas.py` 中定义了 `App2InsightItem(seq, title, body)``App2Result(insights)` Pydantic 模型。
### 证据
`app2_finance_prompt.py` 中的字段映射:
```python
"field_mapping": {
"items_sum": (
"table_charge_money + goods_money + assistant_pd_money"
" + assistant_cx_money + electricity_money"
),
"table_fee": "table_charge_money台费收入",
"assistant_pd": "assistant_pd_money陪打费",
"assistant_cx": "assistant_cx_money超休费",
"goods": "goods_money商品收入",
"recharge": "充值 pay_amountsettle_type=5充值收入",
"electricity": "electricity_money电费当前未启用全为 0",
},
```
`_build_period_data()` 中的完整数据结构16 个字段):
```python
return {
"table_charge_money": data.get("table_charge_money", 0),
"goods_money": data.get("goods_money", 0),
"assistant_pd_money": data.get("assistant_pd_money", 0),
"assistant_cx_money": data.get("assistant_cx_money", 0),
"electricity_money": data.get("electricity_money", 0),
"recharge_income": data.get("recharge_income", 0),
# ... 储值资产、费用汇总、平台结算、汇总
}
```
P5 spec 中 App2 收入结构字段映射(已校准):
> `table_fee` = `table_charge_money`56.6%)、`assistant_pd` = `assistant_pd_money`30.6%)、`assistant_cx` = `assistant_cx_money`0.9%)、`goods` = `goods_money`10.1%)、`recharge` = 充值 pay_amountsettle_type=5