优化线索、商机、项目相关开发

This commit is contained in:
2026-09-11 17:00:23 +08:00
parent 9c07af2b59
commit 840673bda5
55 changed files with 4866 additions and 625 deletions
+13 -17
View File
@@ -6,19 +6,19 @@
-- 线索转化为商机时才把客户名称落地为正式客户(yz_backend_erp_customer)。
-- 2. 线索转化商机后会被锁定(locked=1),后续操作都在商机进行。
-- 3. 商机转化项目后同样锁定(locked=1)。
-- 4. 回访/跟进记录(yz_tenant_crm_follow)与附件、联系人、操作日志均为通用多态表,
-- 4. 回访/跟进记录(yz_backend_crm_follow)与附件、联系人、操作日志均为通用多态表,
-- 通过 related_type(1线索/2商机/3项目) + related_id 关联。
-- 可重复执行(DROP TABLE IF EXISTS)。
-- ⚠️ 安全说明(重要):
-- 本脚本只做 CREATE TABLE IF NOT EXISTS,**不会删除或覆盖任何已有数据**,可重复执行。
-- 如需给已存在的表新增字段,请勿重跑本脚本,改用对应的 alter_*.sql 增量脚本。
-- =============================================================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- -----------------------------------------------------------------------------
-- 线索表
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_clue`;
CREATE TABLE `yz_tenant_crm_clue` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_clue` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`clue_name` varchar(100) NOT NULL COMMENT '线索名称',
@@ -55,8 +55,7 @@ CREATE TABLE `yz_tenant_crm_clue` (
-- -----------------------------------------------------------------------------
-- 商机表
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_business`;
CREATE TABLE `yz_tenant_crm_business` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_business` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`business_name` varchar(100) NOT NULL COMMENT '商机名称',
@@ -100,8 +99,7 @@ CREATE TABLE `yz_tenant_crm_business` (
-- -----------------------------------------------------------------------------
-- 项目表
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_project`;
CREATE TABLE `yz_tenant_crm_project` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_project` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`project_name` varchar(100) NOT NULL COMMENT '项目名称',
@@ -121,6 +119,7 @@ CREATE TABLE `yz_tenant_crm_project` (
`contact_phone` varchar(20) NOT NULL DEFAULT '' COMMENT '对接人手机',
`address` varchar(255) NOT NULL DEFAULT '' COMMENT '项目地址',
`remark` text COMMENT '备注',
`doc_category_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '关联OA文档库项目文件夹分类ID(共享文档/项目文档/{项目名称})',
`create_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人用户ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
@@ -137,13 +136,13 @@ CREATE TABLE `yz_tenant_crm_project` (
-- -----------------------------------------------------------------------------
-- 回访/跟进记录表(贯穿线索、商机、项目)
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_follow`;
CREATE TABLE `yz_tenant_crm_follow` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_follow` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`related_type` tinyint(4) NOT NULL COMMENT '关联类型:1线索/2商机/3项目',
`related_id` bigint(20) NOT NULL COMMENT '关联记录ID',
`related_name` varchar(100) NOT NULL DEFAULT '' COMMENT '关联对象名称(冗余,便于回访列表展示)',
`stage` tinyint(4) NOT NULL DEFAULT '1' COMMENT '创建阶段:1线索/2商机/3项目',
`follow_type` varchar(20) NOT NULL DEFAULT '1' COMMENT '回访方式:1电话/2微信/3上门/4邮件/5其他',
`follow_time` datetime DEFAULT NULL COMMENT '回访时间',
`content` text COMMENT '回访内容',
@@ -163,8 +162,7 @@ CREATE TABLE `yz_tenant_crm_follow` (
-- -----------------------------------------------------------------------------
-- 附件表(多态:线索/商机/项目的资料)
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_attach`;
CREATE TABLE `yz_tenant_crm_attach` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_attach` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`related_type` tinyint(4) NOT NULL COMMENT '关联类型:1线索/2商机/3项目',
@@ -187,8 +185,7 @@ CREATE TABLE `yz_tenant_crm_attach` (
-- -----------------------------------------------------------------------------
-- 联系人表(多态:线索/商机/项目的对接人列表)
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_entity_contact`;
CREATE TABLE `yz_tenant_crm_entity_contact` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_entity_contact` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`related_type` tinyint(4) NOT NULL COMMENT '关联类型:1线索/2商机/3项目',
@@ -213,8 +210,7 @@ CREATE TABLE `yz_tenant_crm_entity_contact` (
-- -----------------------------------------------------------------------------
-- 操作日志表(多态:记录线索/商机/项目的关键操作,用于详情页操作日志 Tab)
-- -----------------------------------------------------------------------------
DROP TABLE IF EXISTS `yz_tenant_crm_operate_log`;
CREATE TABLE `yz_tenant_crm_operate_log` (
CREATE TABLE IF NOT EXISTS `yz_backend_crm_operate_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`tenant_id` varchar(64) NOT NULL COMMENT '租户ID',
`related_type` tinyint(4) NOT NULL COMMENT '关联类型:1线索/2商机/3项目',