当前位置: 首页 > news >正文

ruoyi-vue-pro 使用记录(4)

ruoyi-vue-pro 使用记录(4)

  • CRM
    • 数据库
      • 线索
      • 客户
      • 商机
      • 合同
      • 回款
      • 产品
      • 其他

CRM

文档
主要分为 6 个核心模块:线索、客户、商机、合同、回款、产品。

  • 线索管理以 crm_clue 作为核心表
  • 客户管理以 crm_customer 作为核心表
  • 商机管理以 crm_business 作为核心表
  • 合同管理以 crm_contract 作为核心表
  • 回款管理以 crm_receivable 作为核心表
  • 产品管理以 crm_product 作为核心表

数据库

线索

DROP TABLE IF EXISTS `crm_clue`;
CREATE TABLE `crm_clue` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号,主键自增',`name` VARCHAR(255) NOT NULL COMMENT '线索名称',`follow_up_status` TINYINT(1) NOT NULL COMMENT '跟进状态',`contact_last_time` DATETIME NOT NULL COMMENT '最后跟进时间',`contact_last_content` TEXT NOT NULL COMMENT '最后跟进内容',`contact_next_time` DATETIME NOT NULL COMMENT '下次联系时间',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人的用户编号',`transform_status` TINYINT(1) NOT NULL COMMENT '转化状态',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`mobile` VARCHAR(20) NOT NULL COMMENT '手机号',`telephone` VARCHAR(20) NOT NULL COMMENT '电话',`qq` VARCHAR(20) NOT NULL COMMENT 'QQ',`wechat` VARCHAR(50) NOT NULL COMMENT 'wechat',`email` VARCHAR(255) NOT NULL COMMENT 'email',`area_id` INT(11) NOT NULL COMMENT '所在地,关联 Area 的 id 字段',`detail_address` VARCHAR(255) NOT NULL COMMENT '详细地址',`industry_id` INT(11) NOT NULL COMMENT '所属行业,对应字典 CRM_CUSTOMER_INDUSTRY',`level` INT(11) NOT NULL COMMENT '客户等级,对应字典 CRM_CUSTOMER_LEVEL',`source` INT(11) NOT NULL COMMENT '客户来源,对应字典 CRM_CUSTOMER_SOURCE',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM线索表';

客户

DROP TABLE IF EXISTS `crm_customer`;
CREATE TABLE `crm_customer` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`name` VARCHAR(255) NOT NULL COMMENT '客户名称',`follow_up_status` TINYINT(1) NOT NULL COMMENT '跟进状态',`contact_last_time` DATETIME NOT NULL COMMENT '最后跟进时间',`contact_last_content` TEXT NOT NULL COMMENT '最后跟进内容',`contact_next_time` DATETIME NOT NULL COMMENT '下次联系时间',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人的用户编号,关联 AdminUserDO 的 id 字段',`owner_time` DATETIME NOT NULL COMMENT '成为负责人的时间',`lock_status` TINYINT(1) NOT NULL COMMENT '锁定状态',`deal_status` TINYINT(1) NOT NULL COMMENT '成交状态',`mobile` VARCHAR(20) NOT NULL COMMENT '手机',`telephone` VARCHAR(20) NOT NULL COMMENT '电话',`qq` VARCHAR(20) NOT NULL COMMENT 'QQ',`wechat` VARCHAR(50) NOT NULL COMMENT 'wechat',`email` VARCHAR(255) NOT NULL COMMENT 'email',`area_id` INT(11) NOT NULL COMMENT '所在地,关联 Area 的 id 字段',`detail_address` VARCHAR(255) NOT NULL COMMENT '详细地址',`industry_id` INT(11) NOT NULL COMMENT '所属行业,对应字典 CRM_CUSTOMER_INDUSTRY',`level` INT(11) NOT NULL COMMENT '客户等级,对应字典 CRM_CUSTOMER_LEVEL',`source` INT(11) NOT NULL COMMENT '客户来源,对应字典 CRM_CUSTOMER_SOURCE',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM客户表';DROP TABLE IF EXISTS `crm_customer_limit_config`;
CREATE TABLE `crm_customer_limit_config` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`type` INT(11) NOT NULL COMMENT '规则类型',`user_ids` TEXT COMMENT '规则适用人群',`dept_ids` TEXT COMMENT '规则适用部门',`max_count` INT(11) NOT NULL COMMENT '数量上限',`deal_count_enabled` TINYINT(1) NOT NULL COMMENT '成交客户是否占有拥有客户数,当且仅当 type 为 1 时使用',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM客户限制配置表';DROP TABLE IF EXISTS `crm_customer_pool_config`;
CREATE TABLE `crm_customer_pool_config` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`enabled` TINYINT(1) NOT NULL COMMENT '是否启用客户公海',`contact_expire_days` INT(11) NOT NULL COMMENT '未跟进放入公海天数',`deal_expire_days` INT(11) NOT NULL COMMENT '未成交放入公海天数',`notify_enabled` TINYINT(1) NOT NULL COMMENT '是否开启提前提醒',`notify_days` INT(11) NOT NULL COMMENT '提前提醒天数',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM客户公海配置表';

商机

DROP TABLE IF EXISTS `crm_business`;
CREATE TABLE `crm_business` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`name` VARCHAR(255) NOT NULL COMMENT '商机名称',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`follow_up_status` TINYINT(1) NOT NULL COMMENT '跟进状态',`contact_last_time` DATETIME NOT NULL COMMENT '最后跟进时间',`contact_next_time` DATETIME NOT NULL COMMENT '下次联系时间',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人的用户编号',`status_type_id` BIGINT(20) NOT NULL COMMENT '商机状态组编号',`status_id` BIGINT(20) NOT NULL COMMENT '商机状态编号',`end_status` INT(11) NOT NULL COMMENT '结束状态',`end_remark` VARCHAR(255) NOT NULL COMMENT '结束时的备注',`deal_time` DATETIME NOT NULL COMMENT '预计成交日期',`total_product_price` DECIMAL(10,2) NOT NULL COMMENT '产品总金额,单位:元',`discount_percent` DECIMAL(10,2) NOT NULL COMMENT '整单折扣,百分比',`total_price` DECIMAL(10,2) NOT NULL COMMENT '商机总金额,单位:元',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM商机表';DROP TABLE IF EXISTS `crm_business_product`;
CREATE TABLE `crm_business_product` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`business_id` BIGINT(20) NOT NULL COMMENT '商机编号',`product_id` BIGINT(20) NOT NULL COMMENT '产品编号',`product_price` DECIMAL(10,2) NOT NULL COMMENT '产品单价,单位:元',`business_price` DECIMAL(10,2) NOT NULL COMMENT '商机价格,单位:元',`count` DECIMAL(10,2) NOT NULL COMMENT '数量',`total_price` DECIMAL(10,2) NOT NULL COMMENT '总计价格,单位:元,totalPrice = business_price * count',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM商机产品表';DROP TABLE IF EXISTS `crm_business_status`;
CREATE TABLE `crm_business_status` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`type_id` BIGINT(20) NOT NULL COMMENT '状态类型编号',`name` VARCHAR(255) NOT NULL COMMENT '状态名',`percent` INT(11) NOT NULL COMMENT '赢单率,百分比',`sort` INT(11) NOT NULL COMMENT '排序',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM商机状态表';DROP TABLE IF EXISTS `crm_business_status_type`;
CREATE TABLE `crm_business_status_type` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` VARCHAR(255) NOT NULL COMMENT '状态类型名',`dept_ids` TEXT COMMENT '使用的部门编号',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM商机状态类型表';

合同

DROP TABLE IF EXISTS `crm_contract`;
CREATE TABLE `crm_contract` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '合同编号',`name` VARCHAR(255) NOT NULL COMMENT '合同名称',`no` VARCHAR(255) NOT NULL COMMENT '合同编号',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`business_id` BIGINT(20) COMMENT '商机编号段',`contact_last_time` DATETIME NOT NULL COMMENT '最后跟进时间',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人的用户编号',`process_instance_id` VARCHAR(255) COMMENT '工作流编号',`audit_status` INT(11) NOT NULL COMMENT '审批状态',`order_date` DATETIME NOT NULL COMMENT '下单日期',`start_time` DATETIME NOT NULL COMMENT '开始时间',`end_time` DATETIME NOT NULL COMMENT '结束时间',`total_product_price` DECIMAL(19, 2) NOT NULL COMMENT '产品总金额,单位:元',`discount_percent` DECIMAL(19, 2) NOT NULL COMMENT '整单折扣',`total_price` DECIMAL(19, 2) NOT NULL COMMENT '合同总金额,单位:分',`sign_contact_id` BIGINT(20) COMMENT '客户签约人',`sign_user_id` BIGINT(20) COMMENT '公司签约人',`remark` TEXT COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM合同表';DROP TABLE IF EXISTS `crm_contract_config`;
CREATE TABLE `crm_contract_config` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`notify_enabled` TINYINT(1) NOT NULL COMMENT '是否开启提前提醒',`notify_days` INT(11) NOT NULL COMMENT '提前提醒天数',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM合同配置表';DROP TABLE IF EXISTS `crm_contract_product`;
CREATE TABLE `crm_contract_product` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`contract_id` BIGINT(20) NOT NULL COMMENT '合同编号',`product_id` BIGINT(20) NOT NULL COMMENT '产品编号',`product_price` DECIMAL(19, 2) NOT NULL COMMENT '产品单价,单位:元',`contract_price` DECIMAL(19, 2) NOT NULL COMMENT '合同价格,单位:元',`count` DECIMAL(19, 2) NOT NULL COMMENT '数量',`total_price` DECIMAL(19, 2) NOT NULL COMMENT '总计价格,单位:元',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM合同产品表';

回款

DROP TABLE IF EXISTS `crm_receivable`;
CREATE TABLE `crm_receivable` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`no` VARCHAR(255) NOT NULL COMMENT '回款编号',`plan_id` BIGINT(20) COMMENT '回款计划编号',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`contract_id` BIGINT(20) NOT NULL COMMENT '合同编号',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人编号',`return_time` DATETIME NOT NULL COMMENT '回款日期',`return_type` INT(11) NOT NULL COMMENT '回款方式',`price` DECIMAL(19, 2) NOT NULL COMMENT '计划回款金额,单位:元',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`process_instance_id` VARCHAR(255) COMMENT '工作流编号',`audit_status` INT(11) NOT NULL COMMENT '审批状态',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM回款表';DROP TABLE IF EXISTS `crm_receivable_plan`;
CREATE TABLE `crm_receivable_plan` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`period` INT(11) NOT NULL COMMENT '期数',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`contract_id` BIGINT(20) NOT NULL COMMENT '合同编号',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人编号',`return_time` DATETIME NOT NULL COMMENT '计划回款日期',`return_type` INT(11) NOT NULL COMMENT '计划回款类型',`price` DECIMAL(19, 2) NOT NULL COMMENT '计划回款金额,单位:元',`receivable_id` BIGINT(20) COMMENT '回款编号',`remind_days` INT(11) NOT NULL COMMENT '提前几天提醒',`remind_time` DATETIME NOT NULL COMMENT '提醒日期',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM回款计划表';

产品

DROP TABLE IF EXISTS `crm_product`;
CREATE TABLE `crm_product` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`name` VARCHAR(255) NOT NULL COMMENT '产品名称',`no` VARCHAR(255) NOT NULL COMMENT '产品编码',`unit` INT(11) NOT NULL COMMENT '单位,字典 CRM_PRODUCT_UNIT',`price` DECIMAL(19, 2) NOT NULL COMMENT '价格,单位:元',`status` INT(11) NOT NULL COMMENT '状态',`category_id` BIGINT(20) NOT NULL COMMENT '产品分类 ID',`description` VARCHAR(255) NOT NULL COMMENT '产品描述',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人的用户编号',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM产品表';DROP TABLE IF EXISTS `crm_product_category`;
CREATE TABLE `crm_product_category` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '分类编号',`name` VARCHAR(255) NOT NULL COMMENT '分类名称',`parent_id` BIGINT(20) NOT NULL COMMENT '父级编号',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM产品分类表';

其他

DROP TABLE IF EXISTS `crm_permission`;
CREATE TABLE `crm_permission` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号,主键自增',`biz_type` INT(11) NOT NULL COMMENT '数据类型',`biz_id` BIGINT(20) NOT NULL COMMENT '数据编号',`user_id` BIGINT(20) NOT NULL COMMENT '用户编号',`level` INT(11) NOT NULL COMMENT '权限级别',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM权限表';DROP TABLE IF EXISTS `crm_follow_up_record`;
CREATE TABLE `crm_follow_up_record` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',`biz_type` INT(11) NOT NULL COMMENT '数据类型',`biz_id` BIGINT(20) NOT NULL COMMENT '数据编号',`type` INT(11) NOT NULL COMMENT '跟进类型',`content` TEXT NOT NULL COMMENT '跟进内容',`next_time` DATETIME NOT NULL COMMENT '下次联系时间',`pic_urls` TEXT COMMENT '图片',`file_urls` TEXT COMMENT '附件',`business_ids` TEXT COMMENT '关联的商机编号数组',`contact_ids` TEXT COMMENT '关联的联系人编号数组',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM跟进记录表';DROP TABLE IF EXISTS `crm_contact`;
CREATE TABLE `crm_contact` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` VARCHAR(255) NOT NULL COMMENT '联系人姓名',`customer_id` BIGINT(20) NOT NULL COMMENT '客户编号',`contact_last_time` DATETIME NOT NULL COMMENT '最后跟进时间',`contact_last_content` VARCHAR(255) NOT NULL COMMENT '最后跟进内容',`contact_next_time` DATETIME NOT NULL COMMENT '下次联系时间',`owner_user_id` BIGINT(20) NOT NULL COMMENT '负责人用户编号',`mobile` VARCHAR(20) NOT NULL COMMENT '手机号',`telephone` VARCHAR(20) NOT NULL COMMENT '电话',`email` VARCHAR(255) NOT NULL COMMENT '电子邮箱',`qq` BIGINT(20) NOT NULL COMMENT 'QQ',`wechat` VARCHAR(255) NOT NULL COMMENT '微信',`area_id` INT(11) NOT NULL COMMENT '所在地',`detail_address` VARCHAR(255) NOT NULL COMMENT '详细地址',`sex` INT(11) NOT NULL COMMENT '性别',`master` TINYINT(1) NOT NULL COMMENT '是否关键决策人',`post` VARCHAR(255) NOT NULL COMMENT '职位',`parent_id` BIGINT(20) NOT NULL COMMENT '直属上级',`remark` VARCHAR(255) NOT NULL COMMENT '备注',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM联系人表';DROP TABLE IF EXISTS `crm_contact_business`;
CREATE TABLE `crm_contact_business` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`contact_id` BIGINT(20) NOT NULL COMMENT '联系人编号',`business_id` BIGINT(20) NOT NULL COMMENT '商机编号',`creator` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',`updater` varchar(64)  COMMENT '更新者',`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM联系人商机关联表';

相关文章:

ruoyi-vue-pro 使用记录(4)

ruoyi-vue-pro 使用记录(4) CRM数据库线索客户商机合同回款产品其他 CRM 文档 主要分为 6 个核心模块:线索、客户、商机、合同、回款、产品。 线索管理以 crm_clue 作为核心表客户管理以 crm_customer 作为核心表商机管理以 crm_business 作…...

【17-Ⅱ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…...

订单超时自动取消的实践方案

1、定时任务方案 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支付的订单。 遍历查询出来的订单列表,判断当前时间减去订单的创建时间是否超过了支付超时时间,如果超时则对该订单执行取消操作。 定时任务方案工程实现相…...

【gin框架入门】

1.介绍 Gin 是一个用 Golang编写的 高性能的web 框架, 由于http路由的优化,速度提高了近 40 倍。 Gin的特点就是封装优雅、API友好。 Gin的一些特性: 快速 基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。 支持中间件 传入…...

dev c++调试录入数字后回车直接关闭

1、我的dev c版本是5.11 2、输入7后,回车就没有了,原因是1013,1.cpp未包含在项目中 3、新建项目,并将test_debug.cpp包含在项目内,就可以下断点调试了...

java期末复习

java jdk jre jvm .java-------->.class----jvm---->机器语言 编写源文件 编译源文件生成字节码 加载运行字节码 java语句执行顺序 顺序 选择 循环 异常处理 基本语法 方法格式 权限修饰符 返回值声明 方法名称(参数列表){方法中封装的逻辑功能;return 返回值;}–权…...

让新手变中手的ChatGPT 使用方法

让新手变中手的ChatGPT 使用方法 已经要一年了,没想到这篇还是一样有用。看到许多依然是一句话就要问出结果的教学,就知道AI 进步很快,但人的学习速度还需要更多时间。 以下为去年原版内容加上新的两招更新,希望帮助你使用ChatGPT 更好用,当未来文字可直接生成影像时,你…...

桥接模式类图与代码

欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例,对应的绘图程序如表 7.7 所示。 根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况,现采用桥接…...

Oracle count的优化-避免全表扫描

Oracle count的优化-避免全表扫描 select count(*) from t1; 这句话比较简单,但很有玄机!对这句话运行的理解,反映了你对数据库的理解深度! 建立实验的大表他t1 SQL> conn scott/tiger 已连接。 SQL> drop table t1 purge…...

leetcode17. 电话号码的字母组合

题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits "…...

如何设计与管理一个前端项目

目录 前端项目设计 前端项目搭建 洞察项目瓶颈 方案调研与选型对比 前端项目管理 合理的分工排期 风险把控 及时反馈与复盘 结束语 如果说基础知识的掌握是起跑线,那么使大家之间拉开差距的更多是前端项目开发经验和技能。对于一个项目来说,从框…...

【MQTT】mosquitto 的 “下载、交叉编译、使用” 详细教程,手把手搭建一个MQTT Broker

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-05-11 0…...

用云手机打造海外社媒矩阵

在全球经济一体化的大背景下,中国出海企业及B2B外贸公司正将海外社交媒体营销作为重要的市场拓展策略。为更好地触及不同受众群体,构建跨平台的社媒矩阵已成为企业营销的关键步骤。本文将探讨如何利用云手机技术,高效管理并运营多个海外社交媒…...

第 8 章 机器人平台设计之底盘实现(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 8.4.1 底盘实现_概述 1.ros_arduino_bridge 简介 该功能包包含Arduino库和用来控制Arduino的ROS驱动包&…...

✔ ★Java项目——设计一个消息队列(五)【虚拟主机设计】

虚拟主机设计 创建 VirtualHost实现构造⽅法和 getter创建交换机删除交换机创建队列删除队列创建绑定删除绑定发布消息 ★路由规则1) 实现 route ⽅法2) 实现 checkRoutingKeyValid3) 实现 checkBindingKeyValid4) 实现 routeTopic5) 匹配规则测试⽤例6) 测试 Router 订阅消息1…...

ntfs文件系统的优势 NTFS文件系统的特性有哪些 ntfs和fat32有什么区别 苹果电脑怎么管理硬盘

对于数码科技宅在新购得磁盘之后,出于某种原因会在新的磁盘安装操作系统。在安装操作系统时,首先要对磁盘进行分区和格式化,而在此过程中,操作者们需要选择文件系统。文件系统也决定了之后操作的流程程度,一般文件系统…...

Python Web框架Django项目开发实战:创建在线学习应用

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python项目开发Django实战-创建在线学习应用-编程案例解析实例详解课程教程.pdf 在当今数字化教…...

用得助全媒体呼叫中心,让AI落到实处帮品牌做营销

怎么让人工智能落到实处的帮助到我们?我们今天来讲讲中关村科金得助全媒体呼叫中心是怎么让AI帮品牌。 这次聊的案例是知名的护肤品牌,该品牌在中国功能性护肤品市场占有率达到20.5%,这么高的市场占有率客户的咨询量也是非常庞大的&#xff0…...

【吃透Java手写】2-Spring(下)-AOP-事务及传播原理

【吃透Java手写】Spring(下)AOP-事务及传播原理 6 AOP模拟实现6.1 AOP工作流程6.2 定义dao接口与实现类6.3 初始化后逻辑6.4 原生Spring的方法6.4.1 实现类6.4.2 定义通知类,定义切入点表达式、配置切面6.4.3 在配置类中进行Spring注解包扫描…...

Spring原理分析--获取Environment资源对象

1.使用getEnvironment()获取环境信息 ApplicationContext接口继承了EnvironmentCapable接口,可以通过getEnvironment()获取Environment配置信息,例如: SpringBootApplication public class A01 {public static void main(String[] args) th…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

PydanticAI快速入门示例

参考链接&#xff1a;https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...

C++中vector类型的介绍和使用

文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...