Skip to content

CRM 功能设计 ​

这篇解决什么 ​

客户关系怎么分层:客户 / 线索 / 商机是 CRM 自己的表和数据权限;合同、回款才交给 BPM。公海不是第二张客户表。读完先对模块边界和表,再进客户、线索、商机等功能篇。

默认端口 48080,前缀 /admin-api。工程启动见 快速开始。审批接入见 业务表单开发。

业务流程及架构 ​

CRM 自己不算流程引擎。客户、线索、商机不走 FlowBillService。合同审批 key 是 crm-contract-audit,回款是 crm-receivable-audit。

示意图:左客户端。中间 CRM 自己做数据权限。合同 / 回款提交走 Flowable。

名称说明仓库路径
客户 / 公海ownerUserId 为空即公海客户管理、公海客户
线索转化后进客户线索管理
商机状态组可配商机管理、商机状态
合同401 crm-contract-audit合同管理、合同提醒
回款402 crm-receivable-audit回款管理、回款计划
跟进 / 待办详情页签 + 待办页跟进记录、待办事项
权限@CrmPermissionCRM 数据权限
产品商机选品产品管理、产品分类
移动CRM 搬家移动端 CRM

不要写成 crm_customer

客户、线索、商机没有人事那种单据枚举。合同 / 回款 key 以 CrmBillTypeEnum 为准,中间是短横线。

数据表 ER ​

主干表按 DO 画出。联系人、附件、操作日志不进这张图。

示意图:公海只是客户行上负责人置空。权限行在 crm_permission。

前后端代码 ​

名称说明仓库路径
模块api 枚举 + server 实现ruoyi-office/yudao-module-crm/
单体引入yudao-module-crm-serverruoyi-office/yudao-server/pom.xml
单据枚举401 / 402yudao-module-crm-api/.../CrmBillTypeEnum.java
数据权限@CrmPermission.../framework/permission/
公海 JobcustomerAutoPutPoolJob.../job/customer/CrmCustomerAutoPutPoolJob.java
管理端CRM 目录ruoyi-office-vben/apps/web-antd/src/views/crm/

官方菜单:2397 CRM(/crm)。客户 2391,线索 2404,商机 2410,公海 2546,配置 2524。看不到菜单先查角色。

CRM 客户列表

本系统截图:CRM → 客户管理。模块和菜单已经在跑。

客户公海

本系统截图:负责人已清空的客户。领取后再写 ownerUserId。

功能开启 ​

单体 -P boot 时已经依赖 CRM 实现,没有单独的「CRM 开关」页。启动 YudaoServerApplication 即可。

客户默认包 ruoyi-office-db/dump/latest/:先 schema_*.sql 再 static_data_*.sql,带 crm_* 表、菜单、字典和合同 / 回款模型。以后改表走 ruoyi-office-db/update/。

名称说明仓库路径
401 合同crm-contract-audit/crm/contract 或 /crm/contract/detail
402 回款crm-receivable-audit回款 info

公海要启用 crm_customer_pool_config 并挂 XXL-Job customerAutoPutPoolJob,否则不会自动掉入。

java
CRM_CONTRACT_AUDIT("401", "合同审批", "crm-contract-audit"),
CRM_RECEIVABLE_AUDIT("402", "回款审批", "crm-receivable-audit"),

摘自 CrmBillTypeEnum。第三段才是 Flowable 的 KEY_。

示意图:先库和菜单。公海关掉或 Job 没挂,客户会一直挂原负责人。

旧文 CRM 功能开启 已并入本页,请收藏本篇。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版