You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
4.1 KiB

5 days ago
# 01 — 客户域领域词汇 + crm-customer/CONTEXT.md 骨架
Type: task
5 days ago
Status: resolved
> **⚠ 20260902 复核注记**:本文件关于「档案状态」仍写三值(有效/已归档/已被合并)。**D19 已拍板去掉「已被合并」态**(合并 Out-of-scope),`archive_status` 收敛为**有效/已归档**两值。**以 `01-answer.md` 为准。**
5 days ago
Blocked by:
## 目标
新建 `crm-customer` 模块,落 `crm-customer/CONTEXT.md`(ubiquitous language,纯 glossary,无实现细节),并在根 `CONTEXT-MAP.md` 增一行。对称 `crm-lead/CONTEXT.md` / `crm-opportunity/CONTEXT.md` 的写法。
## 要收录的核心术语(随各票 resolve 回填/校准)
- **客户 (Customer)** — crm-customer 核心聚合根;归属由 `owner_user_id`(销售负责人)+`owner_dept_id`(销售部门快照) 表达,owner 空=在公海。_Avoid_: 线索(转化前)、商机(下游)、联系人。
- **销售负责人 / 销售部门** — 客户的 owner + 部门快照;抛公海/交割时变更。_Avoid_: 领取人(那是线索术语)、创建人。
- **协同人** — 客户团队非负责人成员;抛公海清空、交割不自动恢复。
- **客户阶段 (customer_stage)** — 潜在→重潜→已成交,只前进不回退,外部成功结果驱动,不可手动改。_Avoid_: 客户状态、归属状态。
- **档案状态 (archive_status)** — 有效/已归档/已被合并,正交于归属。
- **客户公海** — owner 空的有效客户逻辑视图;无独立池实体(对称商机公海)。
- **联系人 (customer_contact)** — 归属某客户的独立实体,无独立 ACL,权限继承客户。
- **人脉关系单位** — 客户下的关系单位名标签集(非关联 CRM 客户)。
- **客户交割** — 销售离职/调岗时把名下客户批量交给直属总监,再分配;同步变更关联商机/项目负责人。
## 依赖方向
单向:`crm-opportunity → crm-customer`(商机读客户/建关联,已有 customer_id 契约占位,见商机图「customer_id 契约占位」决策);`crm-customer → crm-rule → (crm-auth / crm-dict / crm-file)`。客户读「关联商机」走查 crm-opportunity(下游反查上游,注意 ADR-0029 循环依赖技术债,同库单体阶段可接受)。
## Answer
5 days ago
**Status: resolved**
### 交付物
1. **`crm-customer/CONTEXT.md`** 已创建(ubiquitous language,纯 glossary,对称 crm-lead/CONTEXT.md 写法)。收录 11 个核心术语,每个带 `_Avoid_` 校准:
| 术语 | 关键点 |
|---|---|
| 客户 | 归属(owner)+档案(archive_status)正交;阶段(customer_stage)只前进 |
| 销售负责人 | `owner_user_id`,唯一持有者 |
| 销售部门 | `owner_dept_id` 快照,随负责人变更(区别于线索 dept_id 不变) |
| 协同人 | 非负责人成员,可看不可归档/合并 |
| 客户阶段 | 潜在/重潜/已成交,外部结果驱动,不可手动改 |
| 档案状态 | 有效/已归档/已被合并,正交于归属 |
| 客户公海 | owner 空 + 有效的逻辑视图,无独立池实体 |
| 客户总览 | 管理视角,@DataScope 覆盖 |
| 我的客户 | 销售视角,负责人或协同人 + 有效 |
| 联系人 | 子实体,必属客户,无独立 ACL |
| 人脉关系单位 | 纯文本标签,非关联客户 |
| 客户交割 | 两段式:交接→分配,同步商机/项目负责人 |
| 超期未跟进提醒 | crm-rule 全局单例,只落待发通知 |
2. **`CONTEXT-MAP.md`** 已加一行:`crm-customer` 客户业务。
3. **术语校准点**(相比票内初稿的修正):
- 明确「销售部门是**随负责人变更的快照**」——区别于线索 `dept_id` 全生命周期不变(这是本模块与线索的重要语义差异)。
- 明确「协同人抛公海清空、交割不自动恢复」。
- 「客户公海 = 逻辑视图」写进定义,杜绝将来误建池表。
### 依赖方向(定稿)
```
crm-opportunity → crm-customer(商机读客户/建关联)
crm-customer → crm-rule → (crm-auth / crm-dict / crm-file)
crm-customer → crm-opportunity(「关联商机」页签下游反查上游,同库单体可接受,ADR-0029 技术债)
```