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.

24 lines
1.4 KiB

3 weeks ago
# 11 CreateOpportunityCmd 新增 customerId + 线索侧意向客户下拉
Type: task
Status: open
Blocked by: 02
## Question
票 02 grill 出的**契约变更**落地(改代码,非 spec)。产品明确:线索转商机时意向客户改为**下拉选客户**,把 `customer_id` 带进商机。
需落地:
1. **改线索契约** `crm-lead/port/outbound/CreateOpportunityCmd`:新增 `customerId`(Long,必填)。`intendedCustomer` 保留为客户名快照(走法 B:引用 + 快照并存)。更新 javadoc。
2. **线索转商机弹窗**:意向客户字段从自由文本改为**下拉选客户**,用户选中拿到 `customer_id`;转商机前置校验「必须有意向客户」。
3. **商机侧消费**:`createOpportunity` 实现读 `cmd.customerId()`,转商机时建关联客户子表(关系「主要意向客户」,`customer_id` 引用 + `intendedCustomer` 名字快照)。
## ⚠ 依赖 A4 客户模块(未建)
「下拉选客户」要求线索侧能**查到客户列表**。客户实体归 **A4 客户模块**,A4 尚未建。
- A4 未建前,此票**无法完整落地**(下拉无数据源)。
- 契约字段 `customerId` 与领域决策已由票 02 钉死;本票是**实现票**,须等 A4 客户下拉能力(或临时客户数据源)就绪。
- **Blocked by: 02**(决策)+ 事实上还阻塞于 A4 模块——A4 那张图到达前,本票只能开着占位。