Business DAG — 业务闭环拓扑审计

Celoria 预约制服务业运营平台 | 宏观价值链与数据流审计
2026-03-22 | Spec 098-business-dag-audit

全局健康度

各子图节点连通状态汇总(由子页面审计结果回填)

99
总审计项
60
已连通 (61%)
27
部分连通 (27%)
12
断裂 (12%)

宏观业务 DAG

已连通 (数据端到端可流通)
部分连通 (后端存在但前端缺失/链路断)
断裂 (未实现或无代码连接)
基础设施 (虚线依赖)
graph LR
  ACQ["获客 Acquisition"]
  CONV["转化 Conversion"]
  DELV["服务交付 Delivery"]
  PAY["收款 Payment"]
  RET["留存复购 Retention"]
  OPS["运营管理 Operations"]
  INFRA["共享基础设施 Infrastructure"]

  ACQ -->|"E1 获客-转化"| CONV
  CONV -->|"E2 转化-交付"| DELV
  DELV -->|"E3 交付-收款"| PAY
  PAY -->|"E4 收款-留存"| RET
  PAY -->|"E5 收款-运营"| OPS
  DELV -->|"E6 交付-留存"| RET
  RET -->|"E7 留存-转化"| CONV
  RET -->|"E8 留存-获客"| ACQ
  DELV -->|"E9 交付-运营"| OPS
  INFRA -.-> ACQ
  INFRA -.-> CONV
  INFRA -.-> DELV
  INFRA -.-> PAY
  INFRA -.-> RET
  INFRA -.-> OPS

  style ACQ fill:#1a2332,stroke:#3b82f6,color:#e0e0e0
  style CONV fill:#1a2332,stroke:#8b5cf6,color:#e0e0e0
  style DELV fill:#1a2332,stroke:#06b6d4,color:#e0e0e0
  style PAY fill:#1a2332,stroke:#22c55e,color:#e0e0e0
  style RET fill:#1a2332,stroke:#f59e0b,color:#e0e0e0
  style OPS fill:#1a2332,stroke:#ef4444,color:#e0e0e0
  style INFRA fill:#161b22,stroke:#8b949e,stroke-dasharray:5,color:#8b949e

  linkStyle 0 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
  linkStyle 1 stroke:#22c55e,stroke-width:2px
  linkStyle 2 stroke:#22c55e,stroke-width:2px
  linkStyle 3 stroke:#22c55e,stroke-width:2px
  linkStyle 4 stroke:#22c55e,stroke-width:2px
  linkStyle 5 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
  linkStyle 6 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
  linkStyle 7 stroke:#ef4444,stroke-width:2px,stroke-dasharray:5
  linkStyle 8 stroke:#22c55e,stroke-width:2px
  linkStyle 9 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
  linkStyle 10 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
  linkStyle 11 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
  linkStyle 12 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
  linkStyle 13 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
  linkStyle 14 stroke:#8b949e,stroke-width:1px,stroke-dasharray:5
    

宏观边审计表

状态 涉及端口 代码路径 备注
⚠️ E1 获客 → 转化 API, Landing api/demo-request.js
services/acquisition/gbp-sync-service.js
services/templating/variable-engine.js
GBP Sync 存在但未配置 booking URL 到 Google 商家页面;
Demo-request 仅发邮件通知,无自动化跟进到预约系统;
模板变量 booking_link 可用,但获客 Agent 未直接输出预约链接
E2 转化 → 交付 Web, API, Kiosk api/public/booking.js
api/checkin.js
services/checkinService.js
Public Booking API 创建预约;Kiosk 预约自动触发 checkin;
Checkin API 支持手机号/邮箱验证 + quick check-in;
预约状态从 booked → checked_in 链路完整
E3 交付 → 收款 Web, API, POS frontend/.../checkout/[appointmentId]/page.tsx
api/payment/checkout-routes.js
api/payment/intent-routes.js
Web 端 checkout 页面以 appointmentId 为入口;
支持 cash + POS card 两种支付方式;
支付完成后更新预约状态为 completed
E4 收款 → 留存 API api/payment/intent-routes.js (L223)
services/loyalty/loyaltyService.js (onPaymentCompleted)
api/loyalty.js (checkout/apply)
POS 支付完成自动调用 onPaymentCompleted()
积分自动累加、会员等级自动升级;
Checkout preview/apply/refund API 完整;
注意:cash 支付路径未见 loyalty 调用(仅 intent-routes 有)
E5 收款 → 运营 API services/commission/commissionRecorder.js
services/reports/queries/revenue.js
services/reports/queries/payroll.js
services/reports/queries/sales-summary.js
支付完成触发 commission 记录(cash + card 均有);
交易数据流入 revenue/sales/payroll 等 20+ 报表查询;
数据管道完整
⚠️ E6 交付 → 留存 API services/automation/trigger-engine.js (SERVICE_COMPLETED)
services/automation/event-emitter.js
services/acquisition/review-evaluator.js
自动化引擎支持 service_completed 事件触发;
Review evaluator 决策逻辑完整(tip 阈值、冷却期、周上限);
但 review solicitation 仅在 Agent tool 中调用,未作为 automation action 接入;
服务完成 → 自动营销链路通,→ review 请求链路松
⚠️ E7 留存 → 转化 API services/templating/variable-engine.js (L438)
services/templating/legacy-compat.js
Email/SMS 模板变量 {{system.booking_link}} 可嵌入预约链接;
营销自动化可发送包含 booking_link 的消息;
但缺少转化追踪 — 无法度量"从营销邮件到预约"的归因
E8 留存 → 获客 - services/loyalty/referralService.js
services/loyalty/referralRewardService.js
Referral 系统仅限 loyalty 积分奖励闭环;
无代码连接到 Acquisition Agent(GBP/SEO/Content);
推荐人带来的新客不会触发获客指标统计;
Referral → 新客注册 → 获客归因链路完全缺失
E9 交付 → 运营 Web, API services/timeClockService.js
services/timeCardService.js
services/reports/queries/payroll.js
Time Clock 系统记录员工工时(clock in/out/break);
Time Cards 数据流入 payroll 报表查询;
排班 + 工时 + 服务记录三方汇入运营报表

宏观健康度统计

5 条已连通(E2, E3, E4, E5, E9)
3 条部分连通(E1, E6, E7)
1 条断裂(E8)
Complete Business DAG — 全展开业务闭环
全部关键节点 + 跨域数据流的鸟瞰图。6 个子图完全展开,9 条跨域边用颜色标注连通状态。

子图导航

点击卡片进入各价值环节的详细节点审计

Top 松动点(按优先级排序)

级别子图问题影响
❌ P0收款支付完成后 6 条扇出边分散在 4 个独立 call site,无统一 onPaymentCompleted()现金不累积分,POS 不记佣金,手动录入零副作用
❌ P0转化Phone Bot 和 Agent Chat 绕过 conflict-detector 直接 INSERT双重预约风险,且无通知分发
❌ P0基础设施103 个非测试文件仍使用 pool.query 绕过统一数据访问层租户数据泄露风险
❌ P1基础设施CodePay 支付网关无 CircuitBreakerConstitution 违规,支付降级无保护
❌ P1获客publishPost() 从未被调用,内容发布管道断裂Content Agent 产出内容无法发布
❌ P1基础设施3 个 acquisition agent 未注册到 store-networkAgent 调度返回 undefined
⚠️ P1留存evaluationService 添加标签后未调用 automationEvents.tagAdded()标签-自动化触发链路断裂
⚠️ P1服务交付Queue API 路由未挂载到 server.js前端 QueueManager 按钮不可用
⚠️ P2运营小费数据-薪酬链路断层薪酬计算可能漏算小费
⚠️ P2获客Content Agent 用内联 regex 而非共享 safety filter安全过滤标准不一致