CRM 功能启用
CRM 模块用于管理从线索到客户、商机、合同、回款的销售闭环。RuoYi Office 的 CRM 后端位于 yudao-module-crm,PC 管理端位于 apps/web-antd/src/views/crm,如果模块未启用,后端默认 Controller 会对 /admin-api/crm/** 返回未实现提示,并引导到本页。
模块边界
| 能力 | 说明 |
|---|---|
| 线索 | 销售线索登记、跟进、转化 |
| 客户 | 客户档案、公海、客户限制配置、联系人和跟进记录 |
| 商机 | 商机阶段、预计成交金额、赢单/输单过程 |
| 合同 | 合同台账、合同配置、开票申请、审批关联 |
| 回款 | 回款记录、回款计划、收款提醒 |
| 产品 | CRM 产品和分类,用于商机、合同明细 |
| 团队权限 | 按客户、联系人、商机、合同、回款等对象控制负责人、读写和只读成员 |
| 统计分析 | 客户、漏斗、业绩、画像、排行等销售分析 |
本地实现位置
| 层 | 位置 |
|---|---|
| 后端聚合模块 | ruoyi-office/yudao-module-crm |
| 后端服务模块 | ruoyi-office/yudao-module-crm/yudao-module-crm-server |
| 后端 API 模块 | ruoyi-office/yudao-module-crm/yudao-module-crm-api |
| 单体启动依赖 | ruoyi-office/yudao-server/pom.xml |
| PC 页面 | ruoyi-office-vben/apps/web-antd/src/views/crm |
| PC API | ruoyi-office-vben/apps/web-antd/src/api/crm |
yudao-module-crm 是当前工程沿用的 Maven 模块名和包路径事实。文档中的产品名称仍统一使用 RuoYi Office。
启用检查
1. 后端模块
单体模式下,确认 yudao-server/pom.xml 中启用了 CRM 服务模块依赖:
xml
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-module-crm-server</artifactId>
<version>${revision}</version>
</dependency>如果该依赖被移除或注释,访问 /admin-api/crm/** 会命中 DefaultController#crm404,返回“CRM 模块已禁用”的提示。
微服务模式下,需要单独启动 CRM 服务,并确保 Gateway、System、Infra、CRM 等服务注册到同一个 Nacos 命名空间,前端仍通过 /admin-api 访问。
2. 数据库与菜单
启用 CRM 后,需要确认数据库中存在 CRM 业务表和管理端菜单权限。常见表前缀包括:
| 表前缀 | 用途 |
|---|---|
crm_customer | 客户、公海、客户限制配置 |
crm_clue | 线索 |
crm_contact | 联系人 |
crm_business | 商机和商机状态 |
crm_contract | 合同、合同配置、开票 |
crm_receivable | 回款和回款计划 |
crm_product | CRM 产品和分类 |
crm_permission | CRM 团队权限 |
crm_follow_up_record | 跟进记录 |
菜单侧重点检查:线索、客户、联系人、商机、合同、回款、产品、统计、CRM 待办等入口是否已分配给当前角色。
3. 前端页面
PC 管理端 CRM 页面主要分布在:
text
apps/web-antd/src/views/crm/
├── backlog/ # CRM 待办
├── clue/ # 线索
├── customer/ # 客户、公海、限制配置
├── contact/ # 联系人
├── business/ # 商机、商机状态
├── contract/ # 合同、合同配置、开票申请
├── receivable/ # 回款、回款计划
├── product/ # 产品、产品分类
├── permission/ # 团队权限组件
└── statistics/ # 统计分析如果页面能打开但接口 404,优先检查后端 CRM 模块是否启动;如果接口正常但按钮不可见,检查角色菜单和按钮权限。
建设顺序
建议按以下顺序实施:
- 先准备基础数据:维护客户来源、行业、等级、商机阶段、合同配置、CRM 产品分类和产品。
- 建立客户规则:配置客户公海、客户限制、负责人和团队权限制度。
- 导入或录入客户:清洗重复客户,明确负责人和可协作成员。
- 启用销售过程:使用线索、联系人、商机记录从意向到成交的过程。
- 启用合同与回款:合同关联客户、联系人、商机和产品,回款计划用于收款提醒。
- 看统计和待办:用 CRM 待办处理今日联系、跟进提醒、合同审核、回款计划等事项。
核心接口分组
| 分组 | Controller |
|---|---|
| 线索 | CrmClueController |
| 客户 | CrmCustomerController、CrmCustomerLimitConfigController、CrmCustomerPoolConfigController |
| 联系人 | CrmContactController |
| 商机 | CrmBusinessController、CrmBusinessStatusController |
| 合同 | CrmContractController、CrmContractConfigController、CrmContractInvoiceController |
| 回款 | CrmReceivableController、CrmReceivablePlanController |
| 产品 | CrmProductController、CrmProductCategoryController |
| 权限 | CrmPermissionController |
| 统计 | CrmStatisticsCustomerController、CrmStatisticsFunnelController、CrmStatisticsPerformanceController、CrmStatisticsPortraitController、CrmStatisticsRankController |
已发布专题
排查清单
| 现象 | 排查方向 |
|---|---|
/admin-api/crm/** 返回模块未启用 | 检查 yudao-module-crm-server 是否被 yudao-server 依赖并成功启动 |
| CRM 菜单不可见 | 检查初始化 SQL、角色菜单授权和租户套餐菜单 |
| 页面按钮不可见 | 检查按钮权限,例如客户、商机、合同、回款的新增、编辑、导出权限 |
| 客户或商机看不到 | 检查系统数据权限、CRM 团队权限、负责人和公海状态 |
| 合同或回款审批不同步 | 检查业务单据是否保存流程实例编号,以及 CRM 流程通知回调是否正常 |
| 统计数据不准 | 先确认客户、商机、合同、回款基础数据和阶段状态是否规范 |
