# 字典种子对齐原型 Label: wayfinder:task Type: task Status: resolved Blocked by: (无) ## Question 修改 crm-dict `DictDataInitializer` 的 `SEED_GROUPS`,使新增线索表单的 4 个字典类下拉有数据,选项全部取自蓝湖原型(`.scratch/lanhu-text/a2-1-2-2____.txt` 等): 1. `lead_source`(渠道)——现有选项(广告投放/转介绍/展会活动/官网咨询/线下拜访/其他)与原型渠道清单(展会/知乎/数字音视/…)对不上,**替换为原型实际枚举** 2. 新增 `brand`(品牌)——原型仅「itc」一项,照原样只种一项 3. 新增 `product`(需求产品)——LED 显示屏等原型清单 4. 新增 `scene`(需求场景)——会议室/报告厅/指挥中心/文体场馆/剧场剧院/酒吧KTV/高职教/普教/公检法司/医疗/国防部队/政府单位/交通/金融/能源/园区/文旅/展厅(以原型实际清单为准核对) 约束: - `customer_status`、`industry` 两个现有种子保留不动 - seeder「只加不删」,旧环境的 lead_source 残留项由联调库重建或手工停用,不写迁移逻辑 - 同步核对:线索表单字段引用的分组编码与 crm-lead 保存/回显逻辑中的字典编码一致 ## Answer 已完成(单测 7/7 通过 + 开发库启动实测): **种子对齐原型 A2-1-2-2**(`DictDataInitializer.SEED_GROUPS`,共 6 组 92 项): - `lead_source`:改名「渠道」,旧 6 项替换为原型渠道清单 38 项(展会/数字音视/京东/…/头条);原型中的占位文本「列表项1」判定为蓝湖 mock 残留,不入库 - `brand`(品牌)新增 9 项:原型实际清单为 itc/世畅/丽声/CRX/3A/北航星/特控/SOOANN/金业诚兴(票据描述“仅 itc 一项”与原型不符,以原型实际清单为准) - `product`(需求产品)新增 16 项:LED显示屏/…/安防监控 - `scene`(需求场景)新增 18 项:会议室/…/展厅(与票据清单一致) - `customer_status`/`industry` 原样保留 **编码对齐**:crm-lead `LeadConstants.DICT_GROUP_*` 原为点号编码(lead.channel 等,违反 crm-dict 编码规则且尚未接线),改为 `lead_source`/`brand`/`product`/`scene`;`Lead` 实体字段注释同步更新。全库无残留点号引用。 **验证**:`DictDataInitializerTest` 断言同步更新(6 组/92 项/用户分组跳过 54 项等),7 用例全过;本地 `:8081` 连开发库启动实测:存量 lead_source 组改名为「渠道」、exhibition 项名刷为「展会」、其余新项与 3 个新分组全部创建,「只加不删」语义生效(旧项 ad/referral/website/offline/other 残留,待联调库重建或手工停用,未写迁移逻辑)。