feat: App2a 区域财务洞察 APP 派生整包上线 #1
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
概述
将 App2 财务洞察 72 组合(8 时间 × 9 区域)从单百炼 APP 拆分为 2 个 APP:
app2_finance(全域版 · 不变)承担 area='all' 的 8 组合app2a_finance_area(新建 · 区域派生版)承担 area != 'all' 的 64 组合区域粒度专注业态定位分析(让利结构 / 业态特征引用 / 助教业态合理性),不再被全店级字段(储值卡 / 现金流 / 按星期)拖累,质量显著提升。
本轮 6 commit(dev 分支最新 6 条)
cd511d076a23638638eca66be8737107884d269ee6质量验证(Phase E)
审计记录
docs/audit/changes/2026-04-23__app2a_finance_area_integrated.md(13 高风险文件逐项注解 + 回滚策略 + 4 条验证 SQL)上线 checklist(生产窗口执行)
db/etl_feiqiu/migrations/20260423__app2a_add_member_order_count.sqldb/zqyy_app/migrations/20260423__ai_cache_allow_app2a.sqlmember_order_count(约 30 min):uv run python scripts/ops/backfill_finance_area_daily.py --site-id 2790685415443269 --start-date 2025-10-23 --end-date 2026-04-22遗留事项(独立 ticket)
PR 里不只本轮 6 commit
本 PR 含 12 commit(本轮 6 + 之前会话 6 条历史堆积),base 分支选
master会把全部 dev 堆积都合过去。Review 时重点看本轮 6 条(cd511d0~d269ee6)。如需只 merge 本轮,可选
cherry-pick方式 · 但需要决策是否要先把历史也合入 master。主线 1: rns1-customer-coach-api + 04-miniapp-core-business 后端实施 - 新增 GET /xcx/coaches/{id}/banner 轻量接口 - performance/records 加 coach_id 参数 + view_board_coach 权限分流 - coach/customer/performance/board/task 服务层重构 - fdw_queries 结算单粒度聚合 + consumption_summary 视图统一 - task_generator 回访宽限 72h + UPSERT 替代策略 + Step 5 保底清理 - recall_detector settle_type=3 双重限制 + 门店级 resolved 主线 2: 小程序权限分流 + 新增 coach-service-records 管理者视角业绩明细页 - perf-progress 共享模块去重 task-list/coach-detail 动画逻辑 - isScattered 散客标记端到端 - foodDetail/phoneFull/creator* 字段透传 主线 3: P19 指数回测框架 Phase 1+2 - 3 个指数表 stat_date 日快照模式 - 新增 DWS_INDEX_BACKFILL / DWS_TASK_SIMULATION 工具任务 - task_engine 升级 HTTP 实时 + 推演回测双模式 主线 4: Core 维度层启用 - 新增 CORE_DIM_SYNC 任务(DWD → core 4 维度表) - 修复 app 视图空查询问题 主线 5: member_project_tag 改为 LAST_30_VISITS 消费次数窗口 主线 6: 2 个迁移 SQL 已执行(stat_date + member_project_tag 新窗口) - schema 基线与 DDL 快照同步 主线 7: 开发机路径迁移 C:\NeoZQYY → C:\Project\NeoZQYY(约 95% 改动量) 附带: 新建运维脚本(churned_customer_report / simulate_historical_tasks / backfill_index_snapshots)+ tools/task-analysis/ 任务分析工具 合计 157 文件。未包含中间产物(tmp/ .playwright-mcp/ inspect-* excel/sheet 分析 txt)。 审计记录见下一个 commit。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1. apps/backend/app/ai/prompts/app2a_finance_area_prompt.py (新建): - payload: 业态说明 + 区域占比 + 对比口径 + 核心 KPI + 优惠构成 + 助教成本 + 区域级单位经济 + 按星期聚合 + 日粒度异常 + 行业基线 - 5 个区域级辅助函数:_fetch_area_daily_series / _build_area_unit_economics / _aggregate_by_weekday_area / _detect_anomaly_days_area / _fetch_area_share - AREA_INDUSTRY_TRAITS 字典(7 业态 trait + peer 描述) - 复用 app2_finance_prompt 的 _build_coach_kpi / _build_discount_kpi 等公共函数 2. config.py: AIConfig 增加 app_id_2a_finance_area + DASHSCOPE_APP_ID_2A_FINANCE_AREA 3. schemas.py: CacheTypeEnum 增加 APP2A_FINANCE_AREA 4. dispatcher.py: - APP2A_AREA_OPTIONS 常量(8 业态 · area != 'all') - _handle_dws_completed 72 循环拆分: area='all' 走 app2_finance · 其他 8 业态走 app2a_finance_area - run_single_app 新增 elif 'app2a_finance_area' 分支(拒绝 area='all') 5. admin_ai.py: _SUPPORTED_APP_TYPES 加 'app2a_finance_area' 6. prompts/__init__.py: 导出 build_app2a_area_prompt 7. .env: 追加 DASHSCOPE_APP_ID_2A_FINANCE_AREA 百炼 APP ID 实测:7 项集成单测全通过(config/cache_type/router/prompts/dispatcher 常量/ 4 业态 prompt 构建/拒绝 area=all)· 端到端实调 vip 组合返回 12 条高质量洞察 严格遵守 v1.2 system prompt 全部 7 项硬约束(H1-H7)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1. AIPrewarm.tsx: - areaToAppType(area) helper · area='all' → app2_finance · 其他 → app2a_finance_area - handleRunOne / handleBackfillMissing 按 area 动态选 app_type - MissingRowWithGroup 含 __group_header 字段 - groupedMissing 数据构造(全域 + 区域两组 · 每组前插 header 行) - 每列 onCell colSpan 合并单元格实现"全域 / 区域"分组标题行 - Descriptions 加全域 8/X + 区域 64/X 双段统计 2. api/adminAI.ts: - 新增 AppType 联合类型(9 项,含 app2a_finance_area) - runApp 签名 appType: AppType(替代原 string) - RunAppResponse.app_type 同步为 AppType 3. AIOperations.tsx: - runAppType state 类型改为 AppType | undefined - import { AppType } type 实测: - pnpm tsc --noEmit 全项目通过 - playwright E2E 访问 /ai/prewarm 显示 "全域 8/8 · 区域 63/64" 分段统计 分组标题行正确合并 · 单独生成按钮按 area 路由到正确 app_type Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>WIP: feat: App2a 区域财务洞察 APP 派生整包上线to feat: App2a 区域财务洞察 APP 派生整包上线View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.