# 01 实体 + DTO 字段扩展 Type: task Status: resolved ## 目标 给 `crm-opportunity` 的商机主表实体与创建请求 DTO 补齐 spec.md 拍板的字段。 ## 改动 ### 1. `Opportunity` 实体(`crm-opportunity/.../domain/entity/Opportunity.java`) 新增 4 列,照现有 `@Comment` + `@Column(columnDefinition=...)` 风格: - `address`:varchar(255) comment '项目详细地址'(形状对齐 `Lead.address`) - `keyContactId`:bigint comment '商机关键联系人ID(引用 A4 联系人,未建可空)' - `keyContactNameSnapshot`:varchar(200) comment '商机关键联系人姓名快照' - `keyContactCompanySnapshot`:varchar(200) comment '关键人所在公司快照' `projectAmount` 已存在,不动。 ### 2. `CreateOpportunityRequest` DTO(`crm-opportunity/.../domain/dto/CreateOpportunityRequest.java`) 新增字段: - `projectAmount`(BigDecimal,项目金额) - `address`(String,项目详细地址) - `customerRole`(String,客户类型 → customer_role 字典 code) - `isPrimaryIntended`(Integer,是否主要客户:1=主要 / 0=普通关联) - `keyContactId`(Long,可空) - `keyContactName`(String,快照) - `keyContactCompany`(String,快照) `remark` 字段的 javadoc 展示名从「备注」改为「项目概况」,补一句「线索转商机时应映射来源线索对应字段」。 ## 校验注意 - 本票只加字段与注释,不做业务校验(校验在 03 票)。 - 加列后跑 BOM 扫描 + `mvn -pl crm-opportunity compile` 验证无 `\uFEFF`。 ## 完成标准 - [ ] 实体 4 新列 + DTO 7 新字段 + remark 改名注释 - [ ] `mvn -pl crm-opportunity compile` 通过 - [ ] 全仓 `*.java` BOM 扫描干净