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.

47 lines
2.3 KiB

5 days ago
# 客户模块(A4)实现票 — 依赖总览
从冻结 spec(`../map.md` + `../../crm-customer/CONTEXT.md` + `../issues/NN-answer.md` 决议票)折出的 tracer-bullet 实现票。每张=一条贯穿 schema→API→测试的垂直切片,blocker-first 编号。
## 依赖图
```
01 骨架 (无 blocker)
└─ 02 主表CRUD+查重 (⭐扇出最广)
├─ 03 联系人子表
├─ 04 三workspace+归属流转
│ ├─ 07 客户交割
│ └─ 10 saved-view接入
├─ 05 客户阶段(seam版)
│ └─ 06 详情(8页签+跟进+oplog) ← 也 blocked by 02
│ └─ 09 超期提醒 ← 也 blocked by 02
├─ 08 客户导入 ← blocked by 02 + 03
└─ 11 商机客户接口对接 ← blocked by 02 + 03 + 06
12 原型对齐验收 ← blocked by 01–11 全部
13 接口文档 ← blocked by 01–11 全部(可与 12 并行)
```
## 前沿顺序(可开工的票=其 blocker 全完成)
| 波次 | 可并行开工 |
|---|---|
| 1 | **01** |
| 2 | **02** |
| 3 | **03** / **04** / **05** |
| 4 | **06**(需02+05) / **07**(需04) / **08**(需02+03) / **10**(需04) |
| 5 | **09**(需02+06) / **11**(需02+03+06) |
| 6 | **12** / **13**(需 01–11 全部 + mvn compile 通过 + crm-app 启动 + 关键接口冒烟) |
## 每张票 `/implement` 时的通用要求
- `.java` 一律 UTF-8 无 BOM;新增 entity 过一遍孤立单大写字母检查清单(AGENTS.md)
- 依赖方向单向 `opportunity → customer`;「关联商机」反查走 customer 定义、opportunity 实现的出站 port(ADR-0029 范式),**不建 Maven 循环**
- 每张票收工前 `mvn compile` 全绿 + 服务层集成测试(H2 MySQL 模式)通过
- 每张票 `/implement` 之间清 context 重新开始;完成后 `/code-review`
## 已翻案/新拍板口径(实现时以此为准,勿回退旧 answer 正文)
- **D20 改票 B**:客户阶段本期**不自动触发重潜**,只留 `CustomerStagePort` seam(票 05)
- **D26 拍板 A**:联系人电话=可配置软提示,**不建电话唯一索引**(票 03/08)
- **§5.3 拍板 A**:一期只做归档,**无前端删除入口**,`deleted` 仅系统合并时置位(票 02/04)
- **§5.5 拍板 A**:`customer_oplog` **无限期保留**(票 06)