## 新增功能 ### 商机中心 (/opportunity) - Stats统计卡片(商机总数、金额、赢单、转化率) - Pipeline商机管道(阶段Tab:全部/线索/谈判中/方案/赢单) - 商机列表真实数据渲染(来自crm_opportunity表) - 商机卡片详情(经销商、负责人、金额、概率) - Pipeline计数实时更新 ### 线索中心 (/lead) - 线索列表完整功能(CRUD) - 线索详情Drawer(基础信息 + 跟进记录Timeline) - 新建线索(含ERP客户关联、手机号验证) - 添加跟进记录(跟进方式、内容、下次时间) - 分配负责人(用户选择器,显示真实姓名) - 线索转经销商(自动创建商机) - 删除线索(逻辑删除) ## 后端开发 ### 数据库表 - crm_lead(线索表) - crm_lead_follow(线索跟进记录表) - crm_dealer(经销商表) - crm_opportunity(商机表) - crm_opportunity_follow(商机跟进记录表) - 数据字典初始化 ### API接口 - 线索管理:CRUD、详情、跟进、分配、转化 - 商机管理:列表查询 - 用户选择器:员工门户专用API ### 核心功能 - 线索转化自动创建经销商和商机 - 负责人翻译显示真实姓名(修复) - 手机号前后端双重格式验证(修复) ## 前端开发 ### 页面架构改进 - 商机中心:保留原CRM设计风格(Stats + Pipeline) - 线索中心:独立页面(完整线索管理) - 左侧菜单:独立菜单项(商机中心、线索中心) ### API模块 - src/api/crm/:线索和商机API类型定义和调用方法 - src/api/user/:用户选择器API ### 样式设计 - 商机中心:100%保持原CRM Pipeline设计风格 - 使用CSS变量系统(var(--radius-lg), var(--shadow-sm)等) - Pipeline Tab白色圆角设计 - 商机卡片阴影和hover效果 - 头像堆叠显示 ## 配置修改 - Gateway路由:添加CRM模块路由配置 - Gateway路由:添加system模块路由配置 - Aside菜单:拆分商机中心和线索中心 ## Bug修复 - 修复负责人显示手机号问题(UserNameTranslationImpl返回昵称) - 修复手机号格式验证缺失(前后端双重验证) - 修复商机管道设计风格不一致(完整复制原CRM样式) ## 文档 - CRM销售模块详细设计说明书V3.md - CRM线索转化API契约 - CRM线索转化开发计划 - CRM线索转化测试指引 - CRM线索管理测试指引 - CRM商机管理测试指引 - CRM架构改进报告 - CRM Bug修复报告 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 KiB
16 KiB
CRM销售自动化(渠道版)执行级详细设计说明书
1. 文档说明
1.1 文档目标
本文档用于指导CRM销售自动化(渠道版)系统的:
- 数据库设计
- 后端接口开发
- 前端页面开发
- AI能力集成
- 企业微信集成
- 自动化流程配置
- 权限与组织体系建设
本文档属于“开发执行版设计文档”。
2. 系统总体架构
2.1 技术架构建议
| 层级 | 技术建议 |
|---|---|
| 前端Web | Vue3 + Element Plus |
| 移动端 | 企业微信H5 + UniApp |
| 后端 | Java Spring Boot |
| 数据库 | MySQL 8 |
| 缓存 | Redis |
| 消息队列 | RabbitMQ |
| 搜索 | Elasticsearch |
| AI服务 | Python FastAPI |
| 文件存储 | MinIO |
| 工作流 | Flowable |
| BI | FineBI / Superset |
3. 数据库设计规范
3.1 通用字段规范
所有业务表统一包含:
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| created_by | bigint | 创建人 |
| created_at | datetime | 创建时间 |
| updated_by | bigint | 更新人 |
| updated_at | datetime | 更新时间 |
| deleted | tinyint | 逻辑删除 |
| tenant_id | bigint | 租户ID |
4. 线索中心模块设计
4.1 模块目标
用于管理潜在经销商。
支持:
- 多渠道线索接入
- AI意向识别
- AI风险分析
- 自动分配销售
- 商机转化
4.2 数据表设计
4.2.1 leads(线索表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| company_name | varchar(200) | 公司名称 |
| contact_name | varchar(100) | 联系人 |
| mobile | varchar(50) | 手机号 |
| varchar(100) | 微信号 | |
| province | varchar(50) | 省 |
| city | varchar(50) | 市 |
| region_id | bigint | 区域ID |
| source_type | varchar(50) | 来源类型 |
| activity_name | varchar(100) | 活动名称 |
| referrer_name | varchar(100) | 推荐人 |
| industry | varchar(100) | 行业 |
| company_scale | varchar(100) | 公司规模 |
| store_count | int | 门店数 |
| intent_level | varchar(20) | AI意向等级 |
| ai_score | decimal(5,2) | AI评分 |
| risk_level | varchar(20) | 风险等级 |
| owner_user_id | bigint | 负责人 |
| lead_status | varchar(50) | 状态 |
| converted_dealer_id | bigint | 转化经销商ID |
4.2.2 lead_follow_records(线索跟进记录)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| lead_id | bigint | 线索ID |
| follow_type | varchar(50) | 跟进方式 |
| content | text | 跟进内容 |
| ai_summary | text | AI摘要 |
| next_follow_time | datetime | 下次跟进时间 |
| follow_user_id | bigint | 跟进人 |
4.3 接口设计
4.3.1 创建线索
API
POST /api/leads
请求参数
{
"companyName":"XX贸易有限公司",
"contactName":"张三",
"mobile":"13800000000",
"wechat":"zhangsan",
"province":"广东省",
"city":"深圳市",
"industry":"食品",
"storeCount":20
}
业务逻辑
- 校验手机号是否重复
- 调用AI服务分析意向等级
- 自动生成AI评分
- 根据区域规则分配销售
- 创建自动跟进任务
4.3.2 线索转经销商
POST /api/leads/convert
逻辑
- 创建dealer数据
- 迁移历史跟进记录
- 创建初始商机
- 更新线索状态
4.4 页面原型说明
4.4.1 线索列表页
页面布局
-------------------------------------------------
顶部:搜索栏 + 高级筛选
-------------------------------------------------
左侧:区域树
右侧:线索列表
-------------------------------------------------
底部:分页
筛选项
- 区域
- 来源
- AI意向等级
- 风险等级
- 销售负责人
- 创建时间
表格字段
| 字段 |
|---|
| 公司名称 |
| 联系人 |
| 手机 |
| 区域 |
| AI评分 |
| 意向等级 |
| 风险等级 |
| 当前负责人 |
| 跟进状态 |
| 下次跟进时间 |
操作按钮
- 查看
- 分配
- 跟进
- 转经销商
- 作废
4.4.2 AI分析侧边栏
右侧固定展示:
- AI意向评分
- AI风险提示
- 推荐动作
- 推荐销售话术
- 推荐拜访时间
5. 经销商中心模块设计
5.1 数据表设计
5.1.1 dealers(经销商表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_name | varchar(200) | 经销商名称 |
| dealer_code | varchar(100) | 编码 |
| contact_name | varchar(100) | 联系人 |
| mobile | varchar(50) | 手机 |
| province | varchar(50) | 省 |
| city | varchar(50) | 市 |
| level | varchar(50) | 等级 |
| lifecycle | varchar(50) | 生命周期 |
| signed_at | datetime | 签约时间 |
| store_count | int | 门店数 |
| team_size | int | 团队规模 |
| total_order_amount | decimal(18,2) | 累计订单金额 |
| total_payment_amount | decimal(18,2) | 累计回款金额 |
| activity_score | decimal(5,2) | 活跃评分 |
| risk_score | decimal(5,2) | 风险评分 |
| owner_user_id | bigint | 负责人 |
5.1.2 dealer_tags(经销商标签表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_id | bigint | 经销商ID |
| tag_name | varchar(100) | 标签名称 |
| tag_type | varchar(50) | 标签类型 |
| score | decimal(5,2) | 标签评分 |
5.2 接口设计
5.2.1 获取经销商画像
GET /api/dealers/{id}/profile
返回内容
{
"dealerName":"XX贸易",
"activityLevel":"高活跃",
"riskLevel":"低风险",
"growthTrend":"高增长",
"lastVisitTime":"2026-05-10",
"nextVisitTime":"2026-05-20"
}
5.3 页面设计
5.3.1 经销商详情页
页面布局
顶部:基础信息卡片
-------------------------------------------------
Tab页:
1. 基础档案
2. 商机
3. 拜访记录
4. 订单
5. 回款
6. AI画像
7. 会话记录
-------------------------------------------------
右侧:AI经营分析面板
AI经营分析面板
显示:
- 活跃度趋势
- 近90天订单趋势
- 流失风险
- 推荐动作
- 竞品风险
6. 拜访管理模块设计
6.1 数据表设计
6.1.1 visit_plans(拜访计划表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_id | bigint | 经销商ID |
| visit_type | varchar(50) | 拜访类型 |
| planned_time | datetime | 计划时间 |
| visit_user_id | bigint | 销售人员 |
| status | varchar(50) | 状态 |
6.1.2 visit_records(拜访记录表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_id | bigint | 经销商ID |
| visit_plan_id | bigint | 拜访计划ID |
| visit_time | datetime | 拜访时间 |
| participants | varchar(500) | 参与人员 |
| voice_file_url | varchar(500) | 录音文件 |
| ai_summary | text | AI摘要 |
| ai_requirements | text | AI提取需求 |
| ai_risk | text | AI风险 |
| next_action | text | 下一步动作 |
| latitude | decimal(10,6) | 纬度 |
| longitude | decimal(10,6) | 经度 |
| sign_photo_url | varchar(500) | 签到照片 |
6.2 AI语音处理流程
语音上传
-> ASR语音识别
-> NLP结构化提取
-> AI摘要生成
-> 风险分析
-> 推荐下一步动作
-> 写入CRM
6.3 页面设计
6.3.1 移动端拜访页面
页面模块
- 地图签到
- 语音录入按钮
- 拍照上传
- AI实时摘要
- 下一步动作建议
AI辅助区域
自动生成:
- 客户关注点
- 异议问题
- 竞品信息
- 推荐招商话术
7. 商机管理模块设计
7.1 数据表设计
7.1.1 opportunities(商机表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_id | bigint | 经销商ID |
| opportunity_name | varchar(200) | 商机名称 |
| stage | varchar(50) | 商机阶段 |
| estimated_amount | decimal(18,2) | 预计金额 |
| success_rate | decimal(5,2) | 成交概率 |
| expected_sign_date | date | 预计签约时间 |
| owner_user_id | bigint | 销售负责人 |
| ai_next_stage | varchar(50) | AI建议阶段 |
| ai_probability | decimal(5,2) | AI成交预测 |
7.1.2 opportunity_stage_logs(阶段日志表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| opportunity_id | bigint | 商机ID |
| old_stage | varchar(50) | 原阶段 |
| new_stage | varchar(50) | 新阶段 |
| change_reason | text | 变更原因 |
| changed_by | bigint | 变更人 |
7.2 商机阶段规则
| 阶段 | 条件 |
|---|---|
| 初步接触 | 创建商机 |
| 需求沟通 | 已记录需求 |
| 招商政策沟通 | 已发送政策 |
| 样品测试 | 已寄样 |
| 商务谈判 | 已讨论返点 |
| 签约中 | 已提交合同 |
| 已签约 | 合同生效 |
7.3 AI自动推进逻辑
规则示例
如果AI识别:
- 已询价
- 已谈返点
- 已谈库存
则自动建议推进至“商务谈判”阶段。
7.4 页面设计
7.4.1 商机看板页
视图模式
- Kanban阶段看板
- 列表模式
- 销售漏斗模式
看板列
初步接触
需求沟通
招商政策沟通
样品测试
商务谈判
签约中
已签约
卡片展示
- 经销商名称
- 金额
- AI成交概率
- 最近跟进时间
- 风险提示
8. 合同管理模块设计
8.1 数据表设计
8.1.1 contracts(合同表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| contract_no | varchar(100) | 合同编号 |
| dealer_id | bigint | 经销商ID |
| opportunity_id | bigint | 商机ID |
| contract_amount | decimal(18,2) | 合同金额 |
| sign_date | date | 签约日期 |
| expire_date | date | 到期日期 |
| contract_status | varchar(50) | 状态 |
| approval_status | varchar(50) | 审批状态 |
| sign_file_url | varchar(500) | 合同文件 |
| ai_risk_summary | text | AI风险摘要 |
8.2 AI合同分析
AI识别:
- 高风险条款
- 超标准返点
- 区域冲突
- 超长账期
8.3 审批流设计
销售提交
-> 区域经理审批
-> 财务审批
-> 法务审批
-> 总部审批
-> 电子签章
9. 订单管理模块设计
9.1 数据表设计
9.1.1 orders(订单表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| order_no | varchar(100) | 订单编号 |
| dealer_id | bigint | 经销商ID |
| contract_id | bigint | 合同ID |
| order_amount | decimal(18,2) | 订单金额 |
| order_status | varchar(50) | 订单状态 |
| shipment_status | varchar(50) | 发货状态 |
| payment_status | varchar(50) | 回款状态 |
| logistics_status | varchar(50) | 物流状态 |
| erp_sync_status | varchar(50) | ERP同步状态 |
9.2 ERP同步逻辑
同步内容
- 订单
- 发货
- 库存
- 回款
- 物流
同步方式
- 定时拉取
- Webhook回调
- MQ异步同步
9.3 页面设计
9.3.1 订单中心
页面布局
顶部:订单筛选
-------------------------------------------------
中部:订单表格
-------------------------------------------------
右侧:订单风险分析
风险分析
- 延迟发货风险
- 超账期风险
- 异常退货风险
10. 回款管理模块设计
10.1 数据表设计
10.1.1 payments(回款表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| dealer_id | bigint | 经销商ID |
| order_id | bigint | 订单ID |
| payment_amount | decimal(18,2) | 回款金额 |
| payment_date | date | 回款日期 |
| receivable_due_date | date | 应收截止日 |
| overdue_days | int | 超期天数 |
| payment_status | varchar(50) | 状态 |
10.2 AI预警规则
| 条件 | 预警 |
|---|---|
| 超过30天未回款 | 高风险 |
| 连续2次延迟 | 中风险 |
| 回款金额下降 | 流失风险 |
11. 企业微信协同模块设计
11.1 集成能力
企业微信侧边栏
展示:
- 经销商画像
- 最近订单
- 最近拜访
- 商机阶段
- AI风险
会话存档同步
同步内容:
- 文本
- 图片
- 文件
- 语音
11.2 数据表设计
11.2.1 wecom_chat_records(企业微信会话表)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| external_user_id | varchar(100) | 外部联系人 |
| dealer_id | bigint | 经销商ID |
| sender_id | bigint | 发送人 |
| message_type | varchar(50) | 消息类型 |
| message_content | text | 内容 |
| send_time | datetime | 发送时间 |
| ai_analysis_result | text | AI分析结果 |
11.3 AI会话分析
识别:
- 采购意向
- 价格异议
- 投诉风险
- 竞品信息
12. AI分析中心设计
12.1 AI标签体系
| 标签类型 | 示例 |
|---|---|
| 活跃标签 | 高频沟通 |
| 风险标签 | 流失风险 |
| 经营标签 | 高增长 |
| 敏感标签 | 价格敏感 |
12.2 AI预测模型
| 模型 | 输入 |
|---|---|
| 成交预测 | 商机数据 |
| 回款预测 | 订单与历史回款 |
| 流失预测 | 活跃度与订单 |
| 补货预测 | 销量趋势 |
13. 自动化工作流设计
13.1 自动提醒规则
| 规则 | 动作 |
|---|---|
| 7天未跟进 | 创建跟进提醒 |
| 30天未下单 | 创建经营风险提醒 |
| 合同即将到期 | 通知销售与经理 |
| 回款超期 | 通知财务与销售 |
13.2 自动任务规则
| 条件 | 自动任务 |
|---|---|
| 高意向线索 | 自动创建拜访 |
| 商机推进 | 自动创建回访 |
| 合同签约 | 自动创建首单跟进 |
14. BI分析设计
14.1 BI指标体系
销售指标
- 销售额
- 回款率
- 转化率
- 客单价
- 区域增长率
AI经营指标
- 高风险经销商数
- 高潜经销商数
- AI成交预测准确率
- AI流失预测准确率
14.2 仪表盘设计
总部仪表盘
展示:
- 全国销售地图
- 区域排名
- 经销商增长趋势
- AI风险预警
- 商机漏斗
销售个人仪表盘
展示:
- 今日待跟进
- 今日拜访
- 本月成交
- AI推荐客户
- AI销售建议
15. 权限与组织设计
15.1 RBAC模型
数据权限层级
总部
-> 大区
-> 区域
-> 城市
-> 销售
15.2 权限控制点
| 模块 | 控制点 |
|---|---|
| 线索 | 查看/分配/转移 |
| 经销商 | 编辑/归属 |
| 合同 | 审批/金额修改 |
| 回款 | 查看/核销 |
| BI | 区域数据隔离 |
16. 移动端设计
16.1 企业微信H5页面
必须支持:
- 快速拜访
- AI语音录入
- 地图签到
- 拍照上传
- 快速订单查询
- AI风险提醒
16.2 移动端交互要求
| 要求 | 说明 |
|---|---|
| 单手操作 | 核心按钮底部固定 |
| 弱网容错 | 本地缓存 |
| 快速录入 | 支持语音 |
| 离线能力 | 支持草稿 |
17. 性能与安全设计
17.1 性能目标
| 指标 | 目标 |
|---|---|
| 页面响应 | <2秒 |
| AI分析响应 | <5秒 |
| ERP同步延迟 | <1分钟 |
| 并发支持 | 5000用户 |
17.2 安全设计
安全要求
- HTTPS加密
- JWT鉴权
- 数据权限隔离
- 敏感字段脱敏
- 操作日志审计
- 企业微信身份校验
18. AI能力优先级实施建议
P0(第一阶段必须上线)
- 企业微信集成
- 客户画像
- AI语音拜访
- 会话分析
- 订单查询
P1(第二阶段)
- AI标签
- AI摘要
- AI意向识别
- 自动提醒
P2(第三阶段)
- AI Copilot
- AI销售建议
- AI预测
- AI自动推进商机
19. 项目实施建议
第一阶段
建设:
- 基础CRM
- 企业微信
- 拜访管理
- 商机管理
- 订单查询
第二阶段
建设:
- AI标签
- AI会话分析
- AI语音拜访
- 自动化工作流
第三阶段
建设:
- AI预测
- AI Copilot
- AI经营分析
- 智能决策
20. 最终产品定位
系统最终定位:
“AI驱动的渠道销售经营平台”
区别于传统CRM:
传统CRM:记录客户
本系统:
- AI驱动增长
- AI驱动招商
- AI驱动销售动作
- AI驱动经营分析
- AI驱动渠道运营