SET NAMES utf8mb4;

-- ----------------------------
-- 合同表
-- ----------------------------
DROP TABLE IF EXISTS `crm_contract`;
CREATE TABLE `crm_contract`
(
    `id`                  bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '编号，主键自增',
    `name`                varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '合同名称',
    `customer_id`         bigint                                                                 DEFAULT NULL COMMENT '客户编号',
    `business_id`         bigint                                                                 DEFAULT NULL COMMENT '商机编号',
    `process_instance_id` bigint                                                                 DEFAULT NULL COMMENT '工作流编号',
    `order_date`          datetime                                                               DEFAULT NULL COMMENT '下单日期',
    `owner_user_id`       bigint                                                                 DEFAULT NULL COMMENT '负责人的用户编号',
    `no`                  varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci          DEFAULT NULL COMMENT '合同编号',
    `start_time`          datetime                                                               DEFAULT NULL COMMENT '开始时间',
    `end_time`            datetime                                                               DEFAULT NULL COMMENT '结束时间',
    `price`               int                                                                    DEFAULT NULL COMMENT '合同金额',
    `discount_percent`    int                                                                    DEFAULT NULL COMMENT '整单折扣',
    `product_price`       int                                                                    DEFAULT NULL COMMENT '产品总金额',
    `ro_user_ids`         varchar(4096)                                                          DEFAULT NULL COMMENT '只读权限的用户编号数组',
    `rw_user_ids`         varchar(4096)                                                          DEFAULT NULL COMMENT '读写权限的用户编号数组',
    `contact_id`          bigint                                                                 DEFAULT NULL COMMENT '联系人编号',
    `sign_user_id`        bigint                                                                 DEFAULT NULL COMMENT '公司签约人',
    `contact_last_time`   datetime                                                               DEFAULT NULL COMMENT '最后跟进时间',

    -- 通用字段
    `remark`              varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL     DEFAULT NULL COMMENT '备注',
    `creator`             varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci  NULL     DEFAULT '' COMMENT '创建者',
    `create_time`         datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`             varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci  NULL     DEFAULT '' COMMENT '更新者',
    `update_time`         datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`             bit(1)                                                        NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id`           bigint                                                        NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
  CHARACTER SET = utf8mb4
  COLLATE = utf8mb4_unicode_ci COMMENT ='合同表';


DROP TABLE IF EXISTS `crm_clue`;
CREATE TABLE `crm_clue`  (
     `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号，主键自增',
     `transform_status` tinyint NOT NULL COMMENT '转化状态',
     `follow_up_status` tinyint NOT NULL COMMENT '跟进状态',
     `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '线索名称',
     `customer_id` bigint NOT NULL COMMENT '客户id',
     `contact_next_time` datetime NULL DEFAULT NULL COMMENT '下次联系时间',
     `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',
     `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号',
     `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '地址',
     `owner_user_id` bigint NULL DEFAULT NULL COMMENT '负责人的用户编号',
     `contact_last_time` datetime NULL DEFAULT NULL COMMENT '最后跟进时间',
     `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
     `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
     `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
     `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
     `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
     `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
     `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
     PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '线索表' ROW_FORMAT = Dynamic;


-- ----------------------------
-- 回款表
-- ----------------------------
DROP TABLE IF EXISTS `crm_receivable`;
CREATE TABLE `crm_receivable`  (
   `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
   `no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '回款编号',
   `plan_id` bigint(20) NULL DEFAULT NULL COMMENT '回款计划ID',
   `customer_id` bigint(20) NULL DEFAULT NULL COMMENT '客户ID',
   `contract_id` bigint(20) NULL DEFAULT NULL COMMENT '合同ID',
   `check_status` tinyint(4) NULL DEFAULT NULL COMMENT '审批状态',
   `process_instance_id` bigint(20) NULL DEFAULT NULL COMMENT '工作流编号',
   `return_time` datetime NULL DEFAULT NULL COMMENT '回款日期',
   `return_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '回款方式',
   `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '回款金额',
   `owner_user_id` bigint(20) NULL DEFAULT NULL COMMENT '负责人的用户编号',
   `batch_id` bigint(20) NULL DEFAULT NULL COMMENT '批次',
   `sort` int(11) NULL DEFAULT NULL COMMENT '显示顺序',
   `data_scope` tinyint(4) NULL DEFAULT 1 COMMENT '数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）',
   `data_scope_dept_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '数据范围(指定部门数组)',
   `status` tinyint(4) NOT NULL COMMENT '状态（0正常 1停用）',
   `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
   `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
   `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',
   PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '回款管理' ROW_FORMAT = DYNAMIC;
