跳转至

业务架构说明(Business Architecture Specification - BAS)

文档编号:DOC-A07 / BAS 版本:V1.0 创建日期:2026-08-21 维护人:TL / DT 关联文档PJM §五 完整性核查DIS-D V1.0GLY V4.7


一、文档定位与目标

1.1 为什么需要这份文档

随着平台从「筹备期前期」进入「试运营」和「扩张期」,业务领域会持续演进。如果没有一份权威的业务架构基线

  • 团队讨论时,每个人对「服务边界」「子域归属」「协作契约」的理解可能不一致
  • AI 深化设计时,不同轮次可能给出相互冲突的领域划分
  • 后续运营迭代时,跨服务的耦合会逐渐累积,最终导致"大泥球"回潮

本文件建立一份稳定可追溯的业务架构基线,明确:

  1. 平台的业务领域全景与子域划分
  2. 各服务的限界上下文与协作边界
  3. 跨服务的领域事件流与数据流
  4. 子域的演进路径与稳定性原则
  5. DDD 实施规范(供后续 AI 与人类团队遵循)

1.2 适用对象

对象 使用方式
人类团队(TL/OL/BO/SPO) 讨论业务变更前先对照本文件,确认变更点是否触及子域边界
AI 智能体(DT/WDE/OCM) 深化服务设计、扩展用例、迭代原型前,以本文件为架构稳定锚点
新成员 作为业务架构快速上手文档,配合 PMG 与 PJM 阅读

1.3 稳定性原则

  • 子域边界稳定:本文件定义的子域划分在「成熟期」前不轻易变更;变更须经 TL 审批并升级 BAS 版本
  • 协作契约稳定:跨服务的事件契约与接口契约一旦定义,向后兼容
  • 聚合根稳定:每个子域的聚合根是业务概念的"锚",不因技术实现变更
  • 领域事件稳定:事件名 + 触发条件 + 订阅方一旦定义,不轻易重命名

二、平台业务领域全景

2.1 业务全景图

graph TB
    subgraph 客户域
        CST["客户子域<br/>CST-BC"]
        MFR["生产商子域<br/>MFR-BC"]
    end
    subgraph 服务交付域
        CPT["客户项目跟踪子域<br/>CPT-BC(核心)"]
        QSV["报价子域<br/>QSV-BC(核心)"]
        DIS["派单子域<br/>DIS-BC(核心)"]
        WKR["师傅子域<br/>WKR-BC"]
        LGP["物流商子域<br/>LGP-BC"]
    end
    subgraph 主数据域
        MDS["主数据子域<br/>MDS-BC"]
        SCL["品类库 SCL"]
        BPL["楼宇库 BPL"]
        WPL["师傅库 WPL"]
        CPL["客户库 CPL"]
        PPL["生产商库 PPL"]
        DLV["物流商库 DLV"]
    end
    subgraph 运营增长域
        OPS["运营子域<br/>OPS-BC"]
        SCENE["获客场景"]
        SMTL["销售物料"]
        FLUP["口碑营销"]
    end

    MDS --> SCL & BPL & WPL & CPL & PPL & DLV
    OPS --> SCENE & SMTL & FLUP

    OPS -.->|线索| CPT
    QSV -.->|报价| CPT
    CPT -.->|L5 物流单事件| DIS
    DIS -.->|派单决策| LGP
    DIS -.->|保险预警| OPS
    CPT -.->|L8 NPS 反哺| OPS
    CPT -.->|实际数据反哺| MDS

2.2 子域分类(核心 / 支撑 / 通用)

子域 类型 现阶段定位 成熟期定位 演进触发条件
CPT 客户项目跟踪 🔴 核心 数据主线,8 阶段全生命周期 新增服务阶段、跟踪池扩展
QSV 报价 🔴 核心 动态报价引擎 同 + C2C 撮合 启用 C2C 模式
DIS 派单 🔴 核心 三模式决策引擎 同 + M2 启用 启用 M2 独立司机
MDS 主数据 🟢 支撑 六库供给 新增主体档案类型
OPS 运营 🔴 核心 获客与增长引擎 同 + B 端生态 新增获客渠道、合作模式
WKR 师傅 🟡 通用 师傅入驻与作业 师傅分级体系变更
LGP 物流商 🟡 通用 物流商入驻与作业 新增物流模式
CST 客户 🟡 通用 客户档案与订单 客户分级体系变更
MFR 生产商 🟡 通用 B 端委托与结算 新增 B 端合作模式

稳定性约束:核心子域的边界变更须 BAS 版本升级 + TL 审批;支撑/通用子域的内部结构可迭代,但对外契约保持兼容。


三、5 服务限界上下文总图

3.1 限界上下文映射图(C4 Context View)

graph LR
    subgraph "QSV 限界上下文"
        QSV_BC["报价决策 BC<br/>(核心)"]
        QMD_BC["报价模型 BC<br/>(支撑)"]
    end
    subgraph "CPT 限界上下文"
        CPT_BC["客户项目跟踪 BC<br/>(核心)"]
        TRAK_BC["跟踪池 BC<br/>(通用)"]
        EXCP_BC["异常处理 BC<br/>(通用)"]
    end
    subgraph "MDS 限界上下文"
        MDS_BC["主数据供给 BC<br/>(核心)"]
        SIX_BC["六库 BC<br/>(支撑)"]
    end
    subgraph "OPS 限界上下文"
        OPS_BC["获客运营 BC<br/>(核心)"]
        SMTL_BC["物料管理 BC<br/>(支撑)"]
        FLUP_BC["口碑营销 BC<br/>(支撑)"]
    end
    subgraph "DIS 限界上下文"
        DISP_BC["派单决策 BC<br/>(核心)"]
        M3_BC["M3 合同 BC<br/>(支撑)"]
        INS_BC["保险策略 BC<br/>(支撑)"]
    end

    MDS_BC -.->|"OHS:主数据供给"| QSV_BC
    MDS_BC -.->|"OHS:主体档案ID"| CPT_BC
    MDS_BC -.->|"OHS:物流商档案"| DISP_BC
    MDS_BC -.->|"OHS:画像"| OPS_BC

    OPS_BC -->|"L1 线索事件"| CPT_BC
    QSV_BC -->|"L3 报价决策事件"| CPT_BC
    CPT_BC -->|"L5 物流单事件"| DISP_BC
    DISP_BC -->|"派单决策事件"| LGP_BC["LGP 接单 BC"]
    DISP_BC -->|"保险预警事件"| OPS_BC
    CPT_BC -->|"L8 NPS 反哺事件"| OPS_BC
    CPT_BC -->|"实际数据反哺事件"| MDS_BC

    QSV_BC -.->|"ACL:费率查询"| QMD_BC
    DISP_BC -.->|"ACL:物流商档案"| MDS_BC
    DISP_BC -.->|"SK:M3 字段"| MDS_BC

3.2 上下文映射模式说明

模式 含义 使用场景
OHS(开放主机服务) 提供标准化 API 供外部调用 MDS 向各业务服务供给主数据
ACL(防腐层) 转换外部模型为内部模型,隔离变化 DIS 调用 DLV 物流商档案时转换为 LogisticsOrder VO
SK(共享内核) 多个上下文共享一部分模型 DIS 与 DLV 共享 M3 字段子表
CS(客户/供应商) 上下游依赖,下游遵从上游模型 LGP 遵从 DIS 的接单 API 契约
PL(各行其道) 上下文独立演进,无直接依赖 MFR 与 LGP 各自独立

3.3 各服务限界上下文清单

服务 限界上下文 类型 当前状态
CPT 客户项目跟踪 BC 核心 🟡 待 DDD 补全(阶段二-1)
跟踪池 BC 通用 🟡 待 DDD 补全
异常处理 BC 通用 🟡 待 DDD 补全
QSV 报价决策 BC 核心 🟡 待 DDD 补全(阶段二-3)
报价模型 BC 支撑 🟡 待 DDD 补全
MDS 主数据供给 BC 核心 🟡 待 DDD 补全(阶段二-5)
六库 BC 支撑 🟡 待 DDD 补全
OPS 获客运营 BC 核心 🟡 待 DDD 补全(阶段二-7)
物料管理 BC 支撑 🟡 待 DDD 补全
口碑营销 BC 支撑 🟡 待 DDD 补全
DIS 派单决策 BC 核心 🟢 已完成(V1.0)
M3 合同 BC 支撑 🟢 已完成
保险策略 BC 支撑 🟢 已完成

四、服务协作边界与契约

4.1 服务协作矩阵(RACI 视角)

业务事件 发起方 接收方 协作模式 契约类型 SLA
L1 线索产生 OPS CPT 事件订阅 LeadGenerated 事件 实时
L2 需求确认 CPT 内部
L3 报价请求 CPT QSV 同步调用 QuoteRequest API ≤2s
L3 报价返回 QSV CPT 同步响应 QuoteResult DTO ≤2s
L4 签约下单 CPT 内部
L5 物流单生成 CPT DIS 事件发布 DispatchRequested 事件 实时
L5 派单决策 DIS LGP API 调用 DispatchOrder API ≤5s
L5 派单结果 LGP DIS 事件发布 DispatchAccepted/Rejected 实时
L5 派单调整 DIS CPT 事件发布 DispatchAdjusted 实时
L6 上门安装 WKR CPT 事件发布 InstallationCompleted 实时
L7 验收交付 CST CPT API 调用 AcceptanceConfirm API 同步
L8 NPS 回访 CPT OPS 事件发布 NPSFeedback 事件 批量 T+1
主数据供给 MDS QSV/CPT/OPS/DIS API 调用 MasterData* API ≤500ms
实际数据反哺 CPT MDS 事件发布 ActualData* 事件 批量 T+1
C7 保险预警 DIS OPS 事件发布 InsuranceWarning 事件 实时

4.2 边界约束(什么不能做)

  1. CPT 不得直接调用 DIS 内部算法:CPT 只能发布 DispatchRequested 事件,由 DIS 决策
  2. DIS 不得直接修改 CPT 订单状态:DIS 通过发布事件让 CPT 自行更新
  3. QSV 不得直接查询 MDS 六库内部表:QSV 通过 MDS-OHS API 获取 VO
  4. OPS 不得直接派单:OPS 的获客线索进入 CPT 后,派单由 DIS 执行
  5. MDS 不持有业务流程状态:MDS 只存储主体档案的长期属性,不参与单次业务流程
  6. 跨服务事务避免强一致:使用最终一致性 + 事件驱动 + 幂等消费

4.3 契约演进规则

契约类型 兼容性规则 变更流程
事件契约 字段新增兼容;字段删除/重命名不兼容 须 BAS 版本升级 + 影响方评审
API 契约 入参新增兼容;入参删除/类型变更不兼容 须 BAS 版本升级 + 影响方评审
DTO 字段 新增字段兼容;删除字段不兼容 须通知所有消费方
事件流方向 不可逆 须 BAS 版本升级 + TL 审批

五、数据流与领域事件总线

5.1 领域事件总线图

flowchart LR
    subgraph 发布方
        OPS_P[OPS]
        QSV_P[QSV]
        CPT_P[CPT]
        DIS_P[DIS]
        WKR_P[WKR]
        LGP_P[LGP]
        CST_P[CST]
    end
    subgraph 事件总线
        BUS[(领域事件总线<br/>Event Bus)]
    end
    subgraph 订阅方
        OPS_S[OPS]
        QSV_S[QSV]
        CPT_S[CPT]
        DIS_S[DIS]
        MDS_S[MDS]
    end

    OPS_P -->|LeadGenerated| BUS
    QSV_P -->|QuoteGenerated| BUS
    CPT_P -->|DispatchRequested| BUS
    CPT_P -->|NPSFeedback| BUS
    CPT_P -->|ActualData*| BUS
    DIS_P -->|DispatchDecided| BUS
    DIS_P -->|DispatchAdjusted| BUS
    DIS_P -->|InsuranceWarning| BUS
    WKR_P -->|InstallationCompleted| BUS
    LGP_P -->|DispatchAccepted| BUS
    LGP_P -->|DispatchRejected| BUS
    CST_P -->|AcceptanceConfirmed| BUS

    BUS --> CPT_S
    BUS --> DIS_S
    BUS --> OPS_S
    BUS --> MDS_S
    BUS --> QSV_S

5.2 事件清单(核心领域事件)

事件名 发布方 订阅方 触发条件 载荷
LeadGenerated OPS CPT 线索产生 leadId, source, scene, initialNeed
QuoteGenerated QSV CPT 报价生成 quoteId, customerId, totalAmount, breakdown
DispatchRequested CPT DIS L4 签约完成 orderId, logisticsOrder, deadline
DispatchDecided DIS CPT/LGP 派单决策完成 dispatchId, driverId, mode, score
DispatchAccepted LGP DIS/CPT 司机接单 dispatchId, driverId, acceptedAt
DispatchRejected LGP DIS 司机拒绝 dispatchId, driverId, reason
DispatchAdjusted DIS CPT OL 人工调整 dispatchId, oldDriver, newDriver, reason
InsuranceWarning DIS OPS C7 保险触发 driverId, claimRatio, cargoValue
InstallationCompleted WKR CPT L6 安装完成 orderId, workHours, photos, issues
AcceptanceConfirmed CST CPT L7 验收通过 orderId, result, signature
NPSFeedback CPT OPS L8 回访完成 orderId, npsScore, feedback
ActualData* CPT MDS 实际数据反哺 多种:WorkHoursData/CustomerScoreData/BuildingVerifyData 等

5.3 数据流闭环(CPT 反哺 MDS)

flowchart LR
    CPT_DATA[CPT 采集实际数据] --> |工时数据| WPL_UP[WPL 师傅画像更新]
    CPT_DATA --> |客户评分| WPL_LV[WPL 等级校准]
    CPT_DATA --> |客户行为| CPL_TAG[CPL 标签更新]
    CPT_DATA --> |楼宇核实| BPL_ARCH[BPL 楼宇档案更新]
    CPT_DATA --> |成交价偏差| SCL_FEE[SCL 费率校准]

    WPL_UP --> QSV_ADJ[QSV 报价参数调整]
    WPL_LV --> QSV_ADJ
    CPL_TAG --> OPS_MKT[OPS 精准营销]
    BPL_ARCH --> QSV_ADJ
    SCL_FEE --> QSV_ADJ

    QSV_ADJ -.->|下一单报价更精准| CPT_DATA

六、DDD 实施规范

6.1 子域划分原则

  1. 核心子域:业务差异化竞争力所在,必须自研,DDD 战术设计完整
  2. 支撑子域:为核心子域提供支撑,可自研可外采,DDD 战术设计简化
  3. 通用子域:行业通用能力,可外采(如身份认证、消息推送),DDD 战术设计最简

6.2 限界上下文划分原则

  1. 一个限界上下文 = 一个子域的落地:不跨子域共享聚合根
  2. 限界上下文边界 = 团队边界:一个团队负责一个或多个 BC,不跨团队共享 BC
  3. 语言统一:同一 BC 内使用统一语言(Ubiquitous Language),跨 BC 通过翻译
  4. 数据库独立:每个 BC 独立数据库或独立 Schema,不跨 BC 共享表

6.3 聚合根设计原则

  1. 唯一标识:每个聚合根有全局唯一 ID
  2. 一致性边界:聚合内强一致,聚合间最终一致
  3. 不变量:聚合根负责维护业务不变量(如派单分数 ≥ 0)
  4. 引用方式:聚合间通过 ID 引用,不持有对象引用
  5. 事务边界:一个事务只修改一个聚合

6.4 领域事件设计原则

  1. 事件命名:过去时态(XxxCompleted / XxxGenerated)
  2. 事件载荷:最小必要字段 + 聚合 ID,不含业务逻辑
  3. 幂等消费:订阅方须支持幂等消费(基于事件 ID 去重)
  4. 版本化:事件 schema 须版本化,支持向后兼容

6.5 服务设计文档 DDD 章节模板

每个服务设计文档须包含以下 DDD 章节(参考 DIS-D V1.0):

## 二、DDD 战略设计

### 2.1 子域定位
(标注核心/支撑/通用 + 现阶段定位)

### 2.2 限界上下文
(Mermaid 图含本服务 BC + 外部 BC)

### 2.3 上下文映射
(OHS/ACL/PL/SK/CS 模式标注表)

## 三、DDD 战术设计(可选嵌入业务逻辑章节)

### 3.1 聚合根
(名称 + 唯一标识 + 不变量 + 边界)

### 3.2 实体与值对象
(清单 + 字段)

### 3.3 领域服务
(清单 + 职责 + 算法伪代码)

### 3.4 领域事件
(清单 + 触发条件 + 订阅方)

### 3.5 仓储与工厂
(清单 + 职责)

七、演进路径与稳定性保障

7.1 演进阶段表

阶段 时间 子域启用 新增 BC BAS 版本
筹备期 1-3 月 QSV/CPT/MDS V1.0
试运营 3-6 月 + OPS 获客运营 BC V1.1
扩张期 6-12 月 + DIS(M3 为主) 派单决策 BC + M3 合同 BC V1.2
成熟期 12-24 月 DIS M2 启用 + C2C C2C 撮合 BC V2.0

7.2 变更治理流程

flowchart TD
    REQ[变更需求提出] --> EVAL[影响评估<br/>DT 主导]
    EVAL --> DEC{是否触及<br/>子域边界?}
    DEC -->|否| DT_IMPL[DT 直接实施<br/>BAS 小版本升级]
    DEC -->|是| TL_REV[TL 评审<br/>+ 影响方评审]
    TL_REV --> APPROVED{审批通过?}
    APPROVED -->|是| BAS_UP[BAS 大版本升级<br/>+ 文档同步]
    APPROVED -->|否| REJECT[驳回<br/>记录决策]
    BAS_UP --> IMPL[实施变更<br/>+ 测试 + 发布]

7.3 稳定性检查清单(每季度执行)

# 检查项 责任人
1 子域边界是否被打破(跨 BC 共享表) TL
2 限界上下文映射是否更新 DT
3 领域事件契约是否向后兼容 DT
4 聚合根不变量是否被违反 WDE
5 服务协作矩阵是否准确 DT

八、附录

8.1 术语速查(参见 GLY V4.7)

  • BC:Bounded Context,限界上下文
  • AR:Aggregate Root,聚合根
  • VO:Value Object,值对象
  • DE:Domain Event,领域事件
  • OHS:Open Host Service,开放主机服务
  • ACL:Anti-Corruption Layer,防腐层
  • SK:Shared Kernel,共享内核
  • CS:Conformist,客户/供应商
  • PL:Published Language,各行其道

8.2 关联文档

文档 用途
PJM §五 业务设计完整性/一致性/连续性核查
DIS-D V1.0 DDD 完整范例参考
GLY V4.7 术语统一
PMG 人机协作指南

8.3 修订记录

版本 日期 修订人 修订内容
V1.0 2026-08-21 DT 初版建立:定义平台业务领域全景、5 服务限界上下文总图、服务协作边界与契约、领域事件总线、DDD 实施规范、演进路径与稳定性保障;作为阶段二 DDD 重构与后续团队讨论的稳定基线

本文件为业务架构稳定基线(BAS DOC-A07 V1.0),子域边界、协作契约、领域事件清单在成熟期前不轻易变更。变更须经 TL 审批并升级 BAS 版本。