# CRM线索转经销商功能开发计划 ## 功能概述 将线索转化为正式经销商,创建经销商档案、迁移跟进记录、创建初始商机。 --- ## 数据表设计 ### crm_dealer(经销商表) ```sql CREATE TABLE IF NOT EXISTS crm_dealer ( dealer_id BIGINT NOT NULL COMMENT '经销商ID(主键)', tenant_id VARCHAR(20) DEFAULT '000000' COMMENT '租户ID', customer_code VARCHAR(100) DEFAULT NULL COMMENT 'ERP客户编码(关联)', dealer_name VARCHAR(200) NOT NULL COMMENT '经销商名称', dealer_code VARCHAR(100) NOT NULL COMMENT '经销商编码', contact_name VARCHAR(100) DEFAULT NULL COMMENT '联系人', mobile VARCHAR(50) DEFAULT NULL COMMENT '手机', province VARCHAR(50) DEFAULT NULL COMMENT '省', city VARCHAR(50) DEFAULT NULL COMMENT '市', level VARCHAR(50) DEFAULT 'C' COMMENT '经销商等级(字典:crm_dealer_level)', lifecycle VARCHAR(50) DEFAULT 'active' COMMENT '生命周期(字典:crm_lifecycle)', signed_at DATETIME DEFAULT NULL COMMENT '签约时间', store_count INT DEFAULT 0 COMMENT '门店数', team_size INT DEFAULT 0 COMMENT '团队规模', total_order_amount DECIMAL(18,2) DEFAULT 0 COMMENT '累计订单金额', total_payment_amount DECIMAL(18,2) DEFAULT 0 COMMENT '累计回款金额', activity_score DECIMAL(5,2) DEFAULT 0 COMMENT '活跃评分', risk_score DECIMAL(5,2) DEFAULT 0 COMMENT '风险评分', owner_user_id BIGINT DEFAULT NULL COMMENT '负责人(关联 sys_user)', source_lead_id BIGINT DEFAULT NULL COMMENT '来源线索ID', create_dept BIGINT DEFAULT NULL COMMENT '创建部门', create_by BIGINT DEFAULT NULL COMMENT '创建人', create_time DATETIME DEFAULT NULL COMMENT '创建时间', update_by BIGINT DEFAULT NULL COMMENT '更新人', update_time DATETIME DEFAULT NULL COMMENT '更新时间', del_flag INT DEFAULT 0 COMMENT '删除标志', PRIMARY KEY (dealer_id), KEY idx_tenant_id (tenant_id), KEY idx_customer_code (customer_code), KEY idx_dealer_code (dealer_code), KEY idx_owner_user_id (owner_user_id), KEY idx_source_lead_id (source_lead_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM经销商表'; ``` --- ## 后端接口设计 ### 1. 线索转经销商 **API**: `POST /lead/convert` **请求参数**: ```json { "leadId": 1001, "dealerName": "XX贸易有限公司", "dealerCode": "DL20260001", "customerCode": "C001" // 可选,ERP客户编码 } ``` **业务逻辑**: 1. 查询线索信息 2. 创建 `crm_dealer` 记录 3. 迁移跟进记录:`crm_lead_follow` → `crm_dealer_follow` 4. 创建初始商机:`crm_opportunity` 5. 更新线索状态为"已转化" 6. 返回经销商ID --- ## 前端UI设计 ### 转经销商Dialog ```vue ``` --- ## 开发任务清单 ### 后端任务 1. ✅ 创建数据表:`crm_dealer_init.sql` 2. ✅ Entity:`CrmDealer.java` 3. ✅ Bo:`CrmDealerBo.java` 4. ✅ Vo:`CrmDealerVo.java` 5. ✅ Mapper:`CrmDealerMapper.java` 6. ✅ Service:`ICrmDealerService.java` + `Impl` 7. ✅ Controller:转化接口 `POST /lead/convert` ### 前端任务 1. ✅ API定义:`convertLeadToDealer()` 函数 2. ✅ 转经销商Dialog UI 3. ✅ 转化成功后列表刷新 --- ## 开发顺序 建议按以下顺序开发: **Day 1-2**: 后端开发 - 数据表、Entity、Service、Controller **Day 3**: 前端开发 - Dialog UI、API调用、转化逻辑 **Day 4**: 测试验证 - 线索转化流程测试 - 经销商数据验证 --- 请按照此计划开始开发。