SET NAMES utf8mb4;
SET
FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for ad_account
-- ----------------------------
DROP TABLE IF EXISTS `ad_account`;
CREATE TABLE `ad_account`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `type`        int NULL DEFAULT NULL COMMENT '媒体类型',
    `link_id`     bigint NULL DEFAULT NULL COMMENT '关联ID',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '推广账户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_domain
-- ----------------------------
DROP TABLE IF EXISTS `ad_domain`;
CREATE TABLE `ad_domain`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `domain`      varchar(255)   NULL DEFAULT NULL COMMENT '域名',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告域名' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_dy_account
-- ----------------------------
DROP TABLE IF EXISTS `ad_dy_account`;
CREATE TABLE `ad_dy_account`
(
    `id`                bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `advertiser_id`     bigint NULL DEFAULT NULL COMMENT '账户ID',
    `account_string_id` varchar(255)   NULL DEFAULT NULL COMMENT '账户ID 字符类型',
    `advertiser_name`   varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `is_valid`          int NULL DEFAULT NULL COMMENT '授权有效性',
    `account_role`      varchar(255)   NULL DEFAULT NULL COMMENT '新版账号角色',
    `create_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`         bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`         bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`            varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '抖音账户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_dy_api
-- ----------------------------
DROP TABLE IF EXISTS `ad_dy_api`;
CREATE TABLE `ad_dy_api`
(
    `id`                       int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `app_id`                   varchar(255)   NULL DEFAULT NULL COMMENT 'appid',
    `app_secet`                varchar(255)   NULL DEFAULT NULL COMMENT 'app秘钥',
    `auth_code`                varchar(255)   NULL DEFAULT NULL COMMENT '授权code',
    `access_token`             varchar(255)   NULL DEFAULT NULL COMMENT 'token',
    `expires_in`               int NULL DEFAULT NULL COMMENT '过期时间',
    `refresh_token`            varchar(255)   NULL DEFAULT NULL COMMENT '刷新token',
    `refresh_token_expires_in` int NULL DEFAULT NULL COMMENT '刷新token过期时间',
    `create_time`              datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`                bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`                bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`              datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`                   varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '抖音投流API信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_html_click_log
-- ----------------------------
DROP TABLE IF EXISTS `ad_html_click_log`;
CREATE TABLE `ad_html_click_log`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`         int NULL DEFAULT 0 COMMENT '类型0百度1优酷',
    `site_id`      bigint NULL DEFAULT NULL COMMENT '站点ID',
    `account_id`   bigint NULL DEFAULT NULL,
    `url`          varchar(4096)   NULL DEFAULT NULL COMMENT '网页URL',
    `html_no`      varchar(255)   NULL DEFAULT NULL COMMENT '链接编号',
    `vid`          varchar(255)   NULL DEFAULT NULL COMMENT '百度vid',
    `click_type`   varchar(255)   NULL DEFAULT NULL COMMENT '点击类型（参考百度）',
    `is_upload`    int NULL DEFAULT 0 COMMENT '是否上传百度;0未上传1已上传',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL,
    `back_json`    varchar(2048)   NULL DEFAULT NULL COMMENT '监听回调JSON',
    `aid`          varchar(100)   NULL DEFAULT NULL COMMENT '创意ID',
    `pid`          varchar(100)   NULL DEFAULT NULL COMMENT '计划ID',
    `uid`          varchar(100)   NULL DEFAULT NULL COMMENT '单元ID',
    `userid`       varchar(100)   NULL DEFAULT NULL COMMENT '账户ID',
    `comb_id`      varchar(100)   NULL DEFAULT NULL COMMENT '点击、曝光唯一标识',
    `deeplink_url` varchar(500)   NULL DEFAULT NULL COMMENT '调起url',
    `upload_type`  varchar(255)   NULL DEFAULT NULL COMMENT '上传类型',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告点击表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_html_template
-- ----------------------------
DROP TABLE IF EXISTS `ad_html_template`;
CREATE TABLE `ad_html_template`
(
    `id`          int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `no`          varchar(255)   NULL DEFAULT NULL COMMENT '编号',
    `images`      varchar(900)   NULL DEFAULT NULL COMMENT '图片',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '请求地址',
    `data_json`   varchar(255)   NULL DEFAULT NULL,
    `json`        longtext   NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告信息流链接' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_html_url
-- ----------------------------
DROP TABLE IF EXISTS `ad_html_url`;
CREATE TABLE `ad_html_url`
(
    `id`          int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `no`          varchar(255)   NULL DEFAULT NULL COMMENT '编号',
    `images`      varchar(900)   NULL DEFAULT NULL COMMENT '图片',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '请求地址',
    `data_json`   varchar(255)   NULL DEFAULT NULL,
    `json`        longtext   NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告信息流链接' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_iqiyi_account
-- ----------------------------
DROP TABLE IF EXISTS `ad_iqiyi_account`;
CREATE TABLE `ad_iqiyi_account`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `account_id`   varchar(255)   NULL DEFAULT NULL COMMENT '账号ID',
    `account_name` varchar(255)   NULL DEFAULT NULL COMMENT '账号名称',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优酷广告账号表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_site
-- ----------------------------
DROP TABLE IF EXISTS `ad_site`;
CREATE TABLE `ad_site`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `template_id` bigint NULL DEFAULT NULL COMMENT '模板ID',
    `type`        bigint NULL DEFAULT NULL COMMENT '投流类型',
    `account_id`  bigint NULL DEFAULT NULL COMMENT '账号ID',
    `domain_id`   bigint NULL DEFAULT NULL COMMENT '域名ID',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '链接',
    `work_id`     bigint NULL DEFAULT NULL COMMENT '获客链接',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '投流站点' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_upload_log
-- ----------------------------
DROP TABLE IF EXISTS `ad_upload_log`;
CREATE TABLE `ad_upload_log`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `site_id`     bigint NULL DEFAULT NULL COMMENT '站点ID',
    `type`        int NULL DEFAULT NULL COMMENT '媒体类型',
    `template_id` bigint NULL DEFAULT NULL COMMENT '模板ID',
    `account_id`  bigint NULL DEFAULT NULL COMMENT '账户ID',
    `domain_id`   bigint NULL DEFAULT NULL COMMENT '域名ID',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '点击URL',
    `upload_type` varchar(255)   NULL DEFAULT NULL COMMENT '上传类型',
    `vid`         varchar(255)   NULL DEFAULT NULL COMMENT '广告唯一ID',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度回传日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for ad_youku_account
-- ----------------------------
DROP TABLE IF EXISTS `ad_youku_account`;
CREATE TABLE `ad_youku_account`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `account_id`   varchar(255)   NULL DEFAULT NULL COMMENT '账号ID',
    `account_name` varchar(255)   NULL DEFAULT NULL COMMENT '账号名称',
    `app_key`      varchar(255)   NULL DEFAULT NULL COMMENT '秘钥',
    `token`        varchar(255)   NULL DEFAULT NULL COMMENT 'token',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优酷广告账号表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_advertiser
-- ----------------------------
DROP TABLE IF EXISTS `adv_advertiser`;
CREATE TABLE `adv_advertiser`
(
    `id`               bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '广告商ID',
    `advertiser_name`  varchar(100)   NOT NULL COMMENT '广告商名称',
    `advertiser_image` varchar(255)   NULL DEFAULT NULL COMMENT '广告商图片',
    `support_api`      tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否支持API（0否 1是）',
    `support_callback` tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否支持回传（0否 1是）',
    `enabled`          tinyint                                                       NOT NULL DEFAULT 1 COMMENT '是否启用（0否 1是）',
    `custom`           tinyint                                                       NOT NULL DEFAULT 0 COMMENT '1线上广告商 2自定义广告商',
    `create_time`      datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`      datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`          varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`          varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_enabled`(`enabled` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告商表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_api_call_log
-- ----------------------------
DROP TABLE IF EXISTS `adv_api_call_log`;
CREATE TABLE `adv_api_call_log`
(
    `id`             bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `advertiser_id`  bigint                                                        NOT NULL COMMENT '广告商ID',
    `api_name`       varchar(100)   NOT NULL COMMENT 'API名称',
    `api_url`        varchar(500)   NOT NULL COMMENT 'API地址',
    `request_params` text   NULL COMMENT '请求参数',
    `response_body`  text   NULL COMMENT '响应内容',
    `call_status`    tinyint                                                       NOT NULL DEFAULT 1 COMMENT '调用状态（1成功 2失败）',
    `cost_time`      bigint NULL DEFAULT NULL COMMENT '耗时（ms）',
    `create_time`    datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX            `idx_api_name`(`api_name` ASC) USING BTREE,
    INDEX            `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'API调用日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_callback_account
-- ----------------------------
DROP TABLE IF EXISTS `adv_callback_account`;
CREATE TABLE `adv_callback_account`
(
    `id`               bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '回传账号ID',
    `account_name`     varchar(100)   NOT NULL COMMENT '回传账号名称',
    `advertiser_id`    bigint NULL DEFAULT NULL COMMENT '广告商id',
    `advertiser_name`  varchar(255)   NULL DEFAULT NULL COMMENT '广告商名称',
    `ad_account_id`    varchar(255)   NULL DEFAULT NULL COMMENT '广告主id',
    `access_token`     varchar(500)   NULL DEFAULT NULL COMMENT '第三方token',
    `scr_id`           varchar(255)   NULL DEFAULT NULL COMMENT '第三方来源id',
    `app_id`           varchar(255)   NULL DEFAULT NULL COMMENT '第三方appid',
    `app_secret`       varchar(255)   NULL DEFAULT NULL COMMENT '第三方secret',
    `conversion_event` varchar(255)   NULL DEFAULT NULL COMMENT '转换事件逗号分隔',
    `create_time`      datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`      datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`          varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`          varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_callback_account_name`(`account_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '回传账号表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_callback_log
-- ----------------------------
DROP TABLE IF EXISTS `adv_callback_log`;
CREATE TABLE `adv_callback_log`
(
    `id`              bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `site_id`         bigint                                                        NOT NULL COMMENT '站点ID',
    `advertiser_id`   bigint                                                        NOT NULL COMMENT '广告商ID',
    `advertiser_name` varchar(100)   NOT NULL COMMENT '广告商名称',
    `callback_type`   varchar(50)    NOT NULL COMMENT '回调类型（展示/点击/转化）',
    `request_url`     varchar(500)   NULL DEFAULT NULL COMMENT '请求URL',
    `request_method`  varchar(10)   NULL DEFAULT NULL COMMENT '请求方法',
    `request_params`  text   NULL COMMENT '请求参数',
    `request_headers` text   NULL COMMENT '请求头',
    `response_status` int NULL DEFAULT NULL COMMENT '响应状态码',
    `response_body`   text   NULL COMMENT '响应内容',
    `process_status`  tinyint                                                       NOT NULL DEFAULT 1 COMMENT '处理状态（1成功 2失败）',
    `error_msg`       text   NULL COMMENT '错误信息',
    `ip_address`      varchar(50)   NULL DEFAULT NULL COMMENT 'IP地址',
    `process_time`    bigint NULL DEFAULT NULL COMMENT '处理耗时（ms）',
    `create_time`     datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_site_id`(`site_id` ASC) USING BTREE,
    INDEX             `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX             `idx_create_time`(`create_time` ASC) USING BTREE,
    INDEX             `idx_callback_type`(`callback_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '第三方回调记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_channel
-- ----------------------------
DROP TABLE IF EXISTS `adv_channel`;
CREATE TABLE `adv_channel`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `channel_name` varchar(255)   NULL DEFAULT NULL COMMENT '渠道名称/分组名称',
    `parent_id`    bigint NULL DEFAULT 0 COMMENT '父id',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告渠道表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_conversion_log
-- ----------------------------
DROP TABLE IF EXISTS `adv_conversion_log`;
CREATE TABLE `adv_conversion_log`
(
    `id`                   bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `site_id`              bigint                                                        NOT NULL COMMENT '站点ID',
    `advertiser_id`        bigint                                                        NOT NULL COMMENT '广告商ID',
    `advertiser_name`      varchar(100)   NOT NULL COMMENT '广告商名称',
    `callback_account_id`  bigint NULL DEFAULT NULL COMMENT '回传账号id',
    `sys_conversion_event` varchar(50)    NOT NULL COMMENT '转化类型',
    `adv_conversion_event` varchar(50)    NOT NULL COMMENT '转化事件',
    `landing_url`          varchar(500)   NULL DEFAULT NULL COMMENT '回传URL',
    `callback_params`      text   NULL COMMENT '回传参数',
    `callback_status`      tinyint                                                       NOT NULL DEFAULT 0 COMMENT '回传状态（0待回传 1成功 2失败）',
    `retry_count`          int                                                           NOT NULL DEFAULT 0 COMMENT '重试次数',
    `success_time`         datetime NULL DEFAULT NULL COMMENT '成功时间',
    `error_msg`            text   NULL COMMENT '错误信息',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '用户ID',
    `trace_id`             varchar(200)   NULL DEFAULT NULL COMMENT '点击ID（广告平台提供）',
    `create_time`          datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`          datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `idx_site_id`(`site_id` ASC) USING BTREE,
    INDEX                  `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX                  `idx_callback_status`(`callback_status` ASC) USING BTREE,
    INDEX                  `idx_click_id`(`trace_id` ASC) USING BTREE,
    INDEX                  `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '转化回传记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_conversion_target
-- ----------------------------
DROP TABLE IF EXISTS `adv_conversion_target`;
CREATE TABLE `adv_conversion_target`
(
    `id`              bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '转化目标ID',
    `callback_event`  varchar(50)   NOT NULL COMMENT '回传事件',
    `conversion_type` varchar(50)   NOT NULL COMMENT '转化类型',
    `callback_ratio`  decimal(5, 2) NULL DEFAULT 100.00 COMMENT '回传比例（%）',
    `site_id`         bigint                                                       NOT NULL COMMENT '站点ID',
    `create_time`     datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`     datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '转化目标表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_domain_url
-- ----------------------------
DROP TABLE IF EXISTS `adv_domain_url`;
CREATE TABLE `adv_domain_url`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`        varchar(100)   NOT NULL COMMENT '域名名称',
    `domain`      varchar(255)   NOT NULL COMMENT '域名地址',
    `status`      tinyint                                                       NOT NULL DEFAULT 1 COMMENT '状态（0禁用 1启用）',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`     varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`     varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_domain`(`domain` ASC) USING BTREE,
    INDEX         `idx_status`(`status` ASC) USING BTREE,
    INDEX         `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '域名管理表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_event_type
-- ----------------------------
DROP TABLE IF EXISTS `adv_event_type`;
CREATE TABLE `adv_event_type`
(
    `id`              int                                                           NOT NULL AUTO_INCREMENT,
    `event_type`      varchar(255)   NOT NULL COMMENT '事件类型',
    `event_name`      varchar(255)   NOT NULL COMMENT '事件名称',
    `system_builtin`  tinyint                                                       NOT NULL DEFAULT 1 COMMENT '是否系统内置(1是0否)',
    `advertiser_id`   bigint                                                        NOT NULL COMMENT '广告商id',
    `advertiser_name` varchar(255)   NOT NULL COMMENT '广告商名称',
    `remark`          varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_landing_page_template
-- ----------------------------
DROP TABLE IF EXISTS `adv_landing_page_template`;
CREATE TABLE `adv_landing_page_template`
(
    `id`             varchar(64)    NOT NULL COMMENT '主键ID（UUID）',
    `template_name`  varchar(100)   NOT NULL COMMENT '模板名称',
    `template_data`  text   NULL COMMENT '模板数据（JSON格式）',
    `template_type`  varchar(50)   NULL DEFAULT 'DEFAULT' COMMENT '模板类型',
    `preview_url`    varchar(1000)   NULL DEFAULT NULL COMMENT '首屏图片',
    `cms_group_name` varchar(255)   NULL DEFAULT NULL COMMENT '分组',
    `status`         tinyint                                                       NOT NULL DEFAULT 1 COMMENT '状态（0禁用 1启用 2删除）',
    `remark`         varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`    datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`    datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`        varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`        varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_template_name`(`template_name` ASC) USING BTREE,
    INDEX            `idx_status`(`status` ASC) USING BTREE,
    INDEX            `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '投放页面模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_lead
-- ----------------------------
DROP TABLE IF EXISTS `adv_lead`;
CREATE TABLE `adv_lead`
(
    `id`                      bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `phone`                   varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `system_user_id`          bigint NULL DEFAULT NULL COMMENT '系统用户id',
    `site_id`                 bigint NULL DEFAULT NULL COMMENT '站点ID',
    `click_id`                varchar(500)   NULL DEFAULT NULL COMMENT '点击id',
    `trace_id`                varchar(500)   NULL DEFAULT NULL COMMENT '第三方唯一id',
    `advertiser_id`           int NULL DEFAULT NULL COMMENT '来源平台id',
    `ip`                      varchar(255)   NULL DEFAULT NULL,
    `status`                  tinyint NULL DEFAULT 0 COMMENT '0 未转化 1已转化',
    `click_trigger`           tinyint NULL DEFAULT 0 COMMENT '是否链化追踪触发 1是0否',
    `landing_page_trigger`    tinyint NULL DEFAULT 0 COMMENT '是否落地页触发 1是0否',
    `plan_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '计划id',
    `unit_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '单元id',
    `idea_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '创意id',
    `ad_account_id`           varchar(255)   NULL DEFAULT NULL COMMENT '广告主id',
    `click_ts`                datetime NULL DEFAULT NULL COMMENT '点击时间',
    `landing_page_ts`         datetime NULL DEFAULT NULL COMMENT '落地页访问时间',
    `trace_raw_params`        text   NULL COMMENT '监测链接访问参数',
    `chat_id`                 varchar(255)   NULL DEFAULT NULL,
    `landing_page_raw_params` text   NULL COMMENT '落地页访问参数',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `qw_group_actual_id`      bigint NULL DEFAULT NULL COMMENT 'qw_group_actual表id',
    `qw_contact_way_id`       bigint NULL DEFAULT NULL COMMENT 'qw_contact_way表id',
    `qw_assign_rule_user_id`  bigint NULL DEFAULT NULL COMMENT 'qw_assign_rule_user表Id',
    `qw_group_live_code_id`   bigint NULL DEFAULT NULL,
    `external_id`             bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `add_contact_qw`          int NULL DEFAULT 0 COMMENT '是否添加企微 1是 0否',
    `add_contact_qw_group`    int NULL DEFAULT 0 COMMENT '是否添加企微群 1是 0否',
    `wechat_delete`           int NULL DEFAULT NULL COMMENT '企微是否删除 1 是 0否',
    `openid`                  varchar(255)   NULL DEFAULT NULL,
    `unionid`                 varchar(255)   NULL DEFAULT NULL,
    `mini_auth`               int NULL DEFAULT 0 COMMENT '小程序授权1是 0否',
    `mini_auth_index`         int NULL DEFAULT 0 COMMENT '小程序授权页进入 1是 0否',
    `mini_qr_code_index`      int NULL DEFAULT 0 COMMENT '小程序出码页进入 1是 0否',
    `mini_launch_index_count` int NULL DEFAULT 0 COMMENT '发起进入小程序 1是0否',
    `view_url`                text   NULL COMMENT '实际落地页链接',
    `corp_id`                 varchar(255)   NULL DEFAULT NULL,
    `wei_chat_name`           varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_trace_id`(`trace_id` ASC) USING BTREE,
    INDEX                     `idx_phone`(`phone` ASC) USING BTREE,
    INDEX                     `idx_site_id`(`site_id` ASC) USING BTREE,
    INDEX                     `idx_status`(`status` ASC) USING BTREE,
    INDEX                     `idx_create_time`(`create_time` ASC) USING BTREE,
    INDEX                     `idx_click_id`(`click_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '线索表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_mini_config
-- ----------------------------
DROP TABLE IF EXISTS `adv_mini_config`;
CREATE TABLE `adv_mini_config`
(
    `id`           int NOT NULL AUTO_INCREMENT,
    `app_id`       varchar(255)   NULL DEFAULT NULL,
    `app_secret`   varchar(255)   NULL DEFAULT NULL,
    `mini_status`  varchar(255)   NULL DEFAULT NULL COMMENT '小程序可用状态(1可用 0不可用)',
    `access_token` varchar(500)   NULL DEFAULT NULL,
    `status`       int NULL DEFAULT NULL COMMENT '状态1启用 0停用',
    `expires_in`   datetime NULL DEFAULT NULL COMMENT '过期时间',
    `create_time`  datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告微信小程序配置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_project
-- ----------------------------
DROP TABLE IF EXISTS `adv_project`;
CREATE TABLE `adv_project`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `project_name` varchar(255)   NULL DEFAULT NULL COMMENT '项目名称',
    `status`       varchar(255)   NULL DEFAULT NULL COMMENT '是否删除 1是0否',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_promotion_account
-- ----------------------------
DROP TABLE IF EXISTS `adv_promotion_account`;
CREATE TABLE `adv_promotion_account`
(
    `id`                 bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '推广账户ID',
    `account_name`       varchar(100)   NOT NULL COMMENT '推广账户名称',
    `promotion_type`     varchar(50)    NOT NULL COMMENT '推广方式',
    `account_short_name` varchar(50)   NULL DEFAULT NULL COMMENT '账户简称',
    `advertiser_name`    varchar(100)   NOT NULL COMMENT '广告商名称',
    `advertiser_id`      bigint                                                        NOT NULL COMMENT '广告商ID',
    `config_mode`        tinyint                                                       NOT NULL DEFAULT 1 COMMENT '配置方式（1服务模式 2广告主模式）',
    `manager_name`       varchar(50)   NULL DEFAULT NULL COMMENT '负责人名称',
    `custom`             tinyint NULL DEFAULT NULL COMMENT '1线上 2线下',
    `manager_id`         bigint NULL DEFAULT NULL COMMENT '负责人ID',
    `api_switch`         tinyint                                                       NOT NULL DEFAULT 2 COMMENT 'API读取账号开关（1开 2关）',
    `extended_field`     varchar(255)   NULL DEFAULT NULL COMMENT '拓展字段',
    `ad_account_id`      varchar(100)   NULL DEFAULT NULL COMMENT '广告主ID',
    `app_id`             varchar(100)   NULL DEFAULT NULL COMMENT '应用程序ID',
    `app_secret`         varchar(255)   NULL DEFAULT NULL COMMENT '应用程序Secret（加密存储）',
    `callback_url`       varchar(500)   NULL DEFAULT NULL COMMENT '回调地址',
    `auth_url`           varchar(500)   NULL DEFAULT NULL COMMENT '授权地址',
    `access_token`       varchar(5000)   NULL DEFAULT NULL COMMENT '第三方token',
    `refresh_token`      varchar(5000)   NULL DEFAULT NULL COMMENT '第三方刷新token',
    `create_time`        datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`        datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`            varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`            varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    `expire_time`        datetime NULL DEFAULT NULL COMMENT '过期时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX                `idx_api_switch`(`api_switch` ASC) USING BTREE,
    INDEX                `idx_manager_id`(`manager_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '推广账号表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_site
-- ----------------------------
DROP TABLE IF EXISTS `adv_site`;
CREATE TABLE `adv_site`
(
    `id`                     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '站点ID',
    `site_name`              varchar(100)   NOT NULL COMMENT '站点名称',
    `channel_id`             bigint NULL DEFAULT NULL COMMENT '渠道id',
    `channel_name`           varchar(255)   NULL DEFAULT NULL COMMENT '渠道名称',
    `launch_type`            tinyint NULL DEFAULT NULL COMMENT '投放类型',
    `ad_type`                varchar(50)   NULL DEFAULT NULL COMMENT '广告类型',
    `advertiser_name`        varchar(100)   NULL DEFAULT NULL COMMENT '广告商名称',
    `advertiser_id`          bigint NULL DEFAULT NULL COMMENT '广告商ID',
    `promotion_account_name` varchar(100)   NULL DEFAULT NULL COMMENT '推广账户名称',
    `promotion_account_id`   bigint NULL DEFAULT NULL COMMENT '推广账户ID',
    `launch_page_name`       varchar(100)   NULL DEFAULT NULL COMMENT '投放页面名称',
    `launch_page_id`         varchar(100)   NULL DEFAULT NULL COMMENT '投放页面ID',
    `distribute_type`        tinyint NULL DEFAULT NULL COMMENT '分配方式',
    `distribute_rule`        varchar(200)   NULL DEFAULT NULL COMMENT '分配规则',
    `project_name`           varchar(100)   NULL DEFAULT NULL COMMENT '项目名称',
    `project_id`             bigint NULL DEFAULT NULL COMMENT '项目ID',
    `launch_domain`          varchar(200)   NULL DEFAULT NULL COMMENT '投放域名',
    `config_callback`        tinyint NULL DEFAULT 0 COMMENT '是否配置回传（0否 1是）',
    `callback_account_id`    bigint NULL DEFAULT NULL COMMENT '回传账号ID',
    `callback_account_name`  varchar(100)   NULL DEFAULT NULL COMMENT '回传账号名称',
    `conversion_target_id`   bigint NULL DEFAULT NULL COMMENT '转化目标ID',
    `site_url`               varchar(255)   NULL DEFAULT NULL COMMENT '站点地址',
    `status`                 tinyint NULL DEFAULT 1 COMMENT '站点状态 1启用 0停用',
    `allocation_rule`        int NULL DEFAULT NULL COMMENT '企微分配规则 1个人码分配 2活码分配',
    `allocation_rule_id`     bigint NULL DEFAULT NULL COMMENT '分配id',
    `idea_id`                varchar(255)   NULL DEFAULT NULL COMMENT '创意id',
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`                varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`                varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `idx_site_name`(`site_name` ASC) USING BTREE,
    INDEX                    `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX                    `idx_promotion_account_id`(`promotion_account_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '站点管理表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_site_statistics
-- ----------------------------
DROP TABLE IF EXISTS `adv_site_statistics`;
CREATE TABLE `adv_site_statistics`
(
    `id`                       bigint   NOT NULL AUTO_INCREMENT COMMENT '主键',
    `site_id`                  bigint   NOT NULL COMMENT '站点ID',
    `site_name`                varchar(255)   NULL DEFAULT NULL COMMENT '站点名称',
    `stat_date`                date     NOT NULL COMMENT '统计日期',
    `pv`                       bigint NULL DEFAULT 0 COMMENT 'PV',
    `uv`                       bigint NULL DEFAULT 0 COMMENT 'UV',
    `impression_count`         bigint NULL DEFAULT 0 COMMENT '展示数',
    `click_count`              bigint NULL DEFAULT 0 COMMENT '点击数',
    `click_rate`               decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '点击率（%）',
    `avg_click_price`          decimal(10, 2) NULL DEFAULT 0.00 COMMENT '平均点击单价',
    `account_cost`             decimal(15, 2) NULL DEFAULT 0.00 COMMENT '账面花费',
    `actual_cost`              decimal(15, 2) NULL DEFAULT 0.00 COMMENT '实际花费',
    `card_count`               bigint NULL DEFAULT 0 COMMENT '名片数',
    `card_acquire_rate`        decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '名片获取率（%）',
    `card_acquire_cost`        decimal(10, 2) NULL DEFAULT 0.00 COMMENT '名片获取成本',
    `wechat_add_count`         bigint NULL DEFAULT 0 COMMENT '企微添加人数',
    `wechat_add_rate`          decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '企微添加率（%）',
    `register_success_count`   bigint NULL DEFAULT 0 COMMENT '报名成功名片人数',
    `register_wechat_rate`     decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '报名成功加微率（%）',
    `wechat_add_cost`          decimal(10, 2) NULL DEFAULT 0.00 COMMENT '企微添加成本',
    `wechat_group_count`       bigint NULL DEFAULT 0 COMMENT '企微加群人数',
    `wechat_group_rate`        decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '企微加群率（%）',
    `create_time`              datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `wechat_delete_count`      int NULL DEFAULT 0 COMMENT '企微删除人数',
    `wechat_delete_count_rate` decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '企微删除率',
    `mini_launch_index_count`  int NULL DEFAULT 0 COMMENT '发起进入小程序人数',
    `mini_auth_index_count`    int NULL DEFAULT 0 COMMENT '进入小程序落地页',
    `mini_auth_count`          int NULL DEFAULT 0 COMMENT '小程序授权人数',
    `mini_qr_code_index_count` int NULL DEFAULT 0 COMMENT '进入出码页人数',
    `sys_click_count`          int NULL DEFAULT 0 COMMENT '系统点击数',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_site_date`(`site_id` ASC, `stat_date` ASC) USING BTREE,
    INDEX                      `idx_stat_date`(`stat_date` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '站点日统计归档表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for adv_tracking_link
-- ----------------------------
DROP TABLE IF EXISTS `adv_tracking_link`;
CREATE TABLE `adv_tracking_link`
(
    `id`              bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `tracking_name`   varchar(100)   NOT NULL COMMENT '监测名称',
    `advertiser_name` varchar(100)   NOT NULL COMMENT '广告商',
    `advertiser_id`   bigint                                                        NOT NULL COMMENT '广告商ID',
    `promotion_type`  varchar(50)   NULL DEFAULT NULL COMMENT '推广方式',
    `type`            varchar(50)   NULL DEFAULT NULL COMMENT '类型',
    `tracking_url`    text   NULL COMMENT '监测链接URL',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `creator`         varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `updater`         varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_advertiser_id`(`advertiser_id` ASC) USING BTREE,
    INDEX             `idx_tracking_name`(`tracking_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '监测链接表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for aiob_baidu_call_api
-- ----------------------------
DROP TABLE IF EXISTS `aiob_baidu_call_api`;
CREATE TABLE `aiob_baidu_call_api`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `access_key`  varchar(255)   NULL DEFAULT NULL,
    `secret_key`  varchar(255)   NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度外呼接口配置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for aiob_baidu_encryption
-- ----------------------------
DROP TABLE IF EXISTS `aiob_baidu_encryption`;
CREATE TABLE `aiob_baidu_encryption`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `secret_id`   varchar(255)   NULL DEFAULT NULL COMMENT '秘钥ID',
    `secret_key`  varchar(255)   NULL DEFAULT NULL COMMENT '秘钥',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度AI外呼加密表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for aiob_baidu_task
-- ----------------------------
DROP TABLE IF EXISTS `aiob_baidu_task`;
CREATE TABLE `aiob_baidu_task`
(
    `id`                    bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`                  int NULL DEFAULT NULL COMMENT '1个微2企微',
    `task_id`               varchar(255)   NULL DEFAULT NULL COMMENT '任务ID',
    `task_name`             varchar(255)   NULL DEFAULT NULL COMMENT '任务名称',
    `robot_id`              varchar(255)   NULL DEFAULT NULL COMMENT '外呼机器人唯一标识',
    `dial_start_date`       date NULL DEFAULT NULL COMMENT '任务呼叫开始日期',
    `dial_end_date`         date NULL DEFAULT NULL COMMENT '任务呼叫结束日期,如：XXXXX，默认为空，表示不限制终止时间',
    `dial_start_time`       time NULL DEFAULT NULL COMMENT '呼叫开始时间，时间范围为【09:00，20:00】',
    `dial_end_time`         time NULL DEFAULT NULL COMMENT '呼叫结束时间，时间范围为【09:00，20:00】',
    `forbid_dial_date`      varchar(255)   NULL DEFAULT NULL COMMENT '禁呼日期， 99-节假日；1-周一；2-周二；3-周三；4-周四；5-周五；6-周六；0-周日，默认为空，表示不限制禁呼日期',
    `forbid_dial_time`      varchar(255)   NULL DEFAULT NULL COMMENT '禁呼时间，默认为空，表示不限制禁呼时间',
    `caller_nums`           varchar(255)   NULL DEFAULT NULL COMMENT '主叫号码，默认为空，表示将随机获取可用号码进行外呼',
    `last_caller_nums`      varchar(255)   NULL DEFAULT NULL COMMENT '保底主叫号码，默认为空，非空则开启了归属地匹配且在指定主叫中没找到匹配号码则默认用此外呼',
    `black_list_strategy`   int NULL DEFAULT NULL COMMENT '1-触发黑名单后该号码组不再拨打；2-触发黑名单后该号码不再拨打；默认为空，即不过滤黑名单',
    `final_strategy`        int NULL DEFAULT NULL COMMENT '终态策略，0-存在接通 1-全部接通 2-存在完成 3-全部完成，默认为0，即存在接通',
    `call_strategy`         int NULL DEFAULT NULL COMMENT '拨打策略：0-批量 1-逐个/轮流 2-逐个/顺序，默认为0，即批量',
    `retry_times`           int NULL DEFAULT NULL COMMENT '重试次数，整数，且 N ≤ 3，默认为空，表示不重试',
    `retry_interval`        int NULL DEFAULT NULL COMMENT '重试间隔时间，单位min，0≤ N ≤720',
    `is_set_capacity`       int NULL DEFAULT NULL COMMENT '0：空闲通路弹性调节；1：最低保障通路数；2：固定通路数，默认为0',
    `task_capacity`         int NULL DEFAULT NULL COMMENT '设置通路数大小，N为 整数，且 N ≤ 任务可用通路数和，默认为0，即空闲通路弹性调节',
    `is_open_empty_num`     int NULL DEFAULT NULL COMMENT '是否开启24小时空号检测',
    `is_open_phone_down`    int NULL DEFAULT NULL COMMENT '是否开启12小时内停机检测',
    `is_open_repeat_filter` int NULL DEFAULT NULL COMMENT '是否开启重复号码过滤,true为开启，false为关闭',
    `num_type_filter_list`  varchar(255)   NULL DEFAULT NULL COMMENT '号码类型过滤 1-400号码；2-800号码；3-手机号码；4-固话；5-95号码；6-96号码；7-其他',
    `sms_strategy_v1`       varchar(255)   NULL DEFAULT NULL COMMENT '发送短信策略集合，smsAutographId为短信签名ID，smsTemplateId为短信模板ID，smsStrategy为短信触发策略，1-接通后挂机触发；2-未接通后挂机触发',
    `task_data_callback`    int NULL DEFAULT NULL COMMENT '默认false 是否开启任务回调',
    `call_back_url`         varchar(255)   NULL DEFAULT NULL COMMENT '任务级回调地址设置',
    `call_finish_task_end`  int NULL DEFAULT NULL COMMENT '任务拨号完成后是否进入完成状态',
    `task_status`           int NULL DEFAULT 1 COMMENT '任务状态1-待启动 2-执行中 3-已暂停 4-已完成',
    `update_reason`         varchar(255)   NULL DEFAULT NULL COMMENT '变更备注',
    `create_time`           datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`             bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`             bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`           datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`                varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `add_type`              int NULL DEFAULT NULL COMMENT '加微方式0平均1意向',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度AI外呼任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for balance_rollback_error
-- ----------------------------
DROP TABLE IF EXISTS `balance_rollback_error`;
CREATE TABLE `balance_rollback_error`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户ID',
    `log_id`      bigint NULL DEFAULT NULL COMMENT '看客记录ID',
    `video_id`    bigint NULL DEFAULT NULL COMMENT '视频ID',
    `status`      tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态：0-回滚异常登记，1-已重新回滚',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '异常金额',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注信息',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `company_id`(`company_id` ASC) USING BTREE,
    INDEX         `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX         `idx_log_id`(`log_id` ASC) USING BTREE,
    INDEX         `idx_video_id`(`video_id` ASC) USING BTREE,
    INDEX         `idx_status`(`status` ASC) USING BTREE,
    INDEX         `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = 'Redis余额数据回滚异常登记表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_account
-- ----------------------------
DROP TABLE IF EXISTS `bd_account`;
CREATE TABLE `bd_account`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `api_id`       bigint NULL DEFAULT 1,
    `account_id`   bigint NULL DEFAULT NULL COMMENT '账户ID',
    `account_name` varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `token`        varchar(255)   NULL DEFAULT NULL,
    `user_id`      bigint NULL DEFAULT NULL COMMENT '所属用户',
    `dept_id`      bigint NULL DEFAULT NULL COMMENT '部门ID',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `loading`      int NULL DEFAULT 0 COMMENT '是否同步0未同步1同步',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度账号' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_api
-- ----------------------------
DROP TABLE IF EXISTS `bd_api`;
CREATE TABLE `bd_api`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `app_id`             varchar(255)   NULL DEFAULT NULL COMMENT '应用id',
    `app_secret_key`     varchar(255)   NULL DEFAULT NULL COMMENT '应用secretKey',
    `app_name`           varchar(255)   NULL DEFAULT NULL COMMENT '应用名称',
    `app_user_id`        bigint NULL DEFAULT NULL COMMENT '用户userId',
    `open_id`            varchar(255)   NULL DEFAULT NULL COMMENT '获取授权用户信息标识',
    `auth_code`          varchar(900)   NULL DEFAULT NULL COMMENT '临时授权码（数据来源：通过回调接口获取）',
    `access_token`       varchar(900)   NULL DEFAULT NULL COMMENT '授权令牌',
    `refresh_token`      varchar(900)   NULL DEFAULT NULL COMMENT '刷新令牌',
    `expires_in`         int NULL DEFAULT NULL COMMENT '授权令牌剩余有效时间',
    `refresh_expires_in` int NULL DEFAULT NULL COMMENT '更新令牌剩余有效时间',
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`          bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`          bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `back_url`           varchar(2048)   NULL DEFAULT NULL COMMENT '回传链接',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_creative
-- ----------------------------
DROP TABLE IF EXISTS `bd_creative`;
CREATE TABLE `bd_creative`
(
    `creative_feed_id`   bigint NOT NULL,
    `adgroup_feed_id`    bigint NULL DEFAULT NULL,
    `materialstyle`      bigint NULL DEFAULT NULL,
    `creative_feed_name` varchar(255)   NULL DEFAULT NULL,
    `pause`              int NULL DEFAULT NULL,
    `status`             int NULL DEFAULT NULL,
    `material`           longtext   NULL,
    `refusereason`       text   NULL,
    `commentnum`         int NULL DEFAULT NULL,
    `readnum`            int NULL DEFAULT NULL,
    `playnum`            int NULL DEFAULT NULL,
    `idea_type`          int NULL DEFAULT NULL,
    `show_mt`            int NULL DEFAULT NULL,
    `addtime`            varchar(255)   NULL DEFAULT NULL,
    `prog_flag`          varchar(900)   NULL DEFAULT NULL,
    `video_id`           bigint NULL DEFAULT NULL,
    `video_url`          varchar(255)   NULL DEFAULT NULL,
    `template_json`      text   NULL,
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`          bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`          bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `account_id`         bigint NULL DEFAULT NULL COMMENT '账户ID',
    `account_name`       varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `json`               mediumtext   NULL,
    PRIMARY KEY (`creative_feed_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '百度创意' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_creative_statistics
-- ----------------------------
DROP TABLE IF EXISTS `bd_creative_statistics`;
CREATE TABLE `bd_creative_statistics`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `date`                 date NULL DEFAULT NULL COMMENT '日期',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '账户ID',
    `user_name`            varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `campaign_name_status` varchar(255)   NULL DEFAULT NULL COMMENT '推广计划含已删除标记',
    `ad_group_name_status` varchar(255)   NULL DEFAULT NULL COMMENT '推广单元含已删除标记',
    `idea_info`            text   NULL COMMENT '创意组合信息',
    `idea_name_status`     varchar(255)   NULL DEFAULT NULL COMMENT '创意名称含已删除标记',
    `feed_subject_enum`    varchar(255)   NULL DEFAULT NULL COMMENT 'Feed主题类型，枚举：0-全部，1-网站链接，10-百家号推广',
    `impression`           int NULL DEFAULT NULL COMMENT '展现次数',
    `click`                int NULL DEFAULT NULL COMMENT '点击次数',
    `cost`                 decimal(24, 6) NULL DEFAULT NULL COMMENT '消费金额',
    `ctr`                  decimal(24, 6) NULL DEFAULT NULL COMMENT '点击率',
    `cpc`                  decimal(24, 6) NULL DEFAULT NULL COMMENT '平均点击价格',
    `cpm`                  decimal(24, 6) NULL DEFAULT NULL COMMENT '千次展现消费',
    `iaa_cost`             decimal(24, 6) NULL DEFAULT NULL COMMENT 'IAA广告变现LTV',
    `iaa_pay_roi`          decimal(24, 6) NULL DEFAULT NULL COMMENT 'IAA广告变现ROI',
    `phone_button_clicks`  int NULL DEFAULT NULL COMMENT '组件点击次数（创意按钮点击）',
    `interaction`          int NULL DEFAULT NULL COMMENT '互动次数（视频广告含播放互动）',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度创意统计' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_plan
-- ----------------------------
DROP TABLE IF EXISTS `bd_plan`;
CREATE TABLE `bd_plan`
(
    `campaign_feed_id`     bigint NOT NULL,
    `campaign_feed_name`   varchar(255)   NULL DEFAULT NULL,
    `subject`              int NULL DEFAULT NULL,
    `appinfo`              varchar(900)   NULL DEFAULT NULL,
    `schedule`             varchar(900)   NULL DEFAULT NULL,
    `eshop_type`           varchar(255)   NULL DEFAULT NULL,
    `campaign_ocpx_status` int NULL DEFAULT NULL,
    `use_lift_budget`      int NULL DEFAULT NULL,
    `lift_budget`          decimal(24, 6) NULL DEFAULT NULL,
    `lift_status`          int NULL DEFAULT NULL,
    `delivery_type`        varchar(900)   NULL DEFAULT NULL,
    `app_sub_type`         int NULL DEFAULT NULL,
    `mini_program_type`    int NULL DEFAULT NULL,
    `bid_mode`             int NULL DEFAULT NULL,
    `product_ids`          bigint NULL DEFAULT NULL,
    `sale_type`            int NULL DEFAULT NULL,
    `create_time`          datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`            bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`            bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`          datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`               varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `account_id`           bigint NULL DEFAULT NULL COMMENT '账户ID',
    `account_name`         varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `json`                 mediumtext   NULL,
    PRIMARY KEY (`campaign_feed_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '百度计划' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_report_data
-- ----------------------------
DROP TABLE IF EXISTS `bd_report_data`;
CREATE TABLE `bd_report_data`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`                 int NULL DEFAULT NULL COMMENT '类型：0地区，1性别，2年龄，3意图词',
    `date`                 date NULL DEFAULT NULL COMMENT '日期',
    `user_name`            varchar(255)   NULL DEFAULT NULL COMMENT '账户',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '账户ID',
    `campaign_id`          bigint NULL DEFAULT NULL COMMENT '推广计划ID;计划ID',
    `campaign_name`        varchar(255)   NULL DEFAULT NULL COMMENT '推广计划;计划名称',
    `campaign_status`      int NULL DEFAULT NULL COMMENT '推广计划状态;0：未删除，1：已删除',
    `campaign_name_status` int NULL DEFAULT NULL COMMENT '推广计划;报告数据中包含了已删除物料(计划、单元等)，已删除的物料，会在名称后面标记上\"[已删除]\"，比如\"推广计划[已删除]\"。 未删除物料正常显示名称，没有额外标记。',
    `ad_group_id`          bigint NULL DEFAULT NULL COMMENT '推广单元ID',
    `ad_group_name`        varchar(255)   NULL DEFAULT NULL COMMENT '推广单元',
    `ad_group_status`      int NULL DEFAULT NULL COMMENT '推广单元状态;0：未删除，1：已删除',
    `ad_group_name_status` varchar(255)   NULL DEFAULT NULL COMMENT '推广单元;报告数据中包含了已删除物料(计划、单元等)，已删除的物料，会在名称后面标记上\"[已删除]\"，比如\"推广单元[已删除]\"。 未删除物料正常显示名称，没有额外标记。',
    `province_id`          bigint NULL DEFAULT NULL COMMENT '省ID',
    `province_name`        varchar(255)   NULL DEFAULT NULL COMMENT '省名称',
    `gender_name`          varchar(255)   NULL DEFAULT NULL COMMENT '性别',
    `age`                  varchar(255)   NULL DEFAULT NULL COMMENT '年龄段',
    `show_word`            varchar(255)   NULL DEFAULT NULL COMMENT '意图词',
    `feed_word`            varchar(255)   NULL DEFAULT NULL COMMENT '意图词',
    `create_time`          datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `impression`           bigint NULL DEFAULT NULL COMMENT '展现',
    `click`                bigint NULL DEFAULT NULL COMMENT '点击',
    `cost`                 decimal(10, 2) NULL DEFAULT NULL COMMENT '消费',
    `ctr`                  decimal(10, 2) NULL DEFAULT NULL COMMENT '点击率',
    `cpc`                  decimal(10, 2) NULL DEFAULT NULL COMMENT '平均点击价格',
    `cpm`                  decimal(10, 2) NULL DEFAULT NULL COMMENT '千次展现消费',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '百度定向统计表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for bd_unit
-- ----------------------------
DROP TABLE IF EXISTS `bd_unit`;
CREATE TABLE `bd_unit`
(
    `adgroup_feed_id`   bigint NOT NULL COMMENT '推广单元ID',
    `campaign_feed_id`  bigint NULL DEFAULT NULL COMMENT '推广计划ID',
    `adgroup_feed_name` varchar(255)   NULL DEFAULT NULL COMMENT '推广单元名称',
    `pause`             int NULL DEFAULT NULL COMMENT '暂停/启用推广单元',
    `status`            int NULL DEFAULT NULL,
    `bid`               decimal(24, 6) NULL DEFAULT NULL,
    `ftypes`            int NULL DEFAULT NULL,
    `bidtype`           varchar(900)   NULL DEFAULT NULL,
    `create_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`         bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`         bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`            varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `account_id`        bigint NULL DEFAULT NULL COMMENT '账户ID',
    `account_name`      varchar(255)   NULL DEFAULT NULL COMMENT '账户名称',
    `json`              mediumtext   NULL,
    PRIMARY KEY (`adgroup_feed_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '百度推广单元' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_dataset
-- ----------------------------
DROP TABLE IF EXISTS `chat_dataset`;
CREATE TABLE `chat_dataset`
(
    `dataset_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `role_id`      bigint NULL DEFAULT NULL COMMENT '所属角色',
    `dataset_name` varchar(200)   NULL DEFAULT NULL COMMENT '名称',
    `ext_id`       varchar(100)   NULL DEFAULT NULL COMMENT '外部ID',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '所属企业ID',
    PRIMARY KEY (`dataset_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '知识库表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_dataset_file
-- ----------------------------
DROP TABLE IF EXISTS `chat_dataset_file`;
CREATE TABLE `chat_dataset_file`
(
    `file_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `dataset_id`  bigint NULL DEFAULT NULL COMMENT '数据集ID',
    `role_id`     bigint NULL DEFAULT NULL COMMENT '角色ID',
    `ext_id`      varchar(50)   NULL DEFAULT NULL COMMENT '外部ID',
    `file_name`   varchar(200)   NULL DEFAULT NULL COMMENT '文件名',
    `create_time` varchar(200)   NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`file_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '文件表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_keyword
-- ----------------------------
DROP TABLE IF EXISTS `chat_keyword`;
CREATE TABLE `chat_keyword`
(
    `keyword_id`  bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `keyword`     varchar(200)   NULL DEFAULT NULL COMMENT '关键字',
    `type`        tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '匹配内容',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '所属公司',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `roles`       varchar(255)   NULL DEFAULT NULL COMMENT 'chat_role',
    PRIMARY KEY (`keyword_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '关键字表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_msg
-- ----------------------------
DROP TABLE IF EXISTS `chat_msg`;
CREATE TABLE `chat_msg`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `session_id`      bigint NULL DEFAULT NULL,
    `ext_id`          varchar(50)   NULL DEFAULT NULL COMMENT '外部ID',
    `user_id`         varchar(50)   NULL DEFAULT NULL COMMENT '用户ID',
    `content`         varchar(2000)   NULL DEFAULT NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        varchar(2000)   NULL DEFAULT NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0,
    `nick_name`       varchar(200)   NULL DEFAULT NULL,
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `user_type`       tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    PRIMARY KEY (`msg_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '聊天消息记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_msg_logs
-- ----------------------------
DROP TABLE IF EXISTS `chat_msg_logs`;
CREATE TABLE `chat_msg_logs`
(
    `logs_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_id`          bigint NULL DEFAULT NULL COMMENT 'msgId',
    `logs_type`       tinyint(1) NULL DEFAULT NULL COMMENT '类型 1标记正确 2修改回复',
    `content`         varchar(2000)   NULL DEFAULT NULL COMMENT '修改后内容',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `s_content`       varchar(2000)   NULL DEFAULT NULL,
    `user_content`    varchar(2000)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '消息操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_role
-- ----------------------------
DROP TABLE IF EXISTS `chat_role`;
CREATE TABLE `chat_role`
(
    `role_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `role_name`        varchar(200)   NULL DEFAULT NULL COMMENT '角色名',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '所属公司',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `role_type`        tinyint(1) NULL DEFAULT NULL COMMENT '角色类型',
    `config_json`      varchar(2000)   NULL DEFAULT NULL COMMENT '角色配置',
    `mode`             tinyint(1) NULL DEFAULT NULL COMMENT '模型1chatgpt 2文心一言',
    `kf_id`            varchar(50)   NULL DEFAULT NULL COMMENT '客服ID',
    `kf_url`           varchar(200)   NULL DEFAULT NULL COMMENT '客服URL',
    `kf_media_id`      varchar(100)   NULL DEFAULT NULL,
    `mode_config_json` varchar(2000)   NULL DEFAULT NULL COMMENT '模型JSON',
    `avatar`           varchar(500)   NULL DEFAULT NULL COMMENT '头像',
    PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '聊天角色表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_session
-- ----------------------------
DROP TABLE IF EXISTS `chat_session`;
CREATE TABLE `chat_session`
(
    `session_id`       bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `session_code`     varchar(50)   NULL DEFAULT NULL COMMENT '会话标识',
    `user_id`          varchar(200)   NULL DEFAULT NULL COMMENT '客户ID',
    `kf_id`            varchar(200)   NULL DEFAULT NULL COMMENT '客服ID',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '结束时间',
    `status`           tinyint(1) NULL DEFAULT NULL COMMENT '状态 1会话中 2已结束',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司ID',
    `is_look`          tinyint NULL DEFAULT 0,
    `baidu_session_id` varchar(100)   NULL DEFAULT NULL,
    `user_type`        tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `nick_name`        varchar(200)   NULL DEFAULT NULL,
    `avatar`           varchar(200)   NULL DEFAULT NULL,
    PRIMARY KEY (`session_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会话表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for chat_user
-- ----------------------------
DROP TABLE IF EXISTS `chat_user`;
CREATE TABLE `chat_user`
(
    `user_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `external_userid` varchar(200)   NULL DEFAULT NULL COMMENT '微信客户 external_userid',
    `avatar`          varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `nickname`        varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `gender`          tinyint(1) NULL DEFAULT NULL COMMENT '性别',
    `unionid`         varchar(200)   NULL DEFAULT NULL COMMENT 'unionid',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for cid_ipad_return_address
-- ----------------------------
DROP TABLE IF EXISTS `cid_ipad_return_address`;
CREATE TABLE `cid_ipad_return_address`
(
    `id`         int NOT NULL COMMENT '主键',
    `return_url` varchar(255)   NULL DEFAULT NULL COMMENT '回调地址',
    `link_id`    int NULL DEFAULT NULL COMMENT '连接id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = 'cid消息回调地址' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for cid_ipad_return_message
-- ----------------------------
DROP TABLE IF EXISTS `cid_ipad_return_message`;
CREATE TABLE `cid_ipad_return_message`
(
    `id`      int NOT NULL COMMENT '主键',
    `from_id` varchar(255)   NULL DEFAULT NULL COMMENT '发送人id',
    `from_ip` varchar(255)   NULL DEFAULT NULL,
    `content` text   NULL COMMENT '发送内容',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '消息回调记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for cid_ipad_server
-- ----------------------------
DROP TABLE IF EXISTS `cid_ipad_server`;
CREATE TABLE `cid_ipad_server`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `title`       varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `address_id`  varchar(255)   NULL DEFAULT NULL COMMENT '地址',
    `ip`          varchar(20)   NULL DEFAULT NULL COMMENT 'ip',
    `port`        varchar(20)   NULL DEFAULT NULL COMMENT '端口号',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT 'url',
    `total_count` int NULL DEFAULT NULL COMMENT '总数',
    `count`       int NULL DEFAULT NULL COMMENT '剩余数量',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `group_no`    int NULL DEFAULT NULL,
    `create_by`   varchar(255)   NULL DEFAULT NULL,
    `update_by`   varchar(255)   NULL DEFAULT NULL,
    `proxy`       varchar(255)   NULL DEFAULT NULL COMMENT '代理',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `address_id`(`address_id` ASC) USING BTREE,
    INDEX         `count`(`count` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ipad服务器' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for cid_ipad_server_user
-- ----------------------------
DROP TABLE IF EXISTS `cid_ipad_server_user`;
CREATE TABLE `cid_ipad_server_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `server_id`       bigint NULL DEFAULT NULL COMMENT '服务器id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `remark`          varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `server_id`(`server_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ipad用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company
-- ----------------------------
DROP TABLE IF EXISTS `company`;
CREATE TABLE `company`
(
    `company_id`               int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_name`             varchar(50)   NULL DEFAULT NULL COMMENT '企业名',
    `company_mobile`           varchar(20)   NULL DEFAULT NULL COMMENT '联系电话',
    `company_address`          varchar(200)   NULL DEFAULT NULL COMMENT '地址',
    `create_time`              datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`              datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`                   tinyint(1) NULL DEFAULT 0 COMMENT '状态',
    `start_time`               datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间',
    `limit_time`               datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '到期时间',
    `money`                    decimal(11, 3) NULL DEFAULT 0.000 COMMENT '余额',
    `tui_money`                decimal(11, 3) NULL DEFAULT 0.000 COMMENT '推广佣金',
    `voice_api_id`             int NULL DEFAULT NULL COMMENT '呼叫接口ID',
    `voice_caller_number`      int NULL DEFAULT 0 COMMENT '坐席数量',
    `company_type`             tinyint(1) NULL DEFAULT NULL COMMENT '企业类型 1企业 2个人',
    `user_id`                  int NULL DEFAULT NULL COMMENT '管理员ID',
    `app_id`                   varchar(32)   NULL DEFAULT NULL COMMENT 'APP ID',
    `app_key`                  varchar(32)   NULL DEFAULT NULL COMMENT '接口APP密钥',
    `remark`                   varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `link_name`                varchar(50)   NULL DEFAULT NULL COMMENT '联系人',
    `limit_user_count`         int NULL DEFAULT NULL COMMENT '限制用户数量',
    `corp_id`                  int NULL DEFAULT NULL COMMENT '企业微信ID',
    `corp_agent_id`            int NULL DEFAULT NULL COMMENT '企业微信代理ID',
    `corp_json`                varchar(2000)   NULL DEFAULT NULL COMMENT '企业微信JSON',
    `is_del`                   tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `oms_code`                 varchar(50)   NULL DEFAULT NULL COMMENT '物流代收号',
    `red_package_money`        decimal(11, 2) NULL DEFAULT 0.00 COMMENT '红包余额',
    `fs_user_is_default_black` tinyint(1) NULL DEFAULT 0 COMMENT '会员是否默认黑名单，1-是；0-否（用于销售分享成为会员的操作）',
    `manager`                  varchar(50)   NULL DEFAULT NULL COMMENT '商务负责人',
    `follow_doctor_ids`        varchar(255)   NULL DEFAULT NULL,
    `join_type`                tinyint NULL DEFAULT NULL COMMENT '加盟类型 1：直营 2：加盟',
    `doctor_ids`               varchar(255)   NULL DEFAULT NULL COMMENT '医生',
    `address_id`               varchar(255)   NULL DEFAULT NULL,
    `restart_time`             varchar(255)   NULL DEFAULT NULL,
    `package_cate_ids`         varchar(255)   NULL DEFAULT NULL COMMENT '套餐包分类id',
    `repeat`                   int NULL DEFAULT 0 COMMENT '是否开启重粉无法观看课程 0 关闭 1 开启',
    `send_if_type`             int NULL DEFAULT 0 COMMENT '发送判断类型（0评级，1总完课天数，2连续完课天数）',
    `if_num`                   int NULL DEFAULT NULL COMMENT '判断数量',
    `group_name`               varchar(15)   NULL DEFAULT NULL COMMENT '掉线通知群名称',
    `course_ma_app_id`         varchar(50)   NULL DEFAULT NULL COMMENT '点播配置-公众号appId',
    `course_mini_app_id`       varchar(50)   NULL DEFAULT NULL COMMENT '点播配置-小程序appId',
    `max_pad_num`              int NULL DEFAULT -1 COMMENT 'pad 分配最大数量',
    `custom_mini_app_id`       varchar(50)   NULL DEFAULT NULL COMMENT '自定义小程序',
    `dept_id`                  int NULL DEFAULT NULL COMMENT '所属部门id',
    `open_red_packet`          tinyint NULL DEFAULT 1 COMMENT '是否开启红包 0关闭 1开启',
    `company_belong_owner`     varchar(50)   NULL DEFAULT NULL COMMENT '经销售归属',
    `live_show`                int NULL DEFAULT NULL COMMENT '直播是否展示',
    `is_open_rest_reminder`    tinyint NULL DEFAULT NULL COMMENT '控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开',
    PRIMARY KEY (`company_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_bill
-- ----------------------------
DROP TABLE IF EXISTS `company_bill`;
CREATE TABLE `company_bill`
(
    `bill_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '会员ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '金额',
    `balance`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `bill_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `business_id` varchar(20)   NULL DEFAULT NULL COMMENT '关联ID',
    PRIMARY KEY (`bill_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '帐单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_company_fsuser
-- ----------------------------
DROP TABLE IF EXISTS `company_company_fsuser`;
CREATE TABLE `company_company_fsuser`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `company_id`      bigint NOT NULL COMMENT '公司id',
    `company_user_id` bigint NOT NULL COMMENT '销售id',
    `user_id`         bigint NOT NULL COMMENT '会员id',
    `qw_contact_id`   bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `bind_type`       tinyint NULL DEFAULT NULL COMMENT '绑定类型 0:链接二维码 1:看课 2:添加企业微信',
    `status`          int    NOT NULL COMMENT '状态 0:禁用 1:正常',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '销售绑定用户表(一个用户绑定唯一一个销售)' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_config
-- ----------------------------
DROP TABLE IF EXISTS `company_config`;
CREATE TABLE `company_config`
(
    `config_id`    int NOT NULL AUTO_INCREMENT COMMENT '参数主键',
    `config_name`  varchar(100)   NULL DEFAULT '' COMMENT '参数名称',
    `config_key`   varchar(100)   NULL DEFAULT '' COMMENT '参数键名',
    `config_value` varchar(2000)   NULL DEFAULT '' COMMENT '参数键值',
    `config_type`  char(1)   NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
    `create_by`    varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`    varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`       varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `company_id`   int NULL DEFAULT NULL COMMENT '企业ID',
    PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_course_redpacket
-- ----------------------------
DROP TABLE IF EXISTS `company_course_redpacket`;
CREATE TABLE `company_course_redpacket`
(
    `id`               bigint         NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id`       bigint         NOT NULL COMMENT '公司ID',
    `video_id`         bigint         NOT NULL COMMENT '课程小节ID',
    `red_packet_money` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '红包价格',
    `status`           tinyint NULL DEFAULT 1 COMMENT '状态：0-禁用，1-启用',
    `created_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_company_vedio`(`company_id` ASC, `video_id` ASC) USING BTREE,
    INDEX              `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX              `idx_video_id`(`video_id` ASC) USING BTREE,
    INDEX              `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '公司自动发课课程红包绑定表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_deduct
-- ----------------------------
DROP TABLE IF EXISTS `company_deduct`;
CREATE TABLE `company_deduct`
(
    `deduct_id`      int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `deduct_no`      varchar(50)   NULL DEFAULT NULL COMMENT '扣款单号',
    `company_id`     int NOT NULL COMMENT '公司ID',
    `money`          decimal(11, 2) NULL DEFAULT NULL COMMENT '金额',
    `balance`        decimal(11, 2) NULL DEFAULT NULL COMMENT '余额',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_user_id` int NULL DEFAULT NULL COMMENT '提交人',
    `is_audit`       tinyint(1) NULL DEFAULT 0 COMMENT '审核状态',
    `audit_user_id`  int NULL DEFAULT NULL COMMENT '审核人',
    `audit_time`     datetime NULL DEFAULT NULL COMMENT '审核时间',
    `remark`         varchar(2000)   NULL DEFAULT NULL,
    `business_type`  tinyint NULL DEFAULT 0 COMMENT '业务类型（0-普通 1-红包扣款）',
    PRIMARY KEY (`deduct_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '扣款表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_dept
-- ----------------------------
DROP TABLE IF EXISTS `company_dept`;
CREATE TABLE `company_dept`
(
    `dept_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '部门id',
    `parent_id`   bigint NULL DEFAULT 0 COMMENT '父部门id',
    `ancestors`   varchar(50)   NULL DEFAULT '' COMMENT '祖级列表',
    `dept_name`   longtext   NULL COMMENT '部门名称',
    `order_num`   int NULL DEFAULT 0 COMMENT '显示顺序',
    `leader`      varchar(20)   NULL DEFAULT NULL COMMENT '负责人',
    `phone`       varchar(11)   NULL DEFAULT NULL COMMENT '联系电话',
    `email`       varchar(50)   NULL DEFAULT NULL COMMENT '邮箱',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
    `del_flag`    char(1)   NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '部门表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_div_config
-- ----------------------------
DROP TABLE IF EXISTS `company_div_config`;
CREATE TABLE `company_div_config`
(
    `company_id`      bigint                                                  NOT NULL COMMENT '公司id',
    `company_name`    varchar(100)   NOT NULL COMMENT '公司名称',
    `div_flag`        tinyint                                                 NOT NULL COMMENT '是否开启分账 0:否 1:是',
    `delay_acct_flag` char(1)   NULL DEFAULT NULL COMMENT '分账模式 Y:延迟分账 N:实时分账',
    `percentage_flag` char(1)   NULL DEFAULT NULL COMMENT '是否使用百分比分账',
    `is_clean_split`  char(1)   NULL DEFAULT NULL COMMENT '是否净值分账',
    `acct_infos`      varchar(1000)   NULL DEFAULT NULL COMMENT '分账对象',
    `create_time`     datetime NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_div_item
-- ----------------------------
DROP TABLE IF EXISTS `company_div_item`;
CREATE TABLE `company_div_item`
(
    `id`            bigint                                                       NOT NULL AUTO_INCREMENT,
    `order_code`    varchar(50)   NOT NULL COMMENT '订单编号',
    `pay_code`      varchar(50)   NOT NULL COMMENT '支付订单号',
    `detail`        varchar(1000)   NULL DEFAULT NULL COMMENT '分账明细',
    `is_delay`      tinyint NULL DEFAULT NULL COMMENT '是否延迟分账 0否 1是',
    `is_pay`        tinyint                                                      NOT NULL DEFAULT 0 COMMENT '是否支付成功 0否 1是',
    `is_refund`     tinyint                                                      NOT NULL DEFAULT 0 COMMENT '是否退款 0否 1是',
    `create_time`   datetime NULL DEFAULT NULL,
    `update_time`   datetime NULL DEFAULT NULL,
    `refund_detail` varchar(1000)   NULL DEFAULT NULL COMMENT '退款明细',
    `delay_status`  tinyint NULL DEFAULT NULL COMMENT '延迟交易状态: (实时分账 null) 0:未确认 1:已确认',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `order_code`(`order_code` ASC) USING BTREE,
    INDEX           `pay_code`(`pay_code` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '分账明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_domain
-- ----------------------------
DROP TABLE IF EXISTS `company_domain`;
CREATE TABLE `company_domain`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '域名id',
    `domain`      varchar(255)   NOT NULL COMMENT '域名',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`      tinyint NULL DEFAULT NULL COMMENT '状态（0未启用、1启用）',
    `create_by`   bigint NULL DEFAULT NULL,
    `update_by`   bigint NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_domain_status`(`domain` ASC, `status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '域名表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_domain_bind
-- ----------------------------
DROP TABLE IF EXISTS `company_domain_bind`;
CREATE TABLE `company_domain_bind`
(
    `id`          bigint   NOT NULL AUTO_INCREMENT COMMENT '域名绑定中间表',
    `company_id`  bigint   NOT NULL COMMENT '销售公司ID',
    `domain_id`   bigint   NOT NULL COMMENT '绑定域名ID',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`      tinyint NULL DEFAULT NULL COMMENT '状态',
    `create_by`   bigint NULL DEFAULT NULL,
    `update_by`   bigint NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_domainId_companyId`(`company_id` ASC, `domain_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '域名绑定销售公司表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_domain_bind_user
-- ----------------------------
DROP TABLE IF EXISTS `company_domain_bind_user`;
CREATE TABLE `company_domain_bind_user`
(
    `id`              bigint   NOT NULL AUTO_INCREMENT COMMENT '中间表id',
    `company_user_id` bigint   NOT NULL COMMENT '企业销售id',
    `bind_id`         bigint   NOT NULL COMMENT '中间表id',
    `create_time`     datetime NOT NULL,
    `create_by`       bigint NULL DEFAULT NULL,
    `update_by`       bigint NULL DEFAULT NULL COMMENT '更新人',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`          tinyint NULL DEFAULT NULL COMMENT '状态（0未启用、1启用）',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_bind_id_company_user_id`(`bind_id` ASC, `company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_extract
-- ----------------------------
DROP TABLE IF EXISTS `company_extract`;
CREATE TABLE `company_extract`
(
    `extract_id`    bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `company_id`    bigint UNSIGNED NULL DEFAULT NULL,
    `real_name`     varchar(64)   NULL DEFAULT NULL COMMENT '名称',
    `extract_type`  varchar(32)   NULL DEFAULT 'bank' COMMENT 'bank = 银行卡 alipay = 支付宝wx=微信',
    `bank_code`     varchar(32)   NULL DEFAULT '0' COMMENT '银行卡',
    `bank_address`  varchar(256)   NULL DEFAULT '' COMMENT '开户地址',
    `alipay_code`   varchar(64)   NULL DEFAULT '' COMMENT '支付宝账号',
    `extract_price` decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '提现金额',
    `mark`          varchar(512)   NULL DEFAULT NULL,
    `balance`       decimal(8, 2) UNSIGNED NULL DEFAULT 0.00,
    `fail_msg`      varchar(128)   NULL DEFAULT NULL COMMENT '无效原因',
    `fail_time`     datetime NULL DEFAULT NULL,
    `create_time`   datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `status`        tinyint NULL DEFAULT 0 COMMENT '-1 未通过 0 审核中 1 已提现',
    `wechat`        varchar(50)   NULL DEFAULT NULL COMMENT '微信号',
    `is_del`        tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`extract_id`) USING BTREE,
    INDEX           `extract_type`(`extract_type` ASC) USING BTREE,
    INDEX           `status`(`status` ASC) USING BTREE,
    INDEX           `add_time`(`create_time` ASC) USING BTREE,
    INDEX           `fail_time`(`fail_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '提现表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_fs_user
-- ----------------------------
DROP TABLE IF EXISTS `company_fs_user`;
CREATE TABLE `company_fs_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `fs_user_id`      bigint NULL DEFAULT NULL COMMENT 'fs_user 用户id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT 'company_user 销售id',
    `status`          int NULL DEFAULT NULL COMMENT '绑定状态 1绑定',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_link
-- ----------------------------
DROP TABLE IF EXISTS `company_link`;
CREATE TABLE `company_link`
(
    `id`              bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `link`            varchar(255)   NULL DEFAULT NULL COMMENT '真实链接',
    `suffix`          varchar(8)   NULL DEFAULT NULL COMMENT '生成后缀',
    `sort_link`       varchar(255)   NULL DEFAULT NULL COMMENT '短链',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `course_id`       int NULL DEFAULT NULL COMMENT '课程id',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '课节id',
    `type`            int NULL DEFAULT NULL COMMENT '类型(1:课程链接 2:群管链接 3:会员链接)',
    `limit_time`      varchar(255)   NULL DEFAULT NULL COMMENT '时间',
    `create_time`     datetime NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL COMMENT '过期时间 ',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_logininfor
-- ----------------------------
DROP TABLE IF EXISTS `company_logininfor`;
CREATE TABLE `company_logininfor`
(
    `info_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID',
    `user_name`      varchar(50)   NULL DEFAULT '' COMMENT '用户账号',
    `ipaddr`         varchar(50)   NULL DEFAULT '' COMMENT '登录IP地址',
    `login_location` varchar(255)   NULL DEFAULT '' COMMENT '登录地点',
    `browser`        varchar(50)   NULL DEFAULT '' COMMENT '浏览器类型',
    `os`             varchar(50)   NULL DEFAULT '' COMMENT '操作系统',
    `status`         char(1)   NULL DEFAULT '0' COMMENT '登录状态（0成功 1失败）',
    `msg`            varchar(2000)   NULL DEFAULT '' COMMENT '提示消息',
    `login_time`     datetime NULL DEFAULT NULL COMMENT '访问时间',
    `company_id`     int NULL DEFAULT NULL,
    PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_menu
-- ----------------------------
DROP TABLE IF EXISTS `company_menu`;
CREATE TABLE `company_menu`
(
    `menu_id`     bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
    `menu_name`   varchar(50)   NOT NULL COMMENT '菜单名称',
    `parent_id`   bigint NULL DEFAULT 0 COMMENT '父菜单ID',
    `order_num`   int NULL DEFAULT 0 COMMENT '显示顺序',
    `path`        varchar(200)   NULL DEFAULT '' COMMENT '路由地址',
    `component`   varchar(255)   NULL DEFAULT NULL COMMENT '组件路径',
    `is_frame`    int NULL DEFAULT 1 COMMENT '是否为外链（0是 1否）',
    `is_cache`    int NULL DEFAULT 0 COMMENT '是否缓存（0缓存 1不缓存）',
    `menu_type`   char(1)   NULL DEFAULT '' COMMENT '菜单类型（M目录 C菜单 F按钮）',
    `visible`     char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0显示 1隐藏）',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0正常 1停用）',
    `perms`       varchar(100)   NULL DEFAULT NULL COMMENT '权限标识',
    `icon`        varchar(100)   NULL DEFAULT '#' COMMENT '菜单图标',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT '' COMMENT '备注',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for company_menu_copy8.28
-- ----------------------------
DROP TABLE IF EXISTS `company_menu_copy8.28`;
CREATE TABLE `company_menu_copy8.28`
(
    `menu_id`     bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
    `menu_name`   varchar(50)   NOT NULL COMMENT '菜单名称',
    `parent_id`   bigint NULL DEFAULT 0 COMMENT '父菜单ID',
    `order_num`   int NULL DEFAULT 0 COMMENT '显示顺序',
    `path`        varchar(200)   NULL DEFAULT '' COMMENT '路由地址',
    `component`   varchar(255)   NULL DEFAULT NULL COMMENT '组件路径',
    `is_frame`    int NULL DEFAULT 1 COMMENT '是否为外链（0是 1否）',
    `is_cache`    int NULL DEFAULT 0 COMMENT '是否缓存（0缓存 1不缓存）',
    `menu_type`   char(1)   NULL DEFAULT '' COMMENT '菜单类型（M目录 C菜单 F按钮）',
    `visible`     char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0显示 1隐藏）',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0正常 1停用）',
    `perms`       varchar(100)   NULL DEFAULT NULL COMMENT '权限标识',
    `icon`        varchar(100)   NULL DEFAULT '#' COMMENT '菜单图标',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT '' COMMENT '备注',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_miniapp
-- ----------------------------
DROP TABLE IF EXISTS `company_miniapp`;
CREATE TABLE `company_miniapp`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '销售公司ID',
    `app_id`      varchar(255)   NULL DEFAULT NULL COMMENT '小程序appid',
    `type`        int NULL DEFAULT NULL COMMENT '主从 0主小程序1备用小程序',
    `sort_num`    int NULL DEFAULT NULL COMMENT '排序',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `company_id`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '销售公司小程序' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_money_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_money_logs`;
CREATE TABLE `company_money_logs`
(
    `logs_id`     int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    `money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '金额',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `balance`     decimal(11, 2) NULL DEFAULT NULL COMMENT '余额',
    `logs_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型 1转账 2 扣款 3充值 4订单收入 5 ',
    `business_id` varchar(200)   NULL DEFAULT NULL COMMENT '业务ID',
    `imgs`        varchar(2048)   NULL DEFAULT NULL COMMENT '凭证',
    `type`        tinyint(1) NULL DEFAULT NULL COMMENT '订单类型',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX         `company_id`(`company_id` ASC) USING BTREE,
    INDEX         `logs_type`(`logs_type` ASC) USING BTREE,
    INDEX         `business_id`(`business_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业账户记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_oper_log
-- ----------------------------
DROP TABLE IF EXISTS `company_oper_log`;
CREATE TABLE `company_oper_log`
(
    `oper_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
    `title`          varchar(50)   NULL DEFAULT '' COMMENT '模块标题',
    `business_type`  int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除）',
    `method`         varchar(100)   NULL DEFAULT '' COMMENT '方法名称',
    `request_method` varchar(10)   NULL DEFAULT '' COMMENT '请求方式',
    `operator_type`  int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
    `oper_name`      varchar(50)   NULL DEFAULT '' COMMENT '操作人员',
    `dept_name`      varchar(50)   NULL DEFAULT '' COMMENT '部门名称',
    `oper_url`       varchar(2000)   NULL DEFAULT '' COMMENT '请求URL',
    `oper_ip`        varchar(50)   NULL DEFAULT '' COMMENT '主机地址',
    `oper_location`  varchar(255)   NULL DEFAULT '' COMMENT '操作地点',
    `oper_param`     longtext   NULL COMMENT '请求参数',
    `json_result`    varchar(2000)   NULL DEFAULT '' COMMENT '返回参数',
    `status`         int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
    `error_msg`      varchar(2000)   NULL DEFAULT '' COMMENT '错误消息',
    `oper_time`      datetime NULL DEFAULT NULL COMMENT '操作时间',
    `company_id`     int NULL DEFAULT NULL,
    PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_post
-- ----------------------------
DROP TABLE IF EXISTS `company_post`;
CREATE TABLE `company_post`
(
    `post_id`     bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
    `post_code`   varchar(64)   NOT NULL COMMENT '岗位编码',
    `post_name`   varchar(50)   NOT NULL COMMENT '岗位名称',
    `post_sort`   int                                                    NOT NULL COMMENT '显示顺序',
    `status`      char(1)       NOT NULL COMMENT '状态（0正常 1停用）',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `company_id`  int NULL DEFAULT NULL,
    PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_profit
-- ----------------------------
DROP TABLE IF EXISTS `company_profit`;
CREATE TABLE `company_profit`
(
    `profit_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`       bigint   NOT NULL COMMENT '公司ID',
    `bank_name`        varchar(255)   NULL DEFAULT NULL COMMENT '银行名称',
    `bank_branch_name` varchar(255)   NULL DEFAULT NULL COMMENT '银行支行名称',
    `bank_card_no`     varchar(255)   NULL DEFAULT NULL COMMENT '银行卡号',
    `bank_user_name`   varchar(255)   NULL DEFAULT NULL COMMENT '银行开户名',
    `money`            decimal(11, 2) NULL DEFAULT NULL COMMENT '提现金额',
    `balances`         decimal(11, 2) NULL DEFAULT NULL COMMENT '余额',
    `profit_status`    tinyint  NOT NULL DEFAULT 1 COMMENT '提现状态（0待商务审核，1待财务审核，2待付款 3已完成 -1已取消',
    `profit_type`      tinyint(1) NULL DEFAULT NULL COMMENT '提现类型 1微信 2支付宝 3银行卡',
    `remark`           varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`      datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `img_url`          varchar(200)   NULL DEFAULT NULL COMMENT '凭证',
    PRIMARY KEY (`profit_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '提现表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_profit_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_profit_logs`;
CREATE TABLE `company_profit_logs`
(
    `logs_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `profit_id`   bigint NULL DEFAULT NULL COMMENT '提现ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `reason`      varchar(500)   NULL DEFAULT NULL COMMENT '原因',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '提现审核记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_recharge
-- ----------------------------
DROP TABLE IF EXISTS `company_recharge`;
CREATE TABLE `company_recharge`
(
    `recharge_id`    int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`     int NULL DEFAULT NULL COMMENT '企业ID',
    `recharge_no`    varchar(20)   NULL DEFAULT NULL COMMENT '充值订单号',
    `money`          decimal(10, 2) NULL DEFAULT NULL COMMENT '金额',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `pay_time`       datetime NULL DEFAULT NULL COMMENT '支付时间',
    `status`         tinyint(1) NULL DEFAULT NULL COMMENT '状态 0未支付 1已支付',
    `pay_type`       tinyint(1) NULL DEFAULT NULL COMMENT '支付类型 1微信 2支付宝 3人工转账',
    `trade_no`       varchar(50)   NULL DEFAULT NULL COMMENT '外部订单号',
    `balance`        decimal(11, 2) NULL DEFAULT NULL COMMENT '余额',
    `create_user_id` int NULL DEFAULT NULL COMMENT '提交人',
    `is_audit`       tinyint(1) NULL DEFAULT 0 COMMENT '审核状态 0待审核 1已审核',
    `audit_user_id`  int NULL DEFAULT NULL COMMENT '审核人',
    `audit_time`     datetime NULL DEFAULT NULL COMMENT '审核时间',
    `remark`         varchar(2000)   NULL DEFAULT NULL,
    `business_type`  tinyint NULL DEFAULT 0 COMMENT '业务类型（0-普通，1-红包充值）',
    `imgs`           varchar(500)   NULL DEFAULT NULL COMMENT '凭证',
    PRIMARY KEY (`recharge_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '充值表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_recharge_order
-- ----------------------------
DROP TABLE IF EXISTS `company_recharge_order`;
CREATE TABLE `company_recharge_order`
(
    `id`               bigint                                                       NOT NULL DEFAULT 0 COMMENT '主键ID',
    `order_no`         varchar(64)   NOT NULL COMMENT '订单号',
    `transaction_id`   varchar(64)   NULL DEFAULT NULL COMMENT '支付平台交易号',
    `pay_type`         tinyint NULL DEFAULT NULL COMMENT '支付方式：1-微信 2-支付宝 3-银行卡 4-其他',
    `pay_amount`       decimal(12, 2)                                               NOT NULL COMMENT '支付金额',
    `pay_status`       tinyint                                                      NOT NULL DEFAULT 0 COMMENT '支付状态：0-创建 1-处理中 2-支付成功 3-支付失败',
    `payment_time`     datetime NULL DEFAULT NULL COMMENT '支付时间',
    `callback_content` text   NULL COMMENT '回调内容',
    `create_time`      datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`      datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `user_id`          bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id'
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_red_package_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_red_package_logs`;
CREATE TABLE `company_red_package_logs`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '销售公司',
    `operate_type`  int NULL DEFAULT NULL COMMENT '操作类型;0充值1发红包',
    `type`          int NULL DEFAULT NULL COMMENT '类型;0增加1减少',
    `up_money`      decimal(11, 2) NULL DEFAULT NULL COMMENT '充值金额',
    `handl_money`   decimal(11, 2) NULL DEFAULT NULL COMMENT '手续费',
    `handl_pri`     decimal(11, 2) NULL DEFAULT NULL COMMENT '手续费比例',
    `money`         decimal(11, 2) NULL DEFAULT NULL COMMENT '到账金额',
    `status`        int NULL DEFAULT 0 COMMENT '状态;0待审核1审核通过2审核拒绝',
    `images`        varchar(900)   NULL DEFAULT NULL COMMENT '凭证照片',
    `reject_memo`   varchar(900)   NULL DEFAULT NULL COMMENT '拒绝愿意',
    `reject_images` varchar(900)   NULL DEFAULT NULL COMMENT '拒绝图片',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`     bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`     bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`        varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `course_id`     bigint NULL DEFAULT NULL COMMENT '课程id',
    `period_id`     bigint NULL DEFAULT NULL COMMENT '营期Id',
    `watch_log_id`  int NULL DEFAULT NULL COMMENT '观看日志id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '公司红包余额日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_red_packet_balance_deduction_record
-- ----------------------------
DROP TABLE IF EXISTS `company_red_packet_balance_deduction_record`;
CREATE TABLE `company_red_packet_balance_deduction_record`
(
    `id`            bigint         NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`    bigint         NOT NULL COMMENT '企业ID',
    `red_packet_id` bigint NULL DEFAULT NULL COMMENT '红包记录ID',
    `money`         decimal(11, 2) NOT NULL COMMENT '扣减红包金额',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '修改时间',
    `status`        tinyint NULL DEFAULT 0 COMMENT '是否处理状态（0初始化，1已扣减 2已作废）',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `idx_company`(`company_id` ASC) USING BTREE,
    INDEX           `idx_red_packet_id`(`red_packet_id` ASC) USING BTREE,
    INDEX           `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业红包余额扣减记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_red_packet_balance_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_red_packet_balance_logs`;
CREATE TABLE `company_red_packet_balance_logs`
(
    `logs_id`       bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '企业ID',
    `money`         decimal(11, 2) NULL DEFAULT NULL COMMENT '金额',
    `remark`        varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `balance`       decimal(11, 2) NULL DEFAULT NULL COMMENT '余额',
    `logs_type`     tinyint(1) NULL DEFAULT NULL COMMENT '类型 字典字段',
    `status`        tinyint NULL DEFAULT 0 COMMENT '是否处理状态（0-初始化，1-已同步）',
    `red_packet_id` bigint NULL DEFAULT NULL COMMENT '红包记录id',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX           `company_id`(`company_id` ASC) USING BTREE,
    INDEX           `logs_type`(`logs_type` ASC) USING BTREE,
    INDEX           `company_red_packet_balance_logs_create_time_IDX`(`create_time` ASC) USING BTREE,
    INDEX           `company_red_packet_balance_logs_status_IDX`(`status` ASC) USING BTREE,
    INDEX           `company_red_packet_balance_logs_red_packet_id_IDX`(`red_packet_id` ASC, `logs_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业红包余额记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_role
-- ----------------------------
DROP TABLE IF EXISTS `company_role`;
CREATE TABLE `company_role`
(
    `role_id`             bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '角色ID',
    `role_name`           varchar(30)    NOT NULL COMMENT '角色名称',
    `role_key`            varchar(100)   NOT NULL COMMENT '角色权限字符串',
    `role_sort`           int                                                     NOT NULL COMMENT '显示顺序',
    `data_scope`          char(1)   NULL DEFAULT '1' COMMENT '数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）',
    `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
    `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
    `status`              char(1)        NOT NULL COMMENT '角色状态（0正常 1停用）',
    `del_flag`            char(1)   NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `create_by`           varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`           varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`              varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `company_id`          int NULL DEFAULT NULL,
    PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_role_dept
-- ----------------------------
DROP TABLE IF EXISTS `company_role_dept`;
CREATE TABLE `company_role_dept`
(
    `role_id`    bigint NOT NULL COMMENT '角色ID',
    `dept_id`    bigint NOT NULL COMMENT '部门ID',
    `company_id` int NULL DEFAULT NULL,
    PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_role_menu
-- ----------------------------
DROP TABLE IF EXISTS `company_role_menu`;
CREATE TABLE `company_role_menu`
(
    `role_id`    bigint NOT NULL COMMENT '角色ID',
    `menu_id`    bigint NOT NULL COMMENT '菜单ID',
    `company_id` int NULL DEFAULT NULL,
    PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sms
-- ----------------------------
DROP TABLE IF EXISTS `company_sms`;
CREATE TABLE `company_sms`
(
    `sms_id`           int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司ID',
    `remain_sms_count` bigint NULL DEFAULT 0 COMMENT '剩余短信',
    `total_sms_count`  bigint NULL DEFAULT 0 COMMENT '总短信数',
    PRIMARY KEY (`sms_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '公司短信表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sms_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_sms_logs`;
CREATE TABLE `company_sms_logs`
(
    `logs_id`         int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司ID',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售ID',
    `customer_id`     int NULL DEFAULT NULL COMMENT '客户ID',
    `temp_id`         int NULL DEFAULT NULL COMMENT '模板ID',
    `temp_code`       varchar(50)   NULL DEFAULT NULL COMMENT '模板CODE',
    `phone`           varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `content`         varchar(200)   NULL DEFAULT NULL COMMENT '短信内容',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `send_time`       datetime NULL DEFAULT NULL COMMENT '发送时间',
    `status`          tinyint(1) NULL DEFAULT 1 COMMENT '状态',
    `mid`             varchar(50)   NULL DEFAULT NULL,
    `stat`            varchar(20)   NULL DEFAULT NULL,
    `reply_content`   varchar(200)   NULL DEFAULT NULL,
    `number`          int NULL DEFAULT 1 COMMENT '短信数量',
    `type`            varchar(10)   NULL DEFAULT NULL,
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短信发送记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sms_order
-- ----------------------------
DROP TABLE IF EXISTS `company_sms_order`;
CREATE TABLE `company_sms_order`
(
    `order_id`    int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_code`  varchar(20)   NULL DEFAULT NULL COMMENT '订单code',
    `package_id`  int NULL DEFAULT NULL COMMENT '套餐ID',
    `company_id`  int NULL DEFAULT NULL COMMENT '公司ID',
    `sms_count`   bigint NULL DEFAULT NULL COMMENT '短信条数',
    `price`       decimal(11, 2) NULL DEFAULT NULL COMMENT '订单金额',
    `pay_money`   decimal(11, 2) NULL DEFAULT 0.00 COMMENT '支付金额',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `pay_time`    datetime NULL DEFAULT NULL COMMENT '支付时间',
    `status`      tinyint(1) NULL DEFAULT 0 COMMENT '状诚 0待支付 1已支付',
    `create_by`   varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sms_package
-- ----------------------------
DROP TABLE IF EXISTS `company_sms_package`;
CREATE TABLE `company_sms_package`
(
    `package_id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `title`      varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `price`      decimal(11, 2) NULL DEFAULT NULL COMMENT '单价',
    `sms_count`  bigint NULL DEFAULT 0 COMMENT '数量',
    `remark`     varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `status`     tinyint NULL DEFAULT NULL COMMENT '状态',
    PRIMARY KEY (`package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短信套餐包' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sms_temp
-- ----------------------------
DROP TABLE IF EXISTS `company_sms_temp`;
CREATE TABLE `company_sms_temp`
(
    `temp_id`     int NOT NULL AUTO_INCREMENT COMMENT '模板ID',
    `company_id`  int NULL DEFAULT NULL COMMENT '所属公司',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '模板标题',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '模板内容',
    `temp_code`   varchar(50)   NULL DEFAULT NULL COMMENT '模板CODE',
    `temp_type`   tinyint(1) NULL DEFAULT NULL COMMENT '模板类型',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`      tinyint(1) NULL DEFAULT 1 COMMENT '状态',
    `cate_id`     tinyint(1) NULL DEFAULT NULL COMMENT '分类ID',
    `is_audit`    tinyint(1) NULL DEFAULT 0 COMMENT '是否审核',
    PRIMARY KEY (`temp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短信模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_sop_role
-- ----------------------------
DROP TABLE IF EXISTS `company_sop_role`;
CREATE TABLE `company_sop_role`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '销售公司',
    `role_name`   varchar(255)   NULL DEFAULT NULL COMMENT '权限名称',
    `role_value`  varchar(255)   NULL DEFAULT NULL COMMENT '权限值',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '公司SOP权限' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tag
-- ----------------------------
DROP TABLE IF EXISTS `company_tag`;
CREATE TABLE `company_tag`
(
    `tag_id`      int NOT NULL AUTO_INCREMENT,
    `company_id`  int NULL DEFAULT NULL COMMENT '企业id',
    `tag`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `create_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`tag_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tag_copy1
-- ----------------------------
DROP TABLE IF EXISTS `company_tag_copy1`;
CREATE TABLE `company_tag_copy1`
(
    `tag_id`      int NOT NULL AUTO_INCREMENT,
    `company_id`  int NULL DEFAULT NULL COMMENT '企业id',
    `tag`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `create_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`tag_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tag_group
-- ----------------------------
DROP TABLE IF EXISTS `company_tag_group`;
CREATE TABLE `company_tag_group`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `order`       varchar(255)   NULL DEFAULT NULL COMMENT '排序',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `company_id`  bigint NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更改时间',
    `group_from`  tinyint NULL DEFAULT NULL COMMENT '标签组来源 1 总后台 2销售',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `1`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '销售的客户标签组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tag_user
-- ----------------------------
DROP TABLE IF EXISTS `company_tag_user`;
CREATE TABLE `company_tag_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `tag_ids`         varchar(255)   NULL DEFAULT NULL COMMENT '标签id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '员工id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_company`(`company_id` ASC) USING BTREE,
    INDEX             `idx_company_user`(`company_user_id` ASC) USING BTREE,
    INDEX             `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tcm_consume
-- ----------------------------
DROP TABLE IF EXISTS `company_tcm_consume`;
CREATE TABLE `company_tcm_consume`
(
    `id`             bigint   NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `schedule_id`    bigint NULL DEFAULT NULL COMMENT '档期id',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `money`          decimal(11, 2) NULL DEFAULT 0.00 COMMENT '消费金额',
    `cu_count`       int NULL DEFAULT NULL COMMENT '团队人数',
    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `update_user_id` bigint NULL DEFAULT NULL COMMENT '修改者ID',
    `create_time`    datetime NOT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '公司档期消费\n' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tcm_report
-- ----------------------------
DROP TABLE IF EXISTS `company_tcm_report`;
CREATE TABLE `company_tcm_report`
(
    `id`              bigint   NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `schedule_id`     bigint NULL DEFAULT NULL COMMENT '档期id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `total_num`       bigint NULL DEFAULT NULL COMMENT '总进线',
    `register_num`    bigint NULL DEFAULT NULL COMMENT '注册数',
    `online_num`      bigint NULL DEFAULT NULL COMMENT '上线数',
    `finish_num`      bigint NULL DEFAULT NULL COMMENT '完课数',
    `register_rate`   decimal(11, 2) NULL DEFAULT 0.00 COMMENT '注册率',
    `online_rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '上线率',
    `finish_rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '完课率',
    `total_money`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '累计总业绩',
    `total_order`     int NULL DEFAULT NULL COMMENT '累计总单',
    `target_money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '目标业绩',
    `target_rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '目标完成率',
    `round1_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '一轮业绩',
    `round1_order`    int NULL DEFAULT NULL COMMENT '一轮单数',
    `round1_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '一轮转化率',
    `round1_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '一轮客单',
    `round2_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '二轮业绩',
    `round2_order`    int NULL DEFAULT NULL COMMENT '二轮单数',
    `round2_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '二轮转化率',
    `round2_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '二轮客单',
    `round3_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '三轮业绩',
    `round3_order`    int NULL DEFAULT NULL COMMENT '三轮单数',
    `round3_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '三轮转化率',
    `round3_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '三轮客单',
    `round4_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '四轮业绩',
    `round4_order`    int NULL DEFAULT NULL COMMENT '四轮单数',
    `round4_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '四轮转化率',
    `round4_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '四轮客单',
    `round5_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '五轮业绩',
    `round5_order`    int NULL DEFAULT NULL COMMENT '五轮单数',
    `round5_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '五轮转化率',
    `round5_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '五轮客单',
    `round6_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '六轮业绩',
    `round6_order`    int NULL DEFAULT NULL COMMENT '六轮单数',
    `round6_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '六轮转化率',
    `round6_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '六轮客单',
    `round7_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '七轮业绩',
    `round7_order`    int NULL DEFAULT NULL COMMENT '七轮单数',
    `round7_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '七轮转化率',
    `round7_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '七轮客单',
    `round8_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '八轮业绩',
    `round8_order`    int NULL DEFAULT NULL COMMENT '八轮单数',
    `round8_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '八轮转化率',
    `round8_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '八轮客单',
    `round9_Money`    decimal(11, 2) NULL DEFAULT 0.00 COMMENT '九轮业绩',
    `round9_order`    int NULL DEFAULT NULL COMMENT '九轮单数',
    `round9_Rate`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '九轮转化率',
    `round9_Unit`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '九轮客单',
    `create_user_id`  bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `update_user_id`  bigint NULL DEFAULT NULL COMMENT '修改者ID',
    `create_time`     datetime NOT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_tcm_schedule
-- ----------------------------
DROP TABLE IF EXISTS `company_tcm_schedule`;
CREATE TABLE `company_tcm_schedule`
(
    `id`             bigint   NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `name`           varchar(100)   NULL DEFAULT NULL COMMENT '档期名称',
    `status`         int NULL DEFAULT 1 COMMENT '档期状态  0禁用 1 正常',
    `create_time`    datetime NOT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `update_user_id` bigint NULL DEFAULT NULL COMMENT '修改者ID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '中医档期管理\n' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_traffic_record
-- ----------------------------
DROP TABLE IF EXISTS `company_traffic_record`;
CREATE TABLE `company_traffic_record`
(
    `id`           bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id`   bigint                                                        NOT NULL COMMENT '公司ID',
    `company_name` varchar(255)   NOT NULL COMMENT '公司名称',
    `balance`      bigint                                                        NOT NULL DEFAULT 0 COMMENT '流量余额(单位: KB)',
    `create_time`  datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`  datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_by`    int                                                           NOT NULL COMMENT '创建人',
    `update_by`    int NULL DEFAULT NULL COMMENT '修改人',
    `dept_id`      bigint                                                        NOT NULL COMMENT '部门ID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '销售公司流量记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_traffic_record_log
-- ----------------------------
DROP TABLE IF EXISTS `company_traffic_record_log`;
CREATE TABLE `company_traffic_record_log`
(
    `id`             bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id`     bigint                                                        NOT NULL COMMENT '公司ID',
    `user_id`        bigint                                                        NOT NULL COMMENT '操作人员ID',
    `user_name`      varchar(100)   NOT NULL COMMENT '操作人员姓名',
    `operation_type` tinyint                                                       NOT NULL COMMENT '操作类型: 1-充值 2-扣费',
    `traffic_amount` bigint NULL DEFAULT NULL COMMENT '流量变动数量(单位: KB)',
    `charge_amount`  bigint NULL DEFAULT NULL COMMENT '充值金额(单位: 元)',
    `balance`        bigint                                                        NOT NULL DEFAULT 0 COMMENT '操作后剩余流量(单位: KB)',
    `remark`         varchar(500)   NULL DEFAULT NULL COMMENT '备注说明',
    `create_time`    datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX            `idx_operator_id`(`user_id` ASC) USING BTREE,
    INDEX            `idx_create_time`(`create_time` ASC) USING BTREE,
    INDEX            `idx_operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '销售公司流量充值扣费记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user
-- ----------------------------
DROP TABLE IF EXISTS `company_user`;
CREATE TABLE `company_user`
(
    `user_id`                  bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `dept_id`                  bigint NULL DEFAULT NULL COMMENT '部门ID',
    `user_name`                varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户账号',
    `nick_name`                varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户昵称',
    `user_type`                varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '00' COMMENT '用户类型（00系统用户）',
    `email`                    varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户邮箱',
    `phonenumber`              varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '手机号码',
    `sex`                      char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '用户性别（0男 1女 2未知）',
    `avatar`                   varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '头像地址',
    `password`                 varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '密码',
    `status`                   char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '帐号状态（0正常 1停用）',
    `del_flag`                 char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `login_ip`                 varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '最后登录IP',
    `login_date`               datetime NULL DEFAULT NULL COMMENT '最后登录时间',
    `create_by`                varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
    `create_time`              datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`                varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
    `update_time`              datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`                   varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
    `open_id`                  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `id_card`                  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证号',
    `company_id`               int NULL DEFAULT NULL COMMENT '公司ID',
    `qr_code_weixin`           varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `qr_code_wecom`            varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `jpush_id`                 varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推送ID',
    `qw_user_id`               varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `qw_status`                int NULL DEFAULT 0,
    `voice_print_url`          varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '声纹url',
    `address_id`               varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `domain`                   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `parent_id`                int NULL DEFAULT NULL,
    `is_audit`                 tinyint(1) NULL DEFAULT 0 COMMENT '是否审核',
    `ma_open_id`               varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信小程序OPENID（如果有小程序授权）',
    `is_need_register_member`  tinyint(1) NULL DEFAULT 0 COMMENT '是否需要单独注册会员，1-是，0-否（用于个微销售分享看课）',
    `bind_code`                varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `is_allowed_all_register`  tinyint(1) NULL DEFAULT 1 COMMENT '是否允许所有方式注册会员，1-是，0-否，默认1（用于个微注册会员）',
    `doctor_id`                bigint NULL DEFAULT NULL COMMENT '医生id',
    `is_allowed_everyone_view` tinyint NULL DEFAULT 1 COMMENT '是否允许客户能在其他销售那里能看，1-是，2-否，默认1（用于企业微信客户和销售之间的关系）',
    `mp_open_id`               varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信服务号OPENID',
    `union_id`                 varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信unionid',
    `im_nick_name`             varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '健康管家昵称，用于App IM显示',
    `invitation_code`          varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邀请码',
    `cid_server_id`            bigint NULL DEFAULT NULL COMMENT 'cid服务id',
    `ai_sip_call_user_id`      bigint NULL DEFAULT NULL COMMENT 'sip外呼绑定用户id',
    PRIMARY KEY (`user_id`) USING BTREE,
    UNIQUE INDEX `username`(`user_name`) USING BTREE,
    INDEX                      `idcard`(`id_card`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '企业员工信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_card
-- ----------------------------
DROP TABLE IF EXISTS `company_user_card`;
CREATE TABLE `company_user_card`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'Id',
    `title`       varchar(50)   NULL DEFAULT NULL COMMENT '名片标题',
    `user_id`     bigint NOT NULL COMMENT '用户ID',
    `company_id`  int NULL DEFAULT NULL,
    `url_scheme`  varchar(100)   NULL DEFAULT NULL COMMENT 'url_scheme',
    `short_url`   varchar(255)   NULL DEFAULT NULL COMMENT '微信名片短链接',
    `image_url`   varchar(200)   NULL DEFAULT NULL COMMENT '名片图片地址',
    `type`        int NULL DEFAULT NULL COMMENT '0:个微 1:企微',
    `is_visit`    int NULL DEFAULT NULL COMMENT '是否访问过（0未访问 1已访问）',
    `look_num`    int NULL DEFAULT NULL COMMENT '名片访问次数',
    `person_num`  int NULL DEFAULT NULL COMMENT '名片访问人数',
    `ip_num`      int NULL DEFAULT NULL COMMENT '名片访问ip数',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_change_apply
-- ----------------------------
DROP TABLE IF EXISTS `company_user_change_apply`;
CREATE TABLE `company_user_change_apply`
(
    `id`         bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id` bigint                                                        NOT NULL COMMENT '公司ID',
    `from`       bigint                                                        NOT NULL COMMENT '原归属销售',
    `to`         bigint                                                        NOT NULL COMMENT '申请归属销售',
    `status`     tinyint NULL DEFAULT 0 COMMENT '审核状态 0待审核 1通过 2拒绝',
    `apply_by`   varchar(255)   NOT NULL COMMENT '申请人',
    `apply_time` datetime                                                      NOT NULL COMMENT '申请时间',
    `audit_by`   varchar(255)   NULL DEFAULT NULL COMMENT '审核人',
    `audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间',
    `reason`     varchar(500)   NULL DEFAULT NULL COMMENT '拒绝原因',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX        `idx_from`(`from` ASC) USING BTREE,
    INDEX        `idx_to`(`to` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '更换会员归属申请表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_change_apply_user
-- ----------------------------
DROP TABLE IF EXISTS `company_user_change_apply_user`;
CREATE TABLE `company_user_change_apply_user`
(
    `id`         bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `apply_id`   bigint NOT NULL COMMENT '申请ID',
    `user_id`    bigint NOT NULL COMMENT '会员ID',
    `project_id` bigint NULL DEFAULT NULL COMMENT '项目ID',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX        `idx_apply`(`apply_id` ASC) USING BTREE,
    INDEX        `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '更换会员归属用户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_delay_time
-- ----------------------------
DROP TABLE IF EXISTS `company_user_delay_time`;
CREATE TABLE `company_user_delay_time`
(
    `id`              int                                                          NOT NULL AUTO_INCREMENT COMMENT 'id主键',
    `company_id`      int                                                          NOT NULL COMMENT '公司id',
    `company_user_id` bigint                                                       NOT NULL COMMENT '员工id',
    `send_delay_time` int                                                          NOT NULL DEFAULT 0 COMMENT '发送延时时间(单位:秒)',
    `nick_name`       varchar(100)   NULL DEFAULT NULL COMMENT '员工用户昵称',
    `del_flag`        char(1)       NOT NULL DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `create_by`       varchar(64)   NOT NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`       varchar(64)   NOT NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `remark`          varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_company_user`(`company_id` ASC, `company_user_id` ASC) USING BTREE,
    INDEX             `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX             `idx_company_user_id`(`company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '员工发送延时时间关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_post
-- ----------------------------
DROP TABLE IF EXISTS `company_user_post`;
CREATE TABLE `company_user_post`
(
    `user_id`    bigint NOT NULL COMMENT '用户ID',
    `post_id`    bigint NOT NULL COMMENT '岗位ID',
    `company_id` int NULL DEFAULT NULL,
    PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_role
-- ----------------------------
DROP TABLE IF EXISTS `company_user_role`;
CREATE TABLE `company_user_role`
(
    `user_id`    bigint NOT NULL COMMENT '用户ID',
    `role_id`    bigint NOT NULL COMMENT '角色ID',
    `company_id` int NULL DEFAULT NULL,
    PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_user_user
-- ----------------------------
DROP TABLE IF EXISTS `company_user_user`;
CREATE TABLE `company_user_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`      bigint NOT NULL COMMENT '公司id',
    `company_user_id` bigint NOT NULL COMMENT '公司用户id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `create_time`     datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice
-- ----------------------------
DROP TABLE IF EXISTS `company_voice`;
CREATE TABLE `company_voice`
(
    `voice_id`    bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司ID',
    `times`       bigint NULL DEFAULT 0 COMMENT '剩余时长 分',
    `total_times` bigint NULL DEFAULT 0 COMMENT '累计时长 分',
    PRIMARY KEY (`voice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业通话表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_api
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_api`;
CREATE TABLE `company_voice_api`
(
    `api_id`   int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `api_name` varchar(100)   NULL DEFAULT NULL COMMENT 'API接口名',
    `api_type` varchar(50)   NULL DEFAULT NULL COMMENT 'KEY',
    `api_json` varchar(2000)   NULL DEFAULT NULL COMMENT '接口地址',
    `status`   tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `remark`   varchar(2000)   NULL DEFAULT NULL,
    PRIMARY KEY (`api_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '呼叫接口' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_api_tiantian
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_api_tiantian`;
CREATE TABLE `company_voice_api_tiantian`
(
    `id`         int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `name`       varchar(100)   NULL DEFAULT NULL COMMENT 'API接口名',
    `account`    varchar(500)   NULL DEFAULT NULL,
    `password`   varchar(500)   NULL DEFAULT NULL,
    `url`        varchar(500)   NULL DEFAULT NULL,
    `dialog_url` varchar(500)   NULL DEFAULT NULL,
    `company_id` bigint NULL DEFAULT NULL,
    `status`     tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `remark`     varchar(2000)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '呼叫接口' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_blacklist
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_blacklist`;
CREATE TABLE `company_voice_blacklist`
(
    `blacklist_id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `mobile`       varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '企业ID',
    `status`       tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `remark`       varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`blacklist_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '黑名单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_caller
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_caller`;
CREATE TABLE `company_voice_caller`
(
    `caller_id`       int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`      int NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` int NULL DEFAULT NULL COMMENT '用户ID',
    `caller_no`       varchar(20)   NULL DEFAULT NULL COMMENT '坐席号',
    `mobile`          varchar(11)   NULL DEFAULT NULL COMMENT '手机号 主叫',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常0禁用',
    `remark`          varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `bind_time`       datetime NULL DEFAULT NULL,
    PRIMARY KEY (`caller_id`) USING BTREE,
    UNIQUE INDEX `caller_no`(`caller_no` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业用户坐席表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_config
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_config`;
CREATE TABLE `company_voice_config`
(
    `config_id`   int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    `caller_json` text   NULL COMMENT '主叫配置',
    `callee_json` text   NULL COMMENT '被叫配置',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '呼叫频率配置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_dialog
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_dialog`;
CREATE TABLE `company_voice_dialog`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`            varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `result_name`     varchar(255)   NULL DEFAULT NULL COMMENT '接口返回名称',
    `result_id`       bigint NULL DEFAULT NULL COMMENT '接口返回ID',
    `call_num`        varchar(255)   NULL DEFAULT NULL COMMENT '绑定号码',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_user`     bigint NULL DEFAULT NULL COMMENT '创建人',
    `company_user_id` bigint NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'AI外呼话术' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_logs
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_logs`;
CREATE TABLE `company_voice_logs`
(
    `voice_id`              int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`            int NULL DEFAULT NULL COMMENT '公司名',
    `voice_title`           varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `voice_url`             varchar(1000)   NULL DEFAULT NULL COMMENT '录音地址',
    `start_time`            datetime NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time`           datetime NULL DEFAULT NULL COMMENT '结束时间',
    `voice_type`            tinyint(1) NULL DEFAULT NULL COMMENT '通话类型 1 语音外号',
    `remark`                varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `caller_phone`          varchar(20)   NULL DEFAULT NULL COMMENT '主叫',
    `callee_phone`          varchar(255)   NULL DEFAULT NULL COMMENT '被叫',
    `times`                 int NULL DEFAULT NULL COMMENT '时长',
    `billing_time`          int NULL DEFAULT NULL COMMENT '计费 分',
    `display_caller_number` varchar(20)   NULL DEFAULT NULL COMMENT '主叫显示号',
    `display_callee_number` varchar(20)   NULL DEFAULT NULL COMMENT '被叫显示号',
    `company_user_id`       int NULL DEFAULT NULL,
    `status`                tinyint(1) NULL DEFAULT NULL COMMENT '状态 1接口调用成功 2呼出 3振铃 4应答 5挂机',
    `session_id`            varchar(500)   NULL DEFAULT NULL COMMENT '会话ID',
    `customer_id`           int NULL DEFAULT NULL COMMENT '客户ID',
    `api_id`                bigint NULL DEFAULT NULL COMMENT 'apiId',
    `caller_no`             varchar(20)   NULL DEFAULT NULL,
    PRIMARY KEY (`voice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '通话记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_mobile
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_mobile`;
CREATE TABLE `company_voice_mobile`
(
    `mobile_id`   int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `api_id`      int NULL DEFAULT NULL COMMENT '接口ID',
    `mobile`      varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 0 占用 1空闲',
    `company_id`  int NULL DEFAULT NULL COMMENT '企业ID',
    `mobile_type` tinyint(1) NULL DEFAULT NULL COMMENT '手机号类型 1公共 2分配给企业',
    `remark`      varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`mobile_id`) USING BTREE,
    UNIQUE INDEX `mobile`(`mobile` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '中间号' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_package
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_package`;
CREATE TABLE `company_voice_package`
(
    `package_id`   int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `package_name` varchar(200)   NULL DEFAULT NULL COMMENT '套餐名',
    `price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
    `times`        int NULL DEFAULT NULL COMMENT '时长 分',
    `status`       tinyint(1) NULL DEFAULT 0 COMMENT '状态 0禁用 1正常',
    `expire_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '超出后每分钟价格',
    `remark`       varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '套餐表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_package_order
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_package_order`;
CREATE TABLE `company_voice_package_order`
(
    `order_id`     int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_sn`     varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `company_id`   int NULL DEFAULT NULL COMMENT '公司名称',
    `package_id`   int NULL DEFAULT NULL COMMENT '套餐ID',
    `price`        decimal(11, 2) NULL DEFAULT NULL COMMENT '价格',
    `times`        int NULL DEFAULT NULL COMMENT '时长',
    `remain_times` int NULL DEFAULT NULL COMMENT '剩余时长',
    `is_pay`       tinyint(1) NULL DEFAULT NULL COMMENT '是否支付',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `pay_time`     datetime NULL DEFAULT NULL COMMENT '支付时间',
    `status`       tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `pay_type`     tinyint(1) NULL DEFAULT NULL COMMENT '支付类型',
    `start_time`   datetime NULL DEFAULT NULL COMMENT '开始时间',
    `limit_time`   datetime NULL DEFAULT NULL COMMENT '到期时间',
    `create_by`    varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '套餐订单' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic`;
CREATE TABLE `company_voice_robotic`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `name`                   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务名称',
    `task_name`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '三方任务名称',
    `task_id`                bigint NULL DEFAULT NULL COMMENT '三方任务ID',
    `robot`                  bigint NULL DEFAULT NULL COMMENT '机器人ID',
    `dialog_id`              bigint NULL DEFAULT NULL COMMENT '话术ID',
    `mode`                   int NULL DEFAULT NULL COMMENT '模式',
    `multiplier`             int NULL DEFAULT NULL COMMENT '呼叫倍率;1-5',
    `auto_recall`            int NULL DEFAULT NULL COMMENT '是否开启自动重呼;0否 1是',
    `recall_times`           int NULL DEFAULT NULL COMMENT '重呼次数;最大5 0表示不自动重呼',
    `cid_group_id`           bigint NULL DEFAULT NULL COMMENT '主叫分组ID',
    `week_day1`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '时间段星期;0表示周天 1-6表示周一到周六',
    `start_time1`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开始时间',
    `end_time1`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '结束时间',
    `week_day2`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '时间段星期;0表示周天 1-6表示周一到周六',
    `start_time2`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开始时间',
    `end_time2`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '结束时间',
    `add_type`               int NULL DEFAULT NULL COMMENT '加微方式0平均1意向',
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_user`            bigint NULL DEFAULT NULL COMMENT '创建人',
    `company_user_id`        bigint NULL DEFAULT NULL,
    `company_id`             bigint NULL DEFAULT NULL,
    `task_flow`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务流程',
    `run_task_flow`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '已经执行流程',
    `task_status`            int NULL DEFAULT 0 COMMENT '任务状态0待执行1执行中2执行中断3执行完成',
    `add_wx_time`            int NULL DEFAULT NULL COMMENT '加微等待时间',
    `sms_temp_id`            int NULL DEFAULT NULL COMMENT '短信模板id',
    `company_ai_workflow_id` int NULL DEFAULT NULL COMMENT '所选工作流程id',
    `runtime_range_start`    time NULL DEFAULT NULL COMMENT '运行时间可执行开始时间',
    `runtime_range_end`      time NULL DEFAULT NULL COMMENT '运行时间可执行结束时间',
    `cid_group_no`           int NULL DEFAULT NULL COMMENT '任务执行cid分组数',
    `is_we_com`              bigint NULL DEFAULT 1 COMMENT '加微类型1个微2企微(防止add_type被占用)',
    `task_type`              tinyint NULL DEFAULT 1 COMMENT '任务类型：1、普通任务，2、场景任务',
    `scene_type`             tinyint NULL DEFAULT NULL COMMENT '场景类型，字典task_scene_type',
    `available_start_time`   time NULL DEFAULT NULL COMMENT '应用场景指定时间范围开始',
    `available_end_time`     time NULL DEFAULT NULL COMMENT '应用场景指定时间范围结束',
    `del_flag`               tinyint NULL DEFAULT 0 COMMENT '删除标志 0正常 1删除',
    `pause_source` varchar(20) NULL DEFAULT NULL COMMENT '暂停来源：auto-自动暂停(超出运行时间范围) manual-手动暂停',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `company_scene_idx`(`company_id`, `scene_type`, `del_flag`) USING BTREE COMMENT '公司，场景索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '机器人外呼任务' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_call_log
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_call_log`;
CREATE TABLE `company_voice_robotic_call_log`
(
    `log_id`       bigint NOT NULL AUTO_INCREMENT,
    `robotic_id`   bigint NOT NULL COMMENT '任务id',
    `caller_id`    bigint NULL DEFAULT NULL COMMENT 'caller_id',
    `wx_client_id` bigint NULL DEFAULT NULL COMMENT 'wx_client_id',
    `run_function` varchar(255)   NULL DEFAULT NULL COMMENT '调用方法',
    `run_time`     datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`    text   NULL COMMENT '调用参数',
    `result`       text   NULL COMMENT '执行结果',
    `status`       tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX          `robotic_id_and_caller_id_idx`(`robotic_id` ASC, `caller_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '调用日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_call_log_addwx
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_call_log_addwx`;
CREATE TABLE `company_voice_robotic_call_log_addwx`
(
    `log_id`           bigint NOT NULL AUTO_INCREMENT,
    `robotic_id`       bigint NOT NULL COMMENT '任务id',
    `wx_client_id`     bigint NULL DEFAULT NULL COMMENT 'wx_client_id',
    `run_time`         datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`        text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '调用参数',
    `result`           text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '执行结果',
    `status`           tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司id',
    `wx_account_id`    bigint NULL DEFAULT NULL COMMENT '个微账号id',
    `create_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `is_we_com`        bigint NULL DEFAULT 1 COMMENT '加微类型1个微2企微(防止add_type被占用)',
    `qw_wx_add_way_id` int NULL DEFAULT NULL COMMENT '加微方式 2 的时候 用，字典 sys_qw_qw_wx_add_way',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX              `robotic_id_and_client_id_idx`(`robotic_id`, `wx_client_id`) USING BTREE,
    INDEX              `company_account_idx`(`company_id`, `wx_account_id`) USING BTREE,
    INDEX              `create_time_idx`(`create_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_call_log_callphone
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_call_log_callphone`;
CREATE TABLE `company_voice_robotic_call_log_callphone`
(
    `log_id`           bigint NOT NULL AUTO_INCREMENT,
    `callback_uuid`    varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'uuid回调标识',
    `robotic_id`       bigint NOT NULL COMMENT '任务id',
    `caller_id`        bigint NULL DEFAULT NULL COMMENT 'caller_id',
    `run_time`         datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`        text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '调用参数',
    `result`           text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '回调返回结果',
    `status`           tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `record_path`      varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '录音地址',
    `content_list`     text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '通话详细列表',
    `caller_num`       varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户号码',
    `callee_num`       varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '话术号码',
    `uuid`             varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '通话的唯一标识',
    `call_create_time` bigint NULL DEFAULT NULL COMMENT '呼入时间',
    `call_answer_time` bigint NULL DEFAULT NULL COMMENT '应答时间',
    `intention`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户类型',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '销售id',
    `call_time`        int NULL DEFAULT NULL COMMENT '通话时长，单位秒',
    `cost`             decimal(10, 2) NULL DEFAULT NULL COMMENT '花费金额',
    `create_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `call_type`        int NULL DEFAULT NULL COMMENT '外呼类型',
    `is_warning` tinyint NULL DEFAULT 0 COMMENT '是否警告（0否1是）用于敏感词',
    `violation_num` int NULL DEFAULT 0 COMMENT '违规数量',
    `manual_answered` tinyint NULL DEFAULT NULL COMMENT '人工接听：1：是，0或无：否',
    `handle_flag` tinyint NULL DEFAULT 0 COMMENT '是否被处理：0：未被处理，1：已处理',
    `answered_ext_num` varchar(200) NULL DEFAULT NULL COMMENT '接听分机号码',
    `manual_answered_time` bigint NULL DEFAULT NULL COMMENT '人工接听时间',
    `manual_answered_time_len` bigint NULL DEFAULT NULL COMMENT '人工接听时长',
    `hangup_type` varchar(255) NULL DEFAULT NULL COMMENT '挂断类型',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX              `robotic_id_and_caller_id_idx`(`robotic_id`, `caller_id`) USING BTREE,
    INDEX              `company_and_company_user_idx`(`company_id`, `company_user_id`) USING BTREE,
    INDEX              `idx_caller_id_create_time`(`caller_id`, `create_time`) USING BTREE,
    INDEX              `idx_company_time_caller`(`company_id`, `create_time`, `caller_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_call_log_sendmsg
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_call_log_sendmsg`;
CREATE TABLE `company_voice_robotic_call_log_sendmsg`
(
    `log_id`          bigint NOT NULL AUTO_INCREMENT,
    `robotic_id`      bigint NOT NULL COMMENT '任务id',
    `caller_id`       bigint NULL DEFAULT NULL COMMENT 'caller_id',
    `run_time`        datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`       text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '调用参数',
    `result`          text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '执行结果',
    `status`          tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `temp_id`         bigint NULL DEFAULT NULL COMMENT '发送短信模板id',
    `cost`            decimal(10, 2) NULL DEFAULT NULL COMMENT '花费金额',
    `content_len`     int NULL DEFAULT NULL COMMENT '内容长度',
    `create_by`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_by`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX             `robotic_id_and_caller_id_idx`(`robotic_id`, `caller_id`) USING BTREE,
    INDEX             `create_time_idx`(`create_time`) USING BTREE,
    INDEX             `company_and_user_idx`(`company_id`, `company_user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_callees
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_callees`;
CREATE TABLE `company_voice_robotic_callees`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`           int NULL DEFAULT 0 COMMENT '类型;0天天1百度',
    `user_id`        bigint NULL DEFAULT NULL COMMENT '用户ID',
    `user_name`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名称',
    `phone`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '电话号码',
    `robotic_id`     bigint NULL DEFAULT NULL COMMENT '任务ID',
    `params`         varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变量列表;TTS变量字段，变量使用#拼接',
    `uuid`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '对话图uuid',
    `intention`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `result`         int NULL DEFAULT 0 COMMENT '是否回调0否1是',
    `json`           text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
    `distribute`     int NULL DEFAULT 0 COMMENT '是否分配0否1是',
    `task_member_id` bigint NULL DEFAULT NULL,
    `import_status`  int NULL DEFAULT NULL COMMENT '导入状态',
    `reason`         varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失败原因',
    `task_flow`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务流程',
    `run_task_flow`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '已经执行流程',
    `task_name`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '三方任务名称',
    `task_id`        bigint NULL DEFAULT NULL COMMENT '三方任务ID',
    `is_send_msg`    tinyint NULL DEFAULT 0 COMMENT '是否已发送短信：-1:不需要发送， 0：未发送，1：已发送',
    `is_we_com`      bigint NULL DEFAULT 1 COMMENT '加微类型1个微2企微(防止add_type被占用)',
    `is_generate`    tinyint(1) NULL DEFAULT 0 COMMENT '是否生成数据（0否，1是）',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_is_generate`(`is_generate`) USING BTREE,
    INDEX            `idx_phone_is_generate`(`phone`, `is_generate`) USING BTREE,
    INDEX            `idx_user_name`(`user_name`) USING BTREE,
    INDEX            `idx_phone`(`phone`) USING BTREE,
    INDEX            `idx_robotic_id`(`robotic_id`) USING BTREE,
    INDEX            `idx_user_id`(`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务外呼电话' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_voice_robotic_wx
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_wx`;
CREATE TABLE `company_voice_robotic_wx`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`         int NULL DEFAULT 0 COMMENT '类型;0天天1百度',
    `add_type`     int NULL DEFAULT 1 COMMENT '加微类型1个微2企微',
    `robotic_id`   bigint NULL DEFAULT NULL COMMENT '任务ID',
    `intention`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '意向',
    `account_id`   bigint NULL DEFAULT NULL COMMENT '分配员工',
    `wx_dialog_id` bigint NULL DEFAULT NULL COMMENT '加微话术',
    `num`          int NULL DEFAULT 0 COMMENT '分配数量',
    `add_num`      int NULL DEFAULT 0 COMMENT '添加数量',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`  datetime NULL DEFAULT NULL,
    `remark`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `sms_temp_id`  int NULL DEFAULT NULL COMMENT '短信模板id',
    `is_we_com`    bigint NULL DEFAULT 1 COMMENT '加微类型1个微2企微(防止add_type被占用)',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'AI外呼任务加微方式' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_account
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_account`;
CREATE TABLE `company_wx_account`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `wx_nick_name`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信昵称',
    `wx_no`               varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信号',
    `head_img_url`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像',
    `phone`               varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '电话号码',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '销售员工账号',
    `add_time`            datetime NULL DEFAULT NULL COMMENT '添加时间',
    `next_time`           datetime NULL DEFAULT NULL COMMENT '下次添加时间',
    `to_day_num`          int NULL DEFAULT 0 COMMENT '当天添加数量',
    `create_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `create_user`         bigint NULL DEFAULT NULL,
    `update_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_by`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `remark`              varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `address_id`          varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'iPad地区ID',
    `server_id`           bigint NULL DEFAULT NULL COMMENT '服务器ID',
    `server_status`       int NULL DEFAULT 0 COMMENT '服务器绑定状态 0-未绑定 1-已绑定',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '销售公司ID',
    `auth_key`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '授权码',
    `auth_time`           datetime NULL DEFAULT NULL COMMENT '过期时间',
    `login_status`        int NULL DEFAULT 0 COMMENT '登录状态，0未登录1已登录',
    `create_by`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
    `wxnewpass`           varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `login_time`          datetime NULL DEFAULT NULL COMMENT '登录时间',
    `out_time`            datetime NULL DEFAULT NULL COMMENT '离线时间',
    `out_remark`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '离线说明',
    `sync_friend_time`    datetime NULL DEFAULT NULL COMMENT '上次点击同步通讯录时间',
    `account_create_time` date NULL DEFAULT NULL COMMENT '账号创建时间',
    `add_num`             int NULL DEFAULT NULL COMMENT '每天添加账号数量',
    `send_msg_json`       varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发送消息条数限制',
    `is_new`              int NULL DEFAULT 0 COMMENT '是否新账号0是1否',
    `last_add_wx_time`    datetime NULL DEFAULT NULL COMMENT '上一次添加微信时间',
    `is_add_num`          int NULL DEFAULT 0 COMMENT '已经添加数量',
    `allocate_num`        int NULL DEFAULT 0,
    `wx_remark` varchar(200) NULL DEFAULT NULL COMMENT '微信备注',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `auth_key`(`auth_key`) USING BTREE,
    UNIQUE INDEX `wx_no`(`wx_no`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'company对应个微账号' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_chat
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_chat`;
CREATE TABLE `company_wx_chat`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `wx_user_id`      bigint NULL DEFAULT NULL COMMENT '个微用户ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        int NULL DEFAULT 1 COMMENT '消息类型 1文本',
    `send_type`       int NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2企业用户发送',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '个微聊天表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_client
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_client`;
CREATE TABLE `company_wx_client`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `add_type`         int NULL DEFAULT 1 COMMENT '加微方式0平均1意向',
    `robotic_id`       bigint NOT NULL COMMENT '任务ID',
    `robotic_wx_id`    bigint NULL DEFAULT NULL COMMENT '分配企微账号ID',
    `customer_id`      bigint NOT NULL COMMENT '客户ID',
    `dialog_id`        bigint NULL DEFAULT NULL COMMENT '话术ID',
    `account_id`       bigint NULL DEFAULT NULL COMMENT '账号ID',
    `nick_name`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '昵称',
    `avatar`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像',
    `phone`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号',
    `wx_no`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信号',
    `wx_name`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信昵称',
    `is_add`           int NULL DEFAULT 0 COMMENT '是否添加;0否1是2加微中',
    `add_time`         datetime NULL DEFAULT NULL COMMENT '添加时间',
    `success_add_time` datetime NULL DEFAULT NULL COMMENT '添加成功时间',
    `remark`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
    `intention`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户意向',
    `create_time`      datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`        bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `check_count`      int NULL DEFAULT 0 COMMENT '监测次数',
    `next_check_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '下次检查时间',
    `work_url`         varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '获客链接',
    `work_short_no`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `company_user_id`  bigint NULL DEFAULT NULL,
    `company_id`       bigint NULL DEFAULT NULL,
    `wx_v3`            varchar(218) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信V3，用于校验用户一致性',
    `wx_v4`            varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信V4，用于校验用户一致性',
    `is_we_com`        bigint NULL DEFAULT 1 COMMENT '加微类型1个微2企微(防止add_type被占用)',
    `trace_id`         varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '投流来源id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `add`(`is_add`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '添加个微信账号' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_dialog
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_dialog`;
CREATE TABLE `company_wx_dialog`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`             varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
    `template_details` varchar(900) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模板',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`        bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `remark`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `create_user`      bigint NULL DEFAULT NULL,
    `company_user_id`  bigint NULL DEFAULT NULL,
    `company_id`       bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '添加微信话术' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_user
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_user`;
CREATE TABLE `company_wx_user`
(
    `user_id`         bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '所属销售ID',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '微信昵称',
    `weixin_id`       varchar(50)   NULL DEFAULT NULL COMMENT '微信号',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常 0禁用',
    `avatar`          varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `group_id`        text   NULL COMMENT '所属分组',
    `fs_user_id`      bigint NULL DEFAULT NULL COMMENT '小程序用户id',
    `account_id`      bigint NULL DEFAULT NULL COMMENT '个微账户ID',
    `sex`             int NULL DEFAULT NULL COMMENT '性别',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `remark`          varchar(255)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_wx_user_group
-- ----------------------------
DROP TABLE IF EXISTS `company_wx_user_group`;
CREATE TABLE `company_wx_user_group`
(
    `group_id`   bigint NOT NULL AUTO_INCREMENT,
    `group_name` varchar(255)   NULL DEFAULT NULL,
    `company_id` int NULL DEFAULT NULL,
    PRIMARY KEY (`group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '个微 分组表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer`;
CREATE TABLE `crm_customer`
(
    `customer_id`           bigint   NOT NULL AUTO_INCREMENT,
    `customer_code`         varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组织机构代码',
    `customer_name`         varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '客户名称',
    `avatar`                varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
    `mobile`                varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '手机',
    `sex`                   tinyint(1) NULL DEFAULT 0 COMMENT '性别',
    `weixin`                varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
    `remark`                varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '备注',
    `user_id`               bigint NULL DEFAULT NULL COMMENT '关联用户ID',
    `create_user_id`        bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `receive_user_id`       bigint NULL DEFAULT NULL COMMENT '当前认领用户',
    `customer_user_id`      bigint NULL DEFAULT NULL COMMENT '认领ID',
    `address`               varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '省市区',
    `city_ids`              varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市ids',
    `location`              varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '定位信息',
    `detail_address`        varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '详细地址',
    `lng`                   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '地理位置经度',
    `lat`                   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '地理位置维度',
    `create_time`           datetime NOT NULL COMMENT '创建时间',
    `update_time`           datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    `status`                int NULL DEFAULT 1 COMMENT '客户状态  0禁用 1 正常',
    `is_receive`            int NULL DEFAULT 0 COMMENT '1 已认领 0未认领',
    `dept_id`               bigint NULL DEFAULT NULL COMMENT '所属部门ID',
    `is_del`                tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `customer_type`         tinyint(1) NULL DEFAULT NULL COMMENT '客户类型',
    `receive_time`          datetime NULL DEFAULT NULL COMMENT '最后一次跟进时间',
    `pool_time`             datetime NULL DEFAULT NULL COMMENT '入公海时间',
    `company_id`            bigint NULL DEFAULT NULL,
    `is_line`               tinyint(1) NULL DEFAULT 0 COMMENT '是否为线索客户',
    `source`                varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '客户来源',
    `tags`                  varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签',
    `ext_json`              longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
    `visit_status`          tinyint(1) NULL DEFAULT NULL COMMENT '跟进阶段',
    `register_date`         varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '进线日期',
    `register_link_url`     varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '进线客户连接',
    `register_desc`         varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '进线客户详情',
    `register_submit_time`  varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '进线客户填写时间',
    `is_pool`               tinyint(1) NULL DEFAULT 0 COMMENT '是否在公海',
    `register_type`         varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '进线方式',
    `pay_money`             decimal(11, 2) NULL DEFAULT 0.00 COMMENT '消费金额',
    `buy_count`             int NULL DEFAULT 0 COMMENT '购买次数',
    `source_code`           varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源渠道编码',
    `push_time`             varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推线时间',
    `push_code`             varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推线编码',
    `visit_time`            datetime NULL DEFAULT NULL,
    `traffic_source`        varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流量来源',
    `import_type`           tinyint NULL DEFAULT NULL COMMENT '导入类型  0手动导入  1 自动导入',
    `third_account`         varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流量平台归属账号',
    `clue_id`               varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流量平台线索ID',
    `qw_name`               varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    `intention`             varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '意向度',
    `goods_name`            varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '购买商品',
    `goods_specification`   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '购买规格',
    `shop_name`             varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '店铺名称',
    `platform_name`         varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '平台名称',
    `create_by`             bigint NULL DEFAULT NULL COMMENT '创建人',
    `wx_contact_id`             bigint NULL DEFAULT NULL COMMENT '外部联系人',
    `update_by`             varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `trace_id`              varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '投流来源id',
    `customer_company_name` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '客户公司名称',
    `is_wx`                 varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否添加微信',
    `business_scenario`     varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '业务场景\r\n网站,电商,游戏,小程序,APP,OA,ERP,CRM,物联网,AI人工智能,国产化,数字人,内部办公系统,等保,其他',
    `product`               varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '涉及产品',
    `money_remark`          varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商机金额',
    `content`               varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最新跟进内容',
    `next_time`             datetime NULL DEFAULT NULL COMMENT '下次跟进时间',
    `is_pool_rule`          tinyint NULL DEFAULT 1 COMMENT '是否采用入公海规则 0:否 1:是',
    `sys_visit_time`        datetime NULL DEFAULT NULL COMMENT '系统自建跟进时间',
    `historical_communication` text NULL COMMENT '历史沟通内容',
    `effective_customer` tinyint NULL DEFAULT NULL COMMENT '有效客户：1：有效，0或者空：无效',
    `ai_call_remark` varchar(500) NULL DEFAULT NULL COMMENT 'AI外呼备注',
    `effective_record_path` varchar(1000) NULL DEFAULT NULL COMMENT '最后一次设置录音',
    `last_effective_callphone_log_id` bigint NULL DEFAULT NULL COMMENT '最后一次设置外呼记录id',
    can_decrypt tinyint(1) DEFAULT 0 COMMENT '是否已解密 1=已解密 0=未解密(默认)',
    PRIMARY KEY (`customer_id`) USING BTREE,
    UNIQUE INDEX `customer_code`(`customer_code`) USING BTREE,
    INDEX                   `create_user_id`(`create_user_id`) USING BTREE,
    INDEX                   `receive_user_id`(`receive_user_id`) USING BTREE,
    INDEX                   `customer_user_id`(`customer_user_id`) USING BTREE,
    INDEX                   `company_id`(`company_id`) USING BTREE,
    INDEX                   `is_line`(`is_line`) USING BTREE,
    INDEX                   `mobile`(`mobile`) USING BTREE,
    INDEX                   `company_receive_user_idx`(`company_id`, `receive_user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '客户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_assign
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_assign`;
CREATE TABLE `crm_customer_assign`
(
    `assign_id`       bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户ID',
    `source_user_id`  bigint NULL DEFAULT NULL,
    `customer_ids`    longtext   NULL COMMENT '客户ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `sys_user_id`     bigint NULL DEFAULT NULL COMMENT '系统用户ID',
    `assign_type`     tinyint(1) NULL DEFAULT NULL COMMENT '分配类型 1分配给公司 2分配给员工 3我的客户给员工 4线索客户分配给员工',
    `remark`          varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '状态 0未撤销 1已撤销',
    PRIMARY KEY (`assign_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户分配记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_contacts
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_contacts`;
CREATE TABLE `crm_customer_contacts`
(
    `contacts_id`    bigint NOT NULL AUTO_INCREMENT,
    `customer_id`    bigint NOT NULL COMMENT '客户ID',
    `name`           varchar(100)   NULL DEFAULT NULL COMMENT '联系人名称',
    `mobile`         varchar(255)   NULL DEFAULT '' COMMENT '手机',
    `email`          varchar(255)   NULL DEFAULT NULL COMMENT '电子邮箱',
    `weixin`         varchar(255)   NULL DEFAULT NULL COMMENT '部门',
    `address`        varchar(500)   NULL DEFAULT '' COMMENT '地址',
    `remark`         varchar(2048)   NULL DEFAULT '' COMMENT '备注',
    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`         tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `company_id`     int NULL DEFAULT NULL,
    PRIMARY KEY (`contacts_id`) USING BTREE,
    INDEX            `customer_id`(`customer_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户联系人表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_ext
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_ext`;
CREATE TABLE `crm_customer_ext`
(
    `ext_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id` bigint NULL DEFAULT NULL COMMENT '公司名称',
    `name`       varchar(200)   NULL DEFAULT NULL COMMENT '字段名称',
    `type`       tinyint(1) NULL DEFAULT NULL COMMENT '字段类型',
    `status`     tinyint(1) NULL DEFAULT 1 COMMENT '状态',
    `sort`       int NULL DEFAULT NULL COMMENT '排序号',
    PRIMARY KEY (`ext_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户字段扩展表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_his_order
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_his_order`;
CREATE TABLE `crm_customer_his_order`
(
    `order_id`      bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `customer_id`   bigint NULL DEFAULT NULL COMMENT '客户ID',
    `customer_code` varchar(50)   NULL DEFAULT NULL,
    `order_json`    longtext   NULL COMMENT '订单JSON',
    `item_json`     longtext   NULL COMMENT '商品JSON',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`order_id`) USING BTREE,
    INDEX           `customer_id`(`customer_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '客户历史订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_logs
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_logs`;
CREATE TABLE `crm_customer_logs`
(
    `logs_id`         int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `customer_id`     int NULL DEFAULT NULL COMMENT '客户ID',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售ID',
    `title`           varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `remark`          varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `logs_type`       tinyint(1) NULL DEFAULT NULL COMMENT '日志类型',
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_third
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_third`;
CREATE TABLE `crm_customer_third`
(
    `id`               int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `third_name`       varchar(200)   NULL DEFAULT NULL COMMENT '平台名称',
    `third_type`       tinyint(1) NULL DEFAULT NULL COMMENT '平台类型 1飞鱼  2百度  3青鸟',
    `app_id`           varchar(60)   NULL DEFAULT NULL COMMENT '平台appid',
    `app_secret`       varchar(60)   NULL DEFAULT NULL COMMENT '平台secret',
    `account`          varchar(50)   NULL DEFAULT NULL COMMENT '授权账号',
    `access_token`     varchar(100)   NULL DEFAULT NULL COMMENT '三方平台accessToken',
    `refresh_token`    varchar(100)   NULL DEFAULT NULL COMMENT '三方平台refreshToken',
    `advertiser_ids`   longtext   NULL COMMENT '飞鱼广告主ids',
    `advertiser_names` longtext   NULL COMMENT '飞鱼广告主名称',
    `status`           tinyint(1) NULL DEFAULT NULL COMMENT '状态  0未授权 1 已授权',
    `access_status`    tinyint(1) NULL DEFAULT NULL COMMENT 'token状态  0未获取  1已生效  2已过期',
    `refresh_status`   tinyint(1) NULL DEFAULT NULL COMMENT 'token状态  0未获取  1已生效  2已过期',
    `create_user_id`   bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_user_id`   bigint NULL DEFAULT NULL COMMENT '修改人ID',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '客户线索三方平台表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_user
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_user`;
CREATE TABLE `crm_customer_user`
(
    `customer_user_id` bigint NOT NULL AUTO_INCREMENT,
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '销售ID',
    `customer_id`      bigint NULL DEFAULT NULL,
    `status`           tinyint(1) NULL DEFAULT NULL COMMENT '状态  1初次接洽 2意向购买 3已成交 4未成交 ',
    `deal_time`        datetime NULL DEFAULT NULL COMMENT '成交时间',
    `start_time`       datetime NULL DEFAULT NULL COMMENT '认领开始时间',
    `limit_time`       datetime NULL DEFAULT NULL COMMENT '认领结束时间',
    `pool_time`        datetime NULL DEFAULT NULL COMMENT '放入公海时间',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '认领提交时间',
    `last_time`        datetime NULL DEFAULT NULL COMMENT '最新一次联系时间',
    `company_id`       bigint NULL DEFAULT NULL,
    `is_pool`          tinyint(1) NULL DEFAULT 0 COMMENT '是否入公海',
    PRIMARY KEY (`customer_user_id`) USING BTREE,
    INDEX              `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX              `customer_id`(`customer_id` ASC) USING BTREE,
    INDEX              `company_id`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户员工认领表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_visit
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_visit`;
CREATE TABLE `crm_customer_visit`
(
    `visit_id`             bigint   NOT NULL AUTO_INCREMENT COMMENT '跟进ID',
    `customer_id`          bigint NULL DEFAULT NULL COMMENT '客户ID',
    `visit_type`           int      NOT NULL COMMENT '类型 1 电话 2 微信',
    `content`              varchar(1024)   NULL DEFAULT NULL COMMENT '走访内容',
    `photos`               text   NULL COMMENT '走访照片',
    `next_time`            datetime NULL DEFAULT NULL COMMENT '下次联系时间',
    `lng`                  varchar(255)   NULL DEFAULT NULL COMMENT '经度',
    `lat`                  varchar(255)   NULL DEFAULT NULL COMMENT '纬度',
    `address`              varchar(255)   NULL DEFAULT NULL COMMENT '签到地址',
    `company_user_id`      bigint   NOT NULL COMMENT '销售ID',
    `create_time`          datetime NOT NULL COMMENT '创建时间',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司ID',
    `customer_user_status` tinyint(1) NULL DEFAULT NULL COMMENT '客户跟进阶段',
    PRIMARY KEY (`visit_id`) USING BTREE,
    INDEX                  `create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '跟进表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_event
-- ----------------------------
DROP TABLE IF EXISTS `crm_event`;
CREATE TABLE `crm_event`
(
    `event_id`        int                                              NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `title`           varchar(200)   NOT NULL COMMENT '标题',
    `event_type`      tinyint(1) NOT NULL COMMENT '日程类型',
    `event_time`      datetime                                         NOT NULL COMMENT '事件时间',
    `start_time`      datetime NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time`     datetime NULL DEFAULT NULL COMMENT '结束时间',
    `create_time`     datetime                                         NOT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `content`         text   NULL COMMENT '内容',
    `company_id`      int NULL DEFAULT NULL,
    `company_user_id` bigint                                           NOT NULL COMMENT '创建人ID',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (`event_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '日程事项表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_msg
-- ----------------------------
DROP TABLE IF EXISTS `crm_msg`;
CREATE TABLE `crm_msg`
(
    `msg_id`          int NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1客户消息 2系统消息 3随访消息',
    `title`           varchar(50)   NULL DEFAULT NULL COMMENT '标题',
    `content`         text   NULL COMMENT '内容',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `is_read`         tinyint(1) NULL DEFAULT 0,
    `company_id`      int NULL DEFAULT NULL,
    `company_user_id` int NULL DEFAULT NULL COMMENT '用户ID',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `obj_id`          bigint NULL DEFAULT NULL COMMENT '对像ID',
    PRIMARY KEY (`msg_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = ' 消息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for customer_transfer_approval
-- ----------------------------
DROP TABLE IF EXISTS `customer_transfer_approval`;
CREATE TABLE `customer_transfer_approval`
(
    `id`                bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '唯一主键 ID',
    `corp_id`           varchar(64)   NOT NULL COMMENT '企业 ID',
    `transfer_type`     tinyint                                                      NOT NULL COMMENT '转移类型: 1=离职继承, 2=在职转接',
    `customer_ids`      text   NOT NULL COMMENT '客户 ID 列表 (JSON 数组字符串或逗号分隔)',
    `original_user_id`  bigint NULL DEFAULT NULL COMMENT '原负责人用户 ID (离职继承时为离职人员ID，在职转接时为转出人员ID)',
    `target_user_id`    bigint                                                       NOT NULL COMMENT '目标接收销售用户 ID',
    `initiator_user_id` bigint                                                       NOT NULL COMMENT '发起此转移请求的用户 ID',
    `content`           varchar(1024)   NULL DEFAULT NULL COMMENT '转移提示内容/原因',
    `approval_status`   tinyint                                                      NOT NULL DEFAULT 0 COMMENT '审批状态: 0=待审批, 1=审批通过, 2=审批驳回, 3=已撤销',
    `approver_user_id`  bigint NULL DEFAULT NULL COMMENT '审批人用户 ID',
    `approval_remark`   varchar(512)   NULL DEFAULT NULL COMMENT '审批意见/备注',
    `processed_at`      timestamp NULL DEFAULT NULL COMMENT '审批处理时间',
    `created_at`        timestamp                                                    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `updated_at`        timestamp                                                    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录最后更新时间',
    `transfer_before`   json NULL COMMENT '转移矩阵',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX               `idx_corp_id`(`corp_id` ASC) USING BTREE,
    INDEX               `idx_transfer_type`(`transfer_type` ASC) USING BTREE,
    INDEX               `idx_original_user_id`(`original_user_id` ASC) USING BTREE,
    INDEX               `idx_target_user_id`(`target_user_id` ASC) USING BTREE,
    INDEX               `idx_initiator_user_id`(`initiator_user_id` ASC) USING BTREE,
    INDEX               `idx_approval_status`(`approval_status` ASC) USING BTREE,
    INDEX               `idx_created_at`(`created_at` ASC) USING BTREE,
    INDEX               `id`(`id` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户转移审批表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for databasechangelog
-- ----------------------------
DROP TABLE IF EXISTS `databasechangelog`;
CREATE TABLE `databasechangelog`
(
    `ID`            varchar(255)   NOT NULL,
    `AUTHOR`        varchar(255)   NOT NULL,
    `FILENAME`      varchar(255)   NOT NULL,
    `DATEEXECUTED`  datetime                                                      NOT NULL,
    `ORDEREXECUTED` int                                                           NOT NULL,
    `EXECTYPE`      varchar(10)    NOT NULL,
    `MD5SUM`        varchar(35)   NULL DEFAULT NULL,
    `DESCRIPTION`   varchar(255)   NULL DEFAULT NULL,
    `COMMENTS`      varchar(255)   NULL DEFAULT NULL,
    `TAG`           varchar(255)   NULL DEFAULT NULL,
    `LIQUIBASE`     varchar(20)   NULL DEFAULT NULL,
    `CONTEXTS`      varchar(255)   NULL DEFAULT NULL,
    `LABELS`        varchar(255)   NULL DEFAULT NULL,
    `DEPLOYMENT_ID` varchar(10)   NULL DEFAULT NULL
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for databasechangeloglock
-- ----------------------------
DROP TABLE IF EXISTS `databasechangeloglock`;
CREATE TABLE `databasechangeloglock`
(
    `ID`          int    NOT NULL,
    `LOCKED`      bit(1) NOT NULL,
    `LOCKGRANTED` datetime NULL DEFAULT NULL,
    `LOCKEDBY`    varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for date_comparison_config
-- ----------------------------
DROP TABLE IF EXISTS `date_comparison_config`;
CREATE TABLE `date_comparison_config`
(
    `id`                 bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `table_name`         varchar(255)   NOT NULL COMMENT '表名',
    `date_column`        varchar(255)   NOT NULL COMMENT '日期字段名',
    `user_column`        varchar(255)   NULL DEFAULT NULL COMMENT '用户字段名',
    `phone_column`       varchar(255)   NULL DEFAULT NULL COMMENT '手机号字段名',
    `in_advance`         int NULL DEFAULT 0 COMMENT '提前提醒天数',
    `remind_words`       text   NULL COMMENT '提醒词',
    `platform`           varchar(100)   NULL DEFAULT NULL COMMENT '平台',
    `cert_type`          varchar(100)   NULL DEFAULT NULL COMMENT '证件类型',
    `is_do_invalid`      varchar(1)     NOT NULL DEFAULT '0' COMMENT '是否进行失效',
    `invalid_expression` varchar(5)   NULL DEFAULT NULL COMMENT '失效表达式',
    `status_column`      varchar(255)   NULL DEFAULT NULL COMMENT '日期字段名',
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_table_date_user`(`table_name` ASC, `date_column` ASC, `user_column` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '日期比较配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_artificial_words
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_artificial_words`;
CREATE TABLE `fastgpt_chat_artificial_words`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '租户ID，用于租户隔离；NULL表示全局共享',
    `type`        int NULL DEFAULT NULL COMMENT '类型 1报错 2关键词',
    `content`     varchar(255)   NULL DEFAULT NULL COMMENT '文本',
    `status`      int NULL DEFAULT 0 COMMENT '状态 0启用 1禁用',
    `sort`        int NULL DEFAULT 0 COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX         `type`(`type` ASC) USING BTREE,
    INDEX         `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '转人工提示词' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_keyword
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_keyword`;
CREATE TABLE `fastgpt_chat_keyword`
(
    `keyword_id`  bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `keyword`     varchar(200)   NULL DEFAULT NULL COMMENT '关键字',
    `type`        tinyint(1) NULL DEFAULT NULL COMMENT '类型 1 文本回复 2转人工 3物流信息 4图文信息',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '匹配内容',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '所属公司',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `roles`       varchar(255)   NULL DEFAULT NULL COMMENT '所属应用',
    PRIMARY KEY (`keyword_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '关键字表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_msg
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_msg`;
CREATE TABLE `fastgpt_chat_msg`
(
    `msg_id`            bigint NOT NULL AUTO_INCREMENT,
    `session_id`        bigint NULL DEFAULT NULL COMMENT '消息id',
    `ext_id`            varchar(50)   NULL DEFAULT NULL COMMENT '外部ID',
    `user_id`           varchar(255)   NULL DEFAULT NULL COMMENT '用户id',
    `content`           longtext   NULL COMMENT '消息内容',
    `msg_type`          tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`         tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`           bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`          varchar(2000)   NULL DEFAULT NULL COMMENT '消息JSON',
    `status`            tinyint(1) NULL DEFAULT 0 COMMENT '状态',
    `nick_name`         varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`            varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `user_type`         tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `prompt_tokens`     int NULL DEFAULT NULL COMMENT '用户输入的令牌数量',
    `completion_tokens` int NULL DEFAULT NULL COMMENT '生成的回复中使用的令牌',
    `total_tokens`      int NULL DEFAULT NULL COMMENT '总令牌数量',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX               `session_id`(`session_id` ASC) USING BTREE,
    INDEX               `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX               `msg_type`(`msg_type` ASC) USING BTREE,
    INDEX               `msg_id`(`msg_id` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_msg_log
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_msg_log`;
CREATE TABLE `fastgpt_chat_msg_log`
(
    `logs_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_id`          bigint NULL DEFAULT NULL COMMENT 'msgId',
    `logs_type`       tinyint(1) NULL DEFAULT NULL COMMENT '类型 1标记正确 2修改回复',
    `content`         varchar(2000)   NULL DEFAULT NULL COMMENT '修改后内容',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `s_content`       varchar(2000)   NULL DEFAULT NULL,
    `user_content`    varchar(2000)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_msg_logs
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_msg_logs`;
CREATE TABLE `fastgpt_chat_msg_logs`
(
    `logs_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_id`          bigint NULL DEFAULT NULL COMMENT 'msgId',
    `logs_type`       tinyint(1) NULL DEFAULT NULL COMMENT '类型 1标记正确 2修改回复',
    `content`         varchar(2000)   NULL DEFAULT NULL COMMENT '修改后内容',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `s_content`       varchar(2000)   NULL DEFAULT NULL,
    `user_content`    varchar(2000)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '聊天记录日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_replace_text
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_replace_text`;
CREATE TABLE `fastgpt_chat_replace_text`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `type`         int NULL DEFAULT NULL COMMENT '类型',
    `content`      varchar(255)   NULL DEFAULT NULL COMMENT '原来的文本',
    `change_count` varchar(255)   NULL DEFAULT NULL COMMENT '变更后的文本',
    `status`       int NULL DEFAULT 0 COMMENT '状态',
    `sort`         int NULL DEFAULT 0 COMMENT '排序',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `type`(`type` ASC) USING BTREE,
    INDEX          `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '屏蔽词' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_replace_words
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_replace_words`;
CREATE TABLE `fastgpt_chat_replace_words`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `type`         int NULL DEFAULT NULL COMMENT '类型',
    `content`      varchar(255)   NULL DEFAULT NULL COMMENT '原来的文本',
    `change_count` varchar(255)   NULL DEFAULT NULL COMMENT '变更后的文本',
    `status`       int NULL DEFAULT 0 COMMENT '状态',
    `sort`         int NULL DEFAULT 0 COMMENT '排序',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `type`(`type` ASC) USING BTREE,
    INDEX          `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '屏蔽词' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_chat_session
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_session`;
CREATE TABLE `fastgpt_chat_session` (
    `session_id` bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `chat_id` varchar(255) DEFAULT NULL COMMENT '会话标识',
    `user_id` varchar(200) DEFAULT NULL COMMENT '客户ID uid',
    `qw_ext_id` bigint DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id` bigint DEFAULT NULL COMMENT '企微userId',
    `kf_id` varchar(200) DEFAULT NULL COMMENT '客服ID 应用id?',
    `status` tinyint(1) DEFAULT NULL COMMENT '状态 1会话中 2已结束',
    `company_id` bigint DEFAULT NULL COMMENT '公司ID',
    `is_look` tinyint DEFAULT '0' COMMENT '是否查看',
    `user_type` tinyint(1) DEFAULT '1' COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `nick_name` varchar(200) DEFAULT NULL COMMENT '客户昵称',
    `avatar` varchar(200) DEFAULT NULL COMMENT '头像',
    `is_artificial` int DEFAULT NULL COMMENT '是否转人工',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime DEFAULT NULL COMMENT '结束时间',
    `remind_time` datetime DEFAULT NULL COMMENT '需要提醒时间',
    `remind_status` int DEFAULT NULL COMMENT '0 不需要提醒 1 需要提醒',
    `remind_count` int DEFAULT NULL COMMENT '提醒次数',
    `last_time` datetime DEFAULT NULL COMMENT '时间',
    `is_reply` int DEFAULT '0' COMMENT '转人工是否回复',
    `user_info` varchar(100) DEFAULT NULL COMMENT '用户信息',
    PRIMARY KEY (`session_id`) USING BTREE,
    KEY `user_id` (`user_id`) USING BTREE,
    KEY `qw_ext_id` (`qw_ext_id`) USING BTREE,
    KEY `qw_user_id` (`qw_user_id`) USING BTREE,
    KEY `kf_id` (`kf_id`) USING BTREE,
    KEY `status` (`status`) USING BTREE,
    KEY `is_artificial` (`is_artificial`) USING BTREE,
    KEY `remind_status` (`remind_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='对话关系表';

-- ----------------------------
-- Table structure for fastgpt_chat_voice_homo
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_chat_voice_homo`;
CREATE TABLE `fastgpt_chat_voice_homo`
(
    `id`           bigint NOT NULL,
    `content`      varchar(255)   NULL DEFAULT NULL COMMENT '原来的文本',
    `change_count` varchar(255)   NULL DEFAULT NULL COMMENT '变更后的文本',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '多音字' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_collection
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_collection`;
CREATE TABLE `fastgpt_collection`
(
    `collection_id`   varchar(255)   NOT NULL COMMENT '集合id',
    `type`            varchar(255)   NULL DEFAULT NULL COMMENT 'folder/virtual 空的集合 text 纯文本集合 link链接集合 file 文件集合',
    `datasetId`       varchar(255)   NULL DEFAULT NULL COMMENT '知识库的ID',
    `parentId`        varchar(255)   NULL DEFAULT NULL COMMENT '父级ID，不填则默认为根目录',
    `name`            varchar(255)   NULL DEFAULT NULL COMMENT '集合名称',
    `data_amount`     bigint NULL DEFAULT NULL COMMENT '数据总量',
    `collection_type` varchar(255)   NULL DEFAULT NULL COMMENT 'folder (文件夹) ,virtual(虚拟集合(手动集合))',
    `metadata`        varchar(255)   NULL DEFAULT NULL COMMENT '元数据',
    `text`            varchar(1000)   NULL DEFAULT NULL COMMENT '原文本',
    `trainingType`    varchar(255)   NULL DEFAULT NULL COMMENT 'chunk(按文本长度进行分割),qa(QA拆分)',
    `chunkSize`       int NULL DEFAULT NULL COMMENT '每个 chunk 的长度（可选）. chunk模式:100~3000; qa模式: 4000~模型最大token（16k模型通常建议不超过10000）',
    `chunkSplitter`   varchar(255)   NULL DEFAULT NULL COMMENT '自定义最高优先分割符号（可选）',
    `qaPrompt`        varchar(255)   NULL DEFAULT NULL COMMENT 'qa拆分自定义提示词（可选)',
    `link`            varchar(2000)   NULL DEFAULT NULL COMMENT '网络链接',
    `fileUrl`         varchar(2000)   NULL DEFAULT NULL COMMENT '文件链接',
    `fileName`        varchar(255)   NULL DEFAULT NULL COMMENT '文件名称',
    `updateTime`      datetime NULL DEFAULT NULL,
    `createTime`      datetime NULL DEFAULT NULL,
    `forbid`          tinyint NULL DEFAULT NULL COMMENT '修改集合禁用状态（可选）',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '所属企业ID',
    PRIMARY KEY (`collection_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '集合表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_collention_data
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_collention_data`;
CREATE TABLE `fastgpt_collention_data`
(
    `id`           varchar(255)   NOT NULL COMMENT '数据id',
    `datasetId`    varchar(255)   NULL DEFAULT NULL COMMENT '知识库id',
    `collectionId` varchar(255)   NULL DEFAULT NULL COMMENT '集合ID',
    `question`     longtext   NULL COMMENT '主要数据 q（必填 )',
    `answer`       longtext   NULL COMMENT '辅助数据 a（选填）',
    `chunkIndex`   bigint NULL DEFAULT NULL COMMENT '分块下表',
    `indexes`      text   NULL COMMENT '自定义索引（选填）。可以不传或者传空数组，默认都会使用q和a组成一个索引',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '所属企业ID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '集合里数据表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_countent
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_countent`;
CREATE TABLE `fastgpt_countent`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `tag_ids`     text   NULL COMMENT '关键词id',
    `content`     text   NULL COMMENT '对话内容',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '语料模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_dataset
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_dataset`;
CREATE TABLE `fastgpt_dataset`
(
    `dataset_id`  varchar(255)   NOT NULL COMMENT '知识库id',
    `parentId`    varchar(255)   NULL DEFAULT NULL COMMENT '父级ID，用于构建目录结构。通常可以为 null 或者直接不传。',
    `type`        varchar(255)   NULL DEFAULT NULL COMMENT 'dataset或者folder，代表普通知识库和文件夹。不传则代表创建普通知识库。',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '知识库名',
    `intro`       varchar(255)   NULL DEFAULT NULL COMMENT '介绍',
    `avatar`      varchar(255)   NULL DEFAULT NULL COMMENT '头像地址',
    `vectorModel` varchar(255)   NULL DEFAULT NULL COMMENT '向量模型（建议传空，用系统默认的）',
    `agentModel`  varchar(255)   NULL DEFAULT NULL COMMENT '文本处理模型（建议传空，用系统默认的）',
    `updateTime`  datetime NULL DEFAULT NULL,
    `createTime`  datetime NULL DEFAULT NULL,
    `company_id`  bigint NULL DEFAULT NULL COMMENT '所属企业ID',
    `permission`  varchar(255)   NULL DEFAULT NULL COMMENT '许可',
    `canWrite`    tinyint NULL DEFAULT NULL COMMENT '允许修改',
    `isOwner`     tinyint NULL DEFAULT NULL COMMENT '是否私有',
    PRIMARY KEY (`dataset_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '知识库列表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_event_log
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_event_log`;
CREATE TABLE `fastgpt_event_log`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `sender_id`       bigint NULL DEFAULT NULL COMMENT '用户对话id',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色id',
    `event_name`      varchar(255)   NULL DEFAULT NULL COMMENT '事件名称',
    `count`           bigint NULL DEFAULT NULL COMMENT '事件触发次数',
    `type`            int NULL DEFAULT NULL COMMENT '事件类型(1事件 2转人工 3总对话)',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建事件',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_event_log_total
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_event_log_total`;
CREATE TABLE `fastgpt_event_log_total`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色id',
    `count`           bigint NULL DEFAULT NULL COMMENT '互动人数1',
    `type`            int NULL DEFAULT NULL COMMENT '日志类型',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `stat_time`       varchar(50)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_all`(`id` ASC, `role_id` ASC, `count` ASC, `type` ASC, `company_id` ASC, `company_user_id` ASC, `qw_user_id` ASC, `stat_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_event_token_log
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_event_token_log`;
CREATE TABLE `fastgpt_event_token_log`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `sender_id`       bigint NULL DEFAULT NULL COMMENT '用户对话id',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色id',
    `event_name`      varchar(255)   NULL DEFAULT NULL COMMENT 'ai事件名称',
    `event_type`      int NULL DEFAULT NULL COMMENT 'ai事件类型(1文字 2图片 3 ....)',
    `token_count`     bigint NULL DEFAULT NULL COMMENT 'token消耗量',
    `token_type`      int NULL DEFAULT NULL COMMENT 'token消耗类型(1输入 2输出)',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建事件',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_ext_user_tag
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_ext_user_tag`;
CREATE TABLE `fastgpt_ext_user_tag`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `tag_id`      varchar(255)   NULL DEFAULT NULL COMMENT '标签id',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `tag_name`(`tag_id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_keyword
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_keyword`;
CREATE TABLE `fastgpt_keyword`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `keyword`      varchar(255)   NULL DEFAULT NULL COMMENT '关键字',
    `keyword_type` tinyint(1) NULL DEFAULT NULL COMMENT '关键字类型 0客服 1总后台',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_keyword_artificial
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_keyword_artificial`;
CREATE TABLE `fastgpt_keyword_artificial`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT,
    `user_id`              varchar(200)   NULL DEFAULT NULL COMMENT '客户ID uid',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`      bigint NULL DEFAULT NULL COMMENT '销售ID',
    `keyword_send_content` varchar(200)   NULL DEFAULT NULL COMMENT 'ai指令文本',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '生成时间',
    `keyword_send_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_keyword_send
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_keyword_send`;
CREATE TABLE `fastgpt_keyword_send`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `keyword`         varchar(200)   NULL DEFAULT NULL COMMENT '营销关键字',
    `keyword_type`    tinyint(1) NULL DEFAULT NULL COMMENT '营销关键字类型',
    `content`         varchar(2000)   NULL DEFAULT NULL COMMENT '发送文字内容',
    `content_type`    tinyint(1) NULL DEFAULT NULL COMMENT '内容类型',
    `img_url`         varchar(500)   NULL DEFAULT NULL COMMENT '图片访问地址',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 0正常 1停用',
    `role_ids`        varchar(500)   NULL DEFAULT NULL COMMENT 'Ai角色id',
    `crop_id`         int NULL DEFAULT NULL COMMENT '企业微信ID',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `role_id`         int NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_push_token_total
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_push_token_total`;
CREATE TABLE `fastgpt_push_token_total`
(
    `id`         bigint NOT NULL AUTO_INCREMENT,
    `type`       int NULL DEFAULT NULL COMMENT 'sop发送任务类型',
    `qw_user_id` bigint NULL DEFAULT NULL COMMENT '企微员工id',
    `company_id` bigint NULL DEFAULT NULL COMMENT '公司id',
    `status`     int NULL DEFAULT NULL COMMENT '状态',
    `stat_time`  varchar(255)   NULL DEFAULT NULL COMMENT '时间',
    `count`      bigint NULL DEFAULT NULL COMMENT 'token消耗数量',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_role
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_role`;
CREATE TABLE `fastgpt_role` (
  `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `role_name` varchar(200) DEFAULT NULL COMMENT '客服名称',
  `company_id` bigint DEFAULT NULL COMMENT '所属公司',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `role_type` tinyint(1) DEFAULT NULL COMMENT '角色类型 1 AI客服',
  `mode_config_json` varchar(2000) DEFAULT NULL COMMENT '模型JSON',
  `mode` tinyint(1) DEFAULT NULL COMMENT '模型 2 fastGpt',
  `avatar` varchar(500) DEFAULT NULL COMMENT '客服头像',
  `kf_id` varchar(50) DEFAULT NULL COMMENT '客服ID',
  `kf_url` varchar(200) DEFAULT NULL COMMENT '客服URL',
  `kf_media_id` varchar(100) DEFAULT NULL,
  `reminder_words` varchar(2000) DEFAULT NULL COMMENT '提示词',
  `bind_corp_id` varchar(255) DEFAULT NULL COMMENT '绑定的公司',
  `contact_info` varchar(255) DEFAULT NULL,
  `channel_type` varchar(255) DEFAULT NULL COMMENT '渠道类型',
  `logistics` tinyint(1) DEFAULT '0' COMMENT '是否开启物流提醒',
  `forbid_send_start` time DEFAULT '00:00:00' COMMENT '禁止起始时间',
  `forbid_send_end` time DEFAULT '04:59:59' COMMENT '禁止结束时间',
  `forbid_status` tinyint(1) DEFAULT '1' COMMENT '是否禁止时段回复 0是不开启禁止  1是开启禁止 默认为1',
  `status` tinyint(1) DEFAULT '0' COMMENT '角色状态 默认为0 0为启用 1为禁用',
  `send_course_status` tinyint(1) DEFAULT NULL COMMENT '是否发送新客先导课',
  `course_id` bigint DEFAULT NULL COMMENT '课程id',
  `user_info` varchar(3000) DEFAULT '昵称,性别,联系方式,预算范围,行程时长,预计出行时间,同行关系,核心需求,意向套餐' COMMENT '用户信息',
  PRIMARY KEY (`role_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='应用表';

-- ----------------------------
-- Table structure for fastgpt_role_tag
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_role_tag`;
CREATE TABLE `fastgpt_role_tag`
(
    `id`             int NOT NULL AUTO_INCREMENT,
    `role_id`        bigint NULL DEFAULT NULL COMMENT 'fastgpt_dataset的主键',
    `tag_ids`        text   NULL COMMENT 'qw_tag表的主键',
    `reminder_words` longtext   NULL COMMENT '提示词',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'AI的标签表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_role_type
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_role_type`;
CREATE TABLE `fastgpt_role_type`
(
    `id`           bigint NOT NULL,
    `name`         varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `contact_info` varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_tag
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_tag`;
CREATE TABLE `fastgpt_tag`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `tag_group_id` bigint NULL DEFAULT NULL COMMENT '标签组id',
    `tag`          varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `keyword`      text   NULL COMMENT '关键词',
    `create_by`    varchar(32)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    varchar(32)   NULL DEFAULT NULL COMMENT '更新人',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ai标签' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_tag_content
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_tag_content`;
CREATE TABLE `fastgpt_tag_content`
(
    `id`          int NOT NULL AUTO_INCREMENT,
    `tag_id`      varchar(255)   NULL DEFAULT NULL,
    `content`     text   NULL,
    `create_time` varchar(255)   NULL DEFAULT NULL,
    `update_time` varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_tag_group
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_tag_group`;
CREATE TABLE `fastgpt_tag_group`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `tag`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `sort`        int NULL DEFAULT NULL COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ai标签组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fastgpt_user
-- ----------------------------
DROP TABLE IF EXISTS `fastgpt_user`;
CREATE TABLE `fastgpt_user`
(
    `uid`             int NOT NULL COMMENT '用户id',
    `name`            varchar(255)   NULL DEFAULT NULL COMMENT '用户名称',
    `external_userid` varchar(200)   NULL DEFAULT NULL COMMENT '微信客户 external_userid',
    `avatar`          varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `unionid`         varchar(200)   NULL DEFAULT NULL COMMENT 'unionid',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`uid`) USING BTREE
) ENGINE = InnoDB COMMENT = '客户信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_adv
-- ----------------------------
DROP TABLE IF EXISTS `fs_adv`;
CREATE TABLE `fs_adv`
(
    `adv_id`      bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
    `adv_title`   varchar(255)   NOT NULL COMMENT '广告标题',
    `image_url`   varchar(255)   NULL DEFAULT '' COMMENT '广告图片',
    `adv_url`     varchar(255)   NULL DEFAULT NULL COMMENT '广告地址',
    `app_adv_url` varchar(255)   NULL DEFAULT NULL,
    `content`     longtext   NULL COMMENT '内容',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `status`      tinyint UNSIGNED NULL DEFAULT 1 COMMENT '状态(1:正常，0:禁用)',
    `sort`        int UNSIGNED NULL DEFAULT 1 COMMENT '排序',
    `adv_type`    tinyint(1) NULL DEFAULT 1 COMMENT '广告类型 1首页顶部 2首页底部',
    `show_type`   tinyint(1) NULL DEFAULT NULL COMMENT '显示类型 1公众号链接 2 小程序页面地址 3文章内容',
    `active_id`   bigint NULL DEFAULT NULL COMMENT '宣传活动',
    `original_id` varchar(50)   NULL DEFAULT NULL COMMENT '跳转小程序原始id',
    PRIMARY KEY (`adv_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '广告表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_adv_sem
-- ----------------------------
DROP TABLE IF EXISTS `fs_adv_sem`;
CREATE TABLE `fs_adv_sem`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `imei`         varchar(50)   NULL DEFAULT NULL COMMENT 'imei，Android设备标识：原值32位小写MD5  安卓10以上无法获取',
    `idfa`         varchar(50)   NULL DEFAULT NULL COMMENT 'idfa，IOS设备标识：原值',
    `oaid`         varchar(120)   NULL DEFAULT NULL COMMENT '广告标识符(OAID)是一种非永久性设备标识符。\n使用OAID可在保护用户个人数据隐私安全的前提下,',
    `android_id`   varchar(50)   NULL DEFAULT NULL COMMENT 'Android ID 是 Android 设备里\n不依赖于硬件的一种「半永久标识符」，',
    `akey`         varchar(20)   NULL DEFAULT NULL COMMENT '百度广告渠道标识码',
    `a_type`       varchar(20)   NULL DEFAULT NULL COMMENT '转化类型 标识用户的转化事件： activate:激活 register:注册 orders:付费（成单）\nactivate：激活\nregister：注册\norders：付费（成单）',
    `a_value`      varchar(20)   NULL DEFAULT NULL COMMENT '转换指标 转化类型为付费时，该字段定为付费金额-单位(分)，',
    `join_type`    varchar(10)   NULL DEFAULT NULL COMMENT '转化数据归因方式 imei/oaid/android_id/ip+(ua、os_version、model)/idfa/caid/mac',
    `ip`           varchar(20)   NULL DEFAULT NULL COMMENT '用户手机ip',
    `ua`           varchar(400)   NULL DEFAULT NULL COMMENT '数据上报终端设备，UserAgent',
    `os_version`   varchar(20)   NULL DEFAULT NULL COMMENT '操作系统版本',
    `model`        varchar(20)   NULL DEFAULT NULL COMMENT '设备信息 IOS样例：iPhone13,4 Android样例：EVA-AL10',
    `os_type`      tinyint(1) NULL DEFAULT NULL COMMENT '安卓：2；iOS：1；',
    `device_id`    varchar(20)   NULL DEFAULT NULL COMMENT '设备ID',
    `aid`          varchar(20)   NULL DEFAULT NULL COMMENT '创意ID',
    `pid`          varchar(20)   NULL DEFAULT NULL COMMENT '计划ID',
    `uid`          varchar(20)   NULL DEFAULT NULL COMMENT '单元ID',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '用户id',
    `click_id`     varchar(50)   NULL DEFAULT NULL COMMENT '回调地址',
    `callback_url` varchar(1000)   NULL DEFAULT NULL COMMENT '效果数据回传URL',
    `adv_type`     tinyint(1) NULL DEFAULT NULL COMMENT '0:百度',
    `cmd_type`     tinyint(1) NULL DEFAULT NULL COMMENT '操作阶段 -1未操作 0:激活  1:已注册  2:已下单  3:已回传  4.已跳转  5.已绑定',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `oaid`(`oaid` ASC) USING BTREE,
    INDEX          `ip`(`ip` ASC) USING BTREE,
    INDEX          `model`(`model` ASC) USING BTREE,
    INDEX          `ua`(`ua` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'App广告投流表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow`;
CREATE TABLE `fs_ai_workflow`
(
    `workflow_id`     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '工作流ID',
    `workflow_name`   varchar(100)   NOT NULL COMMENT '工作流名称',
    `workflow_desc`   varchar(500)   NULL DEFAULT NULL COMMENT '工作流描述',
    `workflow_type`   tinyint NULL DEFAULT 1 COMMENT '工作流类型 1对话流程 2任务流程 3审批流程',
    `status`          tinyint NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `version`         int NULL DEFAULT 1 COMMENT '版本号',
    `canvas_data`     longtext   NULL COMMENT '画布数据JSON(缩放、位置等)',
    `create_by`       varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`          varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `del_flag`        tinyint NULL DEFAULT 0 COMMENT '删除标志 0正常 1删除',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '绑定的销售id',
    PRIMARY KEY (`workflow_id`) USING BTREE,
    INDEX             `idx_workflow_name`(`workflow_name` ASC) USING BTREE,
    INDEX             `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'AI工作流主表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow_company_user
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow_company_user`;
CREATE TABLE `fs_ai_workflow_company_user`
(
    `id`              int NOT NULL AUTO_INCREMENT COMMENT '主键',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `workflow_id`     bigint NULL DEFAULT NULL COMMENT '工作流ID',
    `del_flag`        int NULL DEFAULT 0 COMMENT '删除标识0正常1删除',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow_company_voice
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow_company_voice`;
CREATE TABLE `fs_ai_workflow_company_voice`
(
    `id`              int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售用户ID',
    `workflow_id`     bigint NULL DEFAULT NULL COMMENT '工作流ID',
    `node_key`        varchar(225)   NULL DEFAULT NULL COMMENT '节点key',
    `statu`           int NULL DEFAULT 0 COMMENT '0正常1禁用',
    `voice_url`       varchar(255)   NULL DEFAULT NULL COMMENT '声音的url',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow_edge
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow_edge`;
CREATE TABLE `fs_ai_workflow_edge`
(
    `edge_id`         bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '连线ID',
    `workflow_id`     bigint                                                       NOT NULL COMMENT '工作流ID',
    `edge_key`        varchar(64)   NOT NULL COMMENT '连线唯一标识',
    `edge_label`      varchar(100)   NULL DEFAULT NULL COMMENT '连线标签',
    `source_node_key` varchar(64)   NOT NULL COMMENT '源节点Key',
    `target_node_key` varchar(64)   NOT NULL COMMENT '目标节点Key',
    `source_anchor`   varchar(20)   NULL DEFAULT 'bottom' COMMENT '源锚点 top/bottom/left/right',
    `target_anchor`   varchar(20)   NULL DEFAULT 'top' COMMENT '目标锚点',
    `edge_type`       varchar(20)   NULL DEFAULT 'smoothstep' COMMENT '连线类型 straight/smoothstep/bezier',
    `edge_color`      varchar(20)   NULL DEFAULT '#999999' COMMENT '连线颜色',
    `condition_expr`  varchar(500)   NULL DEFAULT NULL COMMENT '条件表达式',
    `sort_order`      int NULL DEFAULT 0 COMMENT '排序',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`edge_id`) USING BTREE,
    INDEX             `idx_workflow_id`(`workflow_id` ASC) USING BTREE,
    INDEX             `idx_source_node`(`source_node_key` ASC) USING BTREE,
    INDEX             `idx_target_node`(`target_node_key` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'AI工作流连线表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow_node
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow_node`;
CREATE TABLE `fs_ai_workflow_node`
(
    `node_id`     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '节点ID',
    `workflow_id` bigint                                                        NOT NULL COMMENT '工作流ID',
    `node_key`    varchar(64)    NOT NULL COMMENT '节点唯一标识',
    `node_name`   varchar(100)   NOT NULL COMMENT '节点名称',
    `node_type`   varchar(32)    NOT NULL COMMENT '节点类型 start/end/condition/action/ai/delay/http',
    `node_icon`   varchar(100)   NULL DEFAULT NULL COMMENT '节点图标',
    `node_color`  varchar(20)   NULL DEFAULT NULL COMMENT '节点颜色',
    `pos_x`       int NULL DEFAULT 0 COMMENT 'X坐标',
    `pos_y`       int NULL DEFAULT 0 COMMENT 'Y坐标',
    `width`       int NULL DEFAULT 200 COMMENT '节点宽度',
    `height`      int NULL DEFAULT 80 COMMENT '节点高度',
    `node_config` longtext   NULL COMMENT '节点配置JSON',
    `sort_order`  int NULL DEFAULT 0 COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `voice_url`   varchar(255)   NULL DEFAULT NULL COMMENT '声音的地址,目前只有start,end,ai需要',
    PRIMARY KEY (`node_id`) USING BTREE,
    INDEX         `idx_workflow_id`(`workflow_id` ASC) USING BTREE,
    INDEX         `idx_node_key`(`node_key` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'AI工作流节点表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_ai_workflow_node_type
-- ----------------------------
DROP TABLE IF EXISTS `fs_ai_workflow_node_type`;
CREATE TABLE `fs_ai_workflow_node_type`
(
    `type_id`        bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '类型ID',
    `type_code`      varchar(32)   NOT NULL COMMENT '类型编码',
    `type_name`      varchar(50)   NOT NULL COMMENT '类型名称',
    `type_icon`      varchar(100)   NULL DEFAULT NULL COMMENT '类型图标',
    `type_color`     varchar(20)   NULL DEFAULT '#1890ff' COMMENT '类型颜色',
    `type_category`  varchar(32)   NULL DEFAULT 'basic' COMMENT '类型分类 basic/logic/ai/integration',
    `default_config` text   NULL COMMENT '默认配置JSON',
    `sort_order`     int NULL DEFAULT 0 COMMENT '排序',
    `status`         tinyint NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`type_id`) USING BTREE,
    UNIQUE INDEX `uk_type_code`(`type_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '工作流节点类型配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_app_contact_way
-- ----------------------------
DROP TABLE IF EXISTS `fs_app_contact_way`;
CREATE TABLE `fs_app_contact_way`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `corp_name`   varchar(255)   NULL DEFAULT NULL COMMENT '主体名称',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '主体id',
    `qw_user_ids` varchar(255)   NULL DEFAULT NULL COMMENT '企微用户ids',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '过期时间 ',
    `company_id`  int NULL DEFAULT NULL COMMENT '公司id',
    `status`      int NULL DEFAULT NULL COMMENT '状态 0下架  1上架',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'app客服活码上架表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_app_version
-- ----------------------------
DROP TABLE IF EXISTS `fs_app_version`;
CREATE TABLE `fs_app_version`
(
    `version_id`       int NOT NULL AUTO_INCREMENT,
    `version_name`     varchar(200)   NULL DEFAULT NULL COMMENT '版本名称',
    `version_code`     bigint NULL DEFAULT NULL COMMENT '版本CODE',
    `note`             varchar(1000)   NULL DEFAULT NULL COMMENT '更新描述',
    `url`              varchar(1000)   NULL DEFAULT NULL COMMENT '下载地址',
    `type`             tinyint(1) NULL DEFAULT 1 COMMENT 'APP类型 1android 2ios',
    `is_force`         tinyint(1) NULL DEFAULT 0 COMMENT '是否强制更新',
    `create_time`      datetime NULL DEFAULT NULL,
    `app_type`         tinyint(1) NULL DEFAULT NULL COMMENT 'APP 类型 1医生端 2药师端',
    `app_store_update` tinyint NULL DEFAULT 1 COMMENT '应用市场强制更新',
    `update_config`    varchar(255)   NULL DEFAULT NULL COMMENT 'APP更新配置',
    `baidu_url`        varchar(255)   NULL DEFAULT NULL COMMENT 'baidu渠道下载地址',
    `h5_url`           varchar(100)   NULL DEFAULT NULL COMMENT 'h5网页下载地址',
    PRIMARY KEY (`version_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '安卓版本' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_article
-- ----------------------------
DROP TABLE IF EXISTS `fs_article`;
CREATE TABLE `fs_article`
(
    `article_id`   int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_id`      int NULL DEFAULT NULL COMMENT '分类ID',
    `title`        varchar(100)   NULL DEFAULT NULL COMMENT '标题',
    `image_url`    varchar(255)   NULL DEFAULT NULL COMMENT '封面图片',
    `is_tui`       tinyint(1) NULL DEFAULT NULL COMMENT '是否推荐',
    `is_news`      tinyint(1) NULL DEFAULT NULL COMMENT '是否最新',
    `contents`     longtext   NULL COMMENT '内容',
    `views`        int NULL DEFAULT 0 COMMENT '浏览数',
    `sort`         int NULL DEFAULT 0 COMMENT '排序',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `publish_time` datetime NULL DEFAULT NULL COMMENT '发布时间',
    PRIMARY KEY (`article_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '文章表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_article_cate
-- ----------------------------
DROP TABLE IF EXISTS `fs_article_cate`;
CREATE TABLE `fs_article_cate`
(
    `cate_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_name` varchar(200)   NULL DEFAULT NULL COMMENT '分类名称',
    `status`    tinyint(1) NULL DEFAULT 1 COMMENT '状态 1正常 0禁用',
    `is_del`    tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `sort`      int NULL DEFAULT 1 COMMENT '排序号',
    `img_url`   varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`cate_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '文章分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_article_views
-- ----------------------------
DROP TABLE IF EXISTS `fs_article_views`;
CREATE TABLE `fs_article_views`
(
    `view_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `article_id`  bigint NULL DEFAULT NULL COMMENT '文章ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户ID',
    `create_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`view_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '文章阅读表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_barrage_package_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_barrage_package_order`;
CREATE TABLE `fs_barrage_package_order`
(
    `order_id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_sn`            varchar(50)   NULL DEFAULT NULL COMMENT '订单号',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户ID',
    `doctor_id`           bigint NULL DEFAULT NULL COMMENT '医生ID',
    `package_id`          bigint NULL DEFAULT NULL COMMENT '套餐ID',
    `package_name`        varchar(255)   NULL DEFAULT NULL COMMENT '套餐名称',
    `pay_money`           decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `is_pay`              tinyint(1) NULL DEFAULT NULL COMMENT '是否支付',
    `days`                int NULL DEFAULT NULL COMMENT '天数',
    `status`              tinyint(1) NULL DEFAULT NULL COMMENT '状态 1待支付 2服务中 3已过期',
    `start_time`          date NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time`         date NULL DEFAULT NULL COMMENT '结束时间',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `form_json`           varchar(2000)   NULL DEFAULT NULL COMMENT '用户回答内容',
    `inquiry_order_id`    bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    `store_order_id`      bigint NULL DEFAULT NULL COMMENT '药品订单id',
    `package_json`        longtext   NULL COMMENT '套餐包json',
    `patient_json`        varchar(2000)   NULL DEFAULT NULL COMMENT '就诊人json',
    `pay_time`            datetime NULL DEFAULT NULL COMMENT '支付时间',
    `refund_img`          varchar(255)   NULL DEFAULT NULL COMMENT '退款图片',
    `refund_explain`      varchar(255)   NULL DEFAULT NULL COMMENT '退款用户说明',
    `refund_reason`       varchar(255)   NULL DEFAULT NULL COMMENT '不退款的理由',
    `refund_time`         datetime NULL DEFAULT NULL COMMENT '退款时间',
    `refund_money`        decimal(10, 2) NULL DEFAULT NULL COMMENT '退款金额',
    `refund_status`       tinyint NULL DEFAULT 0 COMMENT '0 未退款 1 申请中 2 已退款',
    `total_price`         decimal(10, 2) NULL DEFAULT NULL COMMENT '套餐金额',
    `address_json`        varchar(255)   NULL DEFAULT NULL COMMENT '地址信息',
    `pay_type`            int NULL DEFAULT NULL COMMENT '支付类型',
    `remark`              varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `store_id`            bigint NULL DEFAULT NULL COMMENT '店铺id',
    `pay_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '实际支付',
    `pay_remain`          decimal(10, 2) NULL DEFAULT 0.00 COMMENT '剩余金额',
    `pay_delivery`        decimal(10, 2) NULL DEFAULT NULL COMMENT '邮费',
    `discount_money`      decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠金额',
    `follow_num`          int NULL DEFAULT 0 COMMENT '随访次数',
    `follow_count`        int NULL DEFAULT 0 COMMENT '已经随访次数',
    `product_cost_price`  decimal(10, 2) NULL DEFAULT NULL COMMENT '药品成本价',
    `inquiry_cost_price`  decimal(10, 2) NULL DEFAULT NULL COMMENT '问诊成本价',
    `total_cost_price`    decimal(10, 2) NULL DEFAULT NULL COMMENT '成本价',
    `cost_discount_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '成本优惠金额',
    `cycle`               int NULL DEFAULT NULL COMMENT '用药周期',
    `package_sub_type`    int NULL DEFAULT NULL COMMENT '套餐包子类型',
    `follow_temp_id`      bigint NULL DEFAULT NULL COMMENT '随访模板id',
    `follow_rate`         int NULL DEFAULT NULL COMMENT '随访频率',
    `follow_time`         date NULL DEFAULT NULL COMMENT '下次随访日期',
    `follow_doctor_id`    bigint NULL DEFAULT NULL COMMENT '随访医生id',
    `prescribe_price`     decimal(10, 2) NULL DEFAULT 0.00 COMMENT '处方定价',
    `user_coupon_id`      bigint NULL DEFAULT NULL COMMENT '优惠劵id',
    `dept_id`             bigint NULL DEFAULT NULL COMMENT '部门id',
    `doctor_remark`       varchar(255)   NULL DEFAULT NULL COMMENT '医嘱',
    `package_second_name` varchar(255)   NULL DEFAULT NULL,
    `icd_code`            varchar(100)   NULL DEFAULT NULL,
    `source`              int NULL DEFAULT NULL COMMENT '订单来源',
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_chinese_medicine
-- ----------------------------
DROP TABLE IF EXISTS `fs_chinese_medicine`;
CREATE TABLE `fs_chinese_medicine`
(
    `id`            bigint                                                  NOT NULL AUTO_INCREMENT,
    `medicine_name` varchar(255)   NOT NULL COMMENT '中药名称',
    `img_url`       varchar(2000)   NULL DEFAULT NULL COMMENT '图片',
    `sort`          int NULL DEFAULT NULL COMMENT '排序',
    `is_usual`      tinyint(1) NULL DEFAULT NULL COMMENT '是否生活常见',
    `indication`    varchar(2000)   NULL DEFAULT NULL COMMENT '主治疾病',
    `action`        varchar(2000)   NULL DEFAULT NULL COMMENT '药物作用',
    `usage_method`  varchar(2000)   NULL DEFAULT NULL COMMENT '用药方法',
    `descs`         text   NULL COMMENT '基本信息',
    `msg`           varchar(2000)   NULL DEFAULT NULL COMMENT '注意事项',
    `vessel`        varchar(2000)   NULL DEFAULT NULL COMMENT '归经',
    `flavor`        varchar(2000)   NULL DEFAULT NULL COMMENT '五味',
    `status`        int NULL DEFAULT NULL COMMENT '状态',
    `pinyin`        varchar(200)   NULL DEFAULT NULL COMMENT '拼音',
    `action_title`  varchar(50)   NULL DEFAULT NULL COMMENT '功效概述',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '中药' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_city
-- ----------------------------
DROP TABLE IF EXISTS `fs_city`;
CREATE TABLE `fs_city`
(
    `id`         bigint                                                  NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `city_id`    varchar(15)    NOT NULL DEFAULT '' COMMENT '地址编码',
    `city_name`  varchar(100)   NOT NULL COMMENT '地区名称',
    `city_sname` varchar(500)   NULL DEFAULT NULL COMMENT '地区全称',
    `parent_id`  varchar(15)    NOT NULL COMMENT '上级编码',
    `spell`      varchar(5)   NULL DEFAULT NULL COMMENT '首字母',
    `city_type`  tinyint(1) NULL DEFAULT NULL COMMENT '类型：1是省会，2直辖市,3港澳台,4其它',
    `sort`       smallint NULL DEFAULT NULL COMMENT '同级下排序',
    `level`      tinyint(1) NULL DEFAULT NULL COMMENT '0全国、1省、2市区、3郊县、4街道、5居委会',
    `lng`        varchar(30)   NULL DEFAULT NULL COMMENT '经度',
    `lat`        varchar(30)   NULL DEFAULT NULL COMMENT '纬度',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '城市表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_complaint_template
-- ----------------------------
DROP TABLE IF EXISTS `fs_complaint_template`;
CREATE TABLE `fs_complaint_template`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT,
    `parent_id`   bigint                                                        NOT NULL COMMENT '上级编码',
    `sort`        bigint                                                        NOT NULL COMMENT '同级下排序',
    `name`        varchar(100)   NOT NULL COMMENT '投诉分类',
    `update_time` datetime NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint                                                       NOT NULL DEFAULT 0,
    `description` varchar(1000)   NULL DEFAULT NULL COMMENT '填写内容',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '投诉模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_coupon
-- ----------------------------
DROP TABLE IF EXISTS `fs_coupon`;
CREATE TABLE `fs_coupon`
(
    `coupon_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `title`         varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `limit_time`    datetime NULL DEFAULT NULL COMMENT '有效期',
    `price`         decimal(10, 2) NULL DEFAULT 0.00 COMMENT '面额',
    `number`        int NULL DEFAULT NULL COMMENT '数量',
    `coupon_type`   tinyint(1) NULL DEFAULT NULL COMMENT '卷类型 1代金券 ',
    `min_price`     decimal(10, 2) NULL DEFAULT 0.00 COMMENT '最低消费金额可用',
    `remain_number` int NULL DEFAULT 0 COMMENT '剩余数量',
    `status`        int NULL DEFAULT NULL COMMENT '状态',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '修改时间',
    `rate`          decimal(10, 2) NULL DEFAULT NULL COMMENT '打折',
    `limit_day`     int NULL DEFAULT NULL COMMENT '领取后有效期',
    `limit_type`    int NULL DEFAULT NULL COMMENT '有效期类别 1 过期时间 2 领取后有效期',
    `limit_count`   int NULL DEFAULT NULL COMMENT '每人可领取数量',
    `cate_ids`      varchar(200)   NULL DEFAULT NULL COMMENT '可使用类别',
    `is_show`       int NULL DEFAULT NULL COMMENT '是否展示',
    PRIMARY KEY (`coupon_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_answer_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_answer_logs`;
CREATE TABLE `fs_course_answer_logs`
(
    `log_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户Id',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '课程小节Id\r\n',
    `is_right`        int NULL DEFAULT NULL COMMENT '是否全部正确 0 否 1是',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `qw_user_id`      int NULL DEFAULT NULL COMMENT '企微userid',
    `course_id`       int NULL DEFAULT NULL COMMENT '课程id',
    `question_json`   varchar(2048)   NULL DEFAULT NULL COMMENT '题目JSON',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `remark`          varchar(255)   NULL DEFAULT NULL,
    `watch_log_id`    bigint NULL DEFAULT NULL COMMENT '观看记录id',
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期id',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `video_id`(`user_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `is_right`(`is_right` ASC) USING BTREE,
    INDEX             `idx_user_createtime`(`user_id` ASC, `create_time` ASC) USING BTREE,
    INDEX             `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX             `idx_video_id`(`video_id` ASC) USING BTREE,
    INDEX             `idx_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `idx_qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX             `idx_period_id`(`period_id` ASC) USING BTREE,
    INDEX             `idx_watch`(`watch_log_id` ASC) USING BTREE,
    INDEX             `idx_answer_log_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '答题日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_answer_logs_1
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_answer_logs_1`;
CREATE TABLE `fs_course_answer_logs_1`
(
    `log_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户Id',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '课程小节Id\r\n',
    `is_right`        int NULL DEFAULT NULL COMMENT '是否全部正确 0 否 1是',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `qw_user_id`      int NULL DEFAULT NULL COMMENT '企微userid',
    `course_id`       int NULL DEFAULT NULL COMMENT '课程id',
    `question_json`   varchar(2048)   NULL DEFAULT NULL COMMENT '题目JSON',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `remark`          varchar(255)   NULL DEFAULT NULL,
    `watch_log_id`    bigint NULL DEFAULT NULL COMMENT '观看记录id',
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期id',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `video_id`(`user_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `is_right`(`is_right` ASC) USING BTREE,
    INDEX             `idx_user_createtime`(`user_id` ASC, `create_time` ASC) USING BTREE,
    INDEX             `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX             `idx_video_id`(`video_id` ASC) USING BTREE,
    INDEX             `idx_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `idx_qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX             `idx_period_id`(`period_id` ASC) USING BTREE,
    INDEX             `idx_watch`(`watch_log_id` ASC) USING BTREE,
    INDEX             `idx_answer_log_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '答题日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_domain_name
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_domain_name`;
CREATE TABLE `fs_course_domain_name`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id',
    `domain_name` varchar(255)   NULL DEFAULT NULL COMMENT '域名',
    `status`      tinyint NULL DEFAULT 1 COMMENT '状态 0 停用  1正常',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '过期时间 ',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_link`(`domain_name` ASC) USING BTREE COMMENT '短链后缀唯一主键'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程短链域名表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_finish_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_finish_temp`;
CREATE TABLE `fs_course_finish_temp`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `name`                varchar(50)   NULL DEFAULT NULL COMMENT '模板名称',
    `status`              int NULL DEFAULT NULL COMMENT '状态 1正常 0停用',
    `setting`             text   NULL COMMENT '规则',
    `chat_setting`        text   NULL COMMENT '完课恭喜规则',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_by`           varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `course_id`           bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`            int NULL DEFAULT NULL COMMENT '小节视频id',
    `company_user_ids`    varchar(255)   NULL DEFAULT NULL COMMENT '归属销售id(对多)',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`              int NULL DEFAULT 0 COMMENT '删除标志',
    `is_all_company_user` tinyint NULL DEFAULT 2 COMMENT '是否 对整个销售公司可用 1是 2否',
    `parent_id`           bigint NULL DEFAULT NULL COMMENT '父级ID',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `index1`(`create_time` ASC, `video_id` ASC, `is_del` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '完课模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_finish_temp_parent
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_finish_temp_parent`;
CREATE TABLE `fs_course_finish_temp_parent`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课程ID',
    `company_id`  bigint NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '完课模板父表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_link
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_link`;
CREATE TABLE `fs_course_link`
(
    `link_id`         bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id',
    `link`            varchar(255)   NULL DEFAULT NULL COMMENT '链接后缀',
    `real_link`       text   NULL COMMENT '真实链接',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '过期时间 ',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售id',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微userId',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '课节id',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微主体id',
    `course_id`       int NULL DEFAULT NULL COMMENT '课堂Id',
    `qw_external_id`  bigint NULL DEFAULT NULL COMMENT '企微外部联系人userId',
    `link_type`       int NULL DEFAULT 0 COMMENT '链接类型 0:正常链接  1:应急链接',
    `is_room`         int NULL DEFAULT 0 COMMENT '是否群',
    `chat_id`         varchar(255)   NULL DEFAULT NULL,
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期id',
    PRIMARY KEY (`link_id`) USING BTREE,
    UNIQUE INDEX `index_link`(`link` ASC) USING BTREE COMMENT '短链后缀唯一主键',
    INDEX             `idx_link`(`link` ASC) USING BTREE COMMENT '短链普通索引',
    INDEX             `qw_user_id`(`qw_user_id` ASC, `video_id` ASC, `qw_external_id` ASC, `link_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_order`;
CREATE TABLE `fs_course_order`
(
    `course_order_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '拍单商品订单表id',
    `order_code`        varchar(32)   NULL DEFAULT NULL COMMENT '订单编号',
    `user_id`           bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_product_id` bigint NULL DEFAULT NULL COMMENT '拍单商品id',
    `course_id`         bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`          bigint NULL DEFAULT NULL COMMENT '视频小节id',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`       datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`course_order_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '拍单商品订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_play_source_config
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_play_source_config`;
CREATE TABLE `fs_course_play_source_config`
(
    `id`                 bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`               varchar(255)   NOT NULL COMMENT '小程序/公众号名称',
    `appid`              varchar(50)    NOT NULL COMMENT '小程序/公众号appid',
    `secret`             varchar(64)    NOT NULL COMMENT '小程序/公众号secret',
    `img`                varchar(512)   NULL DEFAULT NULL COMMENT '小程序/公众号icon图标',
    `original_id`        varchar(20)   NULL DEFAULT NULL COMMENT '小程序/公众号原始id',
    `token`              varchar(255)   NOT NULL COMMENT 'token',
    `aes_key`            varchar(255)   NOT NULL COMMENT 'aesKey',
    `msg_data_format`    varchar(255)   NOT NULL COMMENT 'msgDataFormat',
    `type`               tinyint NULL DEFAULT 1 COMMENT '类型 1小程序 2公众号',
    `is_del`             tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 0正常 1删除',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '修改时间',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司ID',
    `set_company_ids`    varchar(300)   NULL DEFAULT NULL COMMENT '销售公司ids 用于判定销售公司可见编辑列表',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_user_id`     bigint NULL DEFAULT NULL COMMENT '创建人',
    `create_dept_id`     bigint NULL DEFAULT NULL COMMENT '创建部门',
    `is_mall`            tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否是互医/商城小程序  (默认0) 0否 1是',
    `status`             tinyint(1) NULL DEFAULT 0 COMMENT '小程序状态：0正常，1半封禁，2封禁',
    `merchant_config_id` bigint NULL DEFAULT NULL COMMENT '商户支付配置id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                `idx_appid`(`appid` ASC) USING BTREE,
    INDEX                `idx_is_del`(`is_del` ASC) USING BTREE,
    INDEX                `idx_update`(`update_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '点播播放源配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_product
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_product`;
CREATE TABLE `fs_course_product`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT '拍单商品id',
    `img_url`         varchar(255)   NULL DEFAULT NULL COMMENT '商品图片',
    `images`          varchar(255)   NULL DEFAULT NULL COMMENT '商品组图',
    `bar_code`        varchar(255)   NULL DEFAULT NULL COMMENT '产品条码',
    `sort`            int NULL DEFAULT NULL COMMENT '排序',
    `stock`           int NULL DEFAULT NULL COMMENT '库存',
    `product_content` varchar(255)   NULL DEFAULT NULL COMMENT '商品介绍',
    `product_price`   decimal(10, 2) NULL DEFAULT NULL COMMENT '商品价格',
    `product_name`    varchar(100)   NULL DEFAULT NULL COMMENT '商品名称',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '拍单商品表（看课商品表）' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_product_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_product_order`;
CREATE TABLE `fs_course_product_order`
(
    `course_order_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '拍单商品订单表id',
    `order_code`        varchar(32)   NULL DEFAULT NULL COMMENT '订单编号',
    `user_id`           bigint NULL DEFAULT NULL COMMENT '用户id',
    `user_name`         varchar(255)   NULL DEFAULT NULL COMMENT '用户名称',
    `user_phone`        varchar(255)   NULL DEFAULT NULL COMMENT '用户电话',
    `course_product_id` bigint NULL DEFAULT NULL COMMENT '拍单商品id',
    `product_json`      varchar(2000)   NULL DEFAULT NULL COMMENT '商品json',
    `course_id`         bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`          bigint NULL DEFAULT NULL COMMENT '视频小节id',
    `is_pay`            int NULL DEFAULT NULL COMMENT '支付状态 0 待支付 1已支付',
    `pay_time`          datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`          int NULL DEFAULT NULL COMMENT '支付方式 微信',
    `status`            int NULL DEFAULT NULL COMMENT '1 待支付 2已支付 3 已完成 -1 申请退款 -2 : 退款成功',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `refund_time`       datetime NULL DEFAULT NULL COMMENT '申请退款时间',
    `refund_explain`    varchar(255)   NULL DEFAULT NULL COMMENT '申请退款理由',
    `verify_code`       varchar(255)   NULL DEFAULT NULL COMMENT '核销码',
    `update_time`       datetime NULL DEFAULT NULL COMMENT '修改时间',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '销售id',
    `ext_id`            bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    PRIMARY KEY (`course_order_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '拍单商品订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_question_bank
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_question_bank`;
CREATE TABLE `fs_course_question_bank`
(
    `id`                int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `title`             varchar(255)   NULL DEFAULT NULL COMMENT '问题',
    `sort`              int NULL DEFAULT NULL COMMENT '排序',
    `type`              int NULL DEFAULT NULL COMMENT '类别1 单选 2 多选 ',
    `status`            int NULL DEFAULT NULL COMMENT '状态',
    `question_type`     int NULL DEFAULT NULL COMMENT '题目类别',
    `question_sub_type` bigint NULL DEFAULT NULL COMMENT '问题子类别',
    `question`          varchar(500)   NULL DEFAULT NULL COMMENT '选项',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `answer`            varchar(255)   NULL DEFAULT NULL COMMENT '答案',
    `create_by`         varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `user_id`           bigint NULL DEFAULT NULL COMMENT '用户id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '题库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_question_category
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_question_category`;
CREATE TABLE `fs_course_question_category`
(
    `cate_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '题目分类表ID',
    `pid`         bigint                                                  NOT NULL COMMENT '父id',
    `cate_name`   varchar(100)   NOT NULL COMMENT '分类名称',
    `sort`        mediumint NULL DEFAULT NULL COMMENT '排序',
    `is_show`     tinyint(1) NULL DEFAULT 1 COMMENT '是否推荐',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
    PRIMARY KEY (`cate_id`) USING BTREE,
    INDEX         `pid`(`pid` ASC) USING BTREE,
    INDEX         `is_base`(`is_show` ASC) USING BTREE,
    INDEX         `sort`(`sort` ASC) USING BTREE,
    INDEX         `add_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '题目分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_red_packet_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_red_packet_log`;
CREATE TABLE `fs_course_red_packet_log`
(
    `log_id`             bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `out_batch_no`       varchar(255)   NULL DEFAULT NULL COMMENT '批次单号',
    `course_id`          int NULL DEFAULT NULL COMMENT '课程id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`           bigint NULL DEFAULT NULL COMMENT '小节id',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司id',
    `amount`             decimal(10, 2) NULL DEFAULT NULL COMMENT '转帐金额',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`             tinyint NULL DEFAULT NULL COMMENT '状态 0 发送中  1  已发送  2余额不足待发送',
    `qw_user_id`         bigint NULL DEFAULT NULL COMMENT '企微分享userId',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '更新时间',
    `watch_log_id`       bigint NULL DEFAULT NULL COMMENT '观看记录id',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `period_id`          bigint NULL DEFAULT NULL COMMENT '营期id',
    `result`             varchar(500)   NULL DEFAULT NULL,
    `batch_id`           varchar(100)   NULL DEFAULT NULL COMMENT '微信批次ID',
    `app_id`             varchar(50)   NULL DEFAULT NULL COMMENT '微信APPID',
    `acc_balance_before` decimal(10, 2) NULL DEFAULT NULL COMMENT '账户余额变更前',
    `acc_balance_after`  decimal(10, 2) NULL DEFAULT NULL COMMENT '账户余额变更后',
    `mch_id`             varchar(50)   NULL DEFAULT NULL COMMENT '商户ID',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX                `index_user_id`(`user_id` ASC) USING BTREE,
    INDEX                `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX                `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX                `index_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                `index_status`(`status` ASC) USING BTREE,
    INDEX                `index_order_num`(`out_batch_no` ASC) USING BTREE,
    INDEX                `idx_user`(`user_id` ASC) USING BTREE,
    INDEX                `idx_company`(`company_id` ASC) USING BTREE,
    INDEX                `idx_company_user`(`company_user_id` ASC) USING BTREE,
    INDEX                `idx_course`(`course_id` ASC) USING BTREE,
    INDEX                `idx_video`(`video_id` ASC) USING BTREE,
    INDEX                `idx_period`(`period_id` ASC) USING BTREE,
    INDEX                `idx_watch`(`watch_log_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链课程红包记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_red_packet_log_1
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_red_packet_log_1`;
CREATE TABLE `fs_course_red_packet_log_1`
(
    `log_id`             bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `out_batch_no`       varchar(255)   NULL DEFAULT NULL COMMENT '批次单号',
    `course_id`          int NULL DEFAULT NULL COMMENT '课程id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`           bigint NULL DEFAULT NULL COMMENT '小节id',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司id',
    `amount`             decimal(10, 2) NULL DEFAULT NULL COMMENT '转帐金额',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`             tinyint NULL DEFAULT NULL COMMENT '状态 0 发送中  1  已发送  2余额不足待发送',
    `qw_user_id`         bigint NULL DEFAULT NULL COMMENT '企微分享userId',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '更新时间',
    `watch_log_id`       bigint NULL DEFAULT NULL COMMENT '观看记录id',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `period_id`          bigint NULL DEFAULT NULL COMMENT '营期id',
    `result`             varchar(500)   NULL DEFAULT NULL,
    `batch_id`           varchar(100)   NULL DEFAULT NULL COMMENT '微信批次ID',
    `app_id`             varchar(50)   NULL DEFAULT NULL COMMENT '微信APPID',
    `acc_balance_before` decimal(10, 2) NULL DEFAULT NULL COMMENT '账户余额变更前',
    `acc_balance_after`  decimal(10, 2) NULL DEFAULT NULL COMMENT '账户余额变更后',
    `mch_id`             varchar(50)   NULL DEFAULT NULL COMMENT '商户ID',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX                `index_user_id`(`user_id` ASC) USING BTREE,
    INDEX                `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX                `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX                `index_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                `index_status`(`status` ASC) USING BTREE,
    INDEX                `index_order_num`(`out_batch_no` ASC) USING BTREE,
    INDEX                `idx_user`(`user_id` ASC) USING BTREE,
    INDEX                `idx_company`(`company_id` ASC) USING BTREE,
    INDEX                `idx_company_user`(`company_user_id` ASC) USING BTREE,
    INDEX                `idx_course`(`course_id` ASC) USING BTREE,
    INDEX                `idx_video`(`video_id` ASC) USING BTREE,
    INDEX                `idx_period`(`period_id` ASC) USING BTREE,
    INDEX                `idx_watch`(`watch_log_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链课程红包记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_red_packet_retry
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_red_packet_retry`;
CREATE TABLE `fs_course_red_packet_retry`
(
    `log_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `out_batch_no`    varchar(255)   NULL DEFAULT NULL COMMENT '批次单号',
    `course_id`       int NULL DEFAULT NULL COMMENT '课程id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '小节id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `amount`          decimal(10, 2) NULL DEFAULT NULL COMMENT '转帐金额',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`          tinyint NULL DEFAULT NULL COMMENT '状态 0 发送中  1  已发送',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微userId',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `watch_log_id`    bigint NULL DEFAULT NULL COMMENT '观看记录id',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `send_open_id`    varchar(255)   NULL DEFAULT NULL COMMENT '发放openId',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX             `index_user_id`(`user_id` ASC) USING BTREE,
    INDEX             `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX             `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX             `index_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `index_status`(`status` ASC) USING BTREE,
    INDEX             `index_order_num`(`out_batch_no` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程红包失败重试记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_sop
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_sop`;
CREATE TABLE `fs_course_sop`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `name`        varchar(50)   NULL DEFAULT NULL COMMENT '规则名称',
    `status`      int NULL DEFAULT NULL COMMENT '状态 1正常 0停用',
    `setting`     text   NULL COMMENT '规则',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_by`   varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `sop_type`    tinyint NULL DEFAULT NULL COMMENT 'sop类型 （1：课程小节 2：直播）',
    `business_id` bigint NULL DEFAULT 1 COMMENT '关联ID(vedioid)',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '短链',
    `is_audit`    tinyint NULL DEFAULT 0 COMMENT '是否审核',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_send_type_create_time`(`sop_type` ASC, `create_time` ASC) USING BTREE,
    INDEX         `idx_company_status_type`(`company_id` ASC, `status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '看课sop' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_sop_app_link
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_sop_app_link`;
CREATE TABLE `fs_course_sop_app_link`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `link`            varchar(255)   NULL DEFAULT NULL COMMENT '链接后缀',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '过期时间 ',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` int NULL DEFAULT NULL COMMENT '销售id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微userId',
    `qw_user_name`    varchar(255)   NULL DEFAULT NULL COMMENT '企微员工昵称',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微主体id',
    `course_id`       int NULL DEFAULT NULL COMMENT '课程Id',
    `course_title`    varchar(255)   NULL DEFAULT NULL COMMENT '课程标题',
    `course_url`      varchar(255)   NULL DEFAULT NULL COMMENT '课程封面',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '课节id',
    `video_title`     varchar(255)   NULL DEFAULT NULL COMMENT '课节描述',
    `app_real_Link`   varchar(255)   NULL DEFAULT NULL COMMENT '跳转链接',
    `qw_external_id`  bigint NULL DEFAULT NULL COMMENT '企微外部联系人userId',
    `is_read`         tinyint NULL DEFAULT 0 COMMENT '是否已读',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `qwExternalId_indx`(`qw_external_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'sop发送app消息的记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_sop_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_sop_logs`;
CREATE TABLE `fs_course_sop_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `qw_userid`        varchar(255)   NULL DEFAULT NULL COMMENT 'qw_user表-企微的成员qw_user_id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `watch_status`     int NULL DEFAULT NULL COMMENT '状态（0:普通消息 1：待看课消息 2：看课中消息 3：已完课消息）',
    `content_json`     json NULL COMMENT '符合条件的规则',
    `send_status`      int NULL DEFAULT NULL COMMENT '发送(给成员)状态 0发送失败 1发送成功 3待发送 4未发送(未确定) 5已作废',
    `send_time_json`   text   NULL COMMENT '预计发送时间的json',
    `send_time`        datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `receiving_status` int NULL DEFAULT 0 COMMENT '接收(客户的)状态：0-未发送 1-已发送  2-发送失败',
    `msg_id`           varchar(255)   NULL DEFAULT NULL COMMENT '消息ID',
    `sop_id`           bigint NULL DEFAULT NULL COMMENT 'fs_sop表主键',
    `real_send_time`   datetime NULL DEFAULT NULL COMMENT '实际发送时间',
    `sop_type`         tinyint NULL DEFAULT 1 COMMENT 'sop类型 （1：课程小节 2：直播）',
    `business_id`      bigint NULL DEFAULT NULL COMMENT '关联ID',
    `remark`           varchar(500)   NULL DEFAULT NULL COMMENT '备注（发送失败的原因）',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT 'company_user的主键',
    `customer_id`      bigint NULL DEFAULT NULL COMMENT 'crm_customer的主键',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `unino_qw_sop_logs`(`qw_userid` ASC, `external_user_id` ASC, `send_time` ASC) USING BTREE,
    INDEX              `idx_userid_sendtime`(`qw_userid` ASC, `send_time` ASC) USING BTREE,
    INDEX              `idx_sendstatus`(`send_status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '看课SOP  定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_traffic_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_traffic_log`;
CREATE TABLE `fs_course_traffic_log`
(
    `log_id`                 bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '小节id',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `internet_traffic`       bigint NULL DEFAULT 0 COMMENT '使用流量',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微userId',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司id',
    `course_id`              int NULL DEFAULT NULL COMMENT '课程id',
    `uu_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '唯一id',
    `project`                int NULL DEFAULT NULL COMMENT '项目',
    `period_id`              bigint NULL DEFAULT NULL COMMENT '营期id',
    `status`                 int NULL DEFAULT NULL COMMENT '状态',
    `app_id`                 varchar(50)   NULL DEFAULT NULL COMMENT '小程序AppId',
    `type_flag`              int NULL DEFAULT NULL COMMENT '标识：0 小程序 1 app',
    PRIMARY KEY (`log_id`) USING BTREE,
    UNIQUE INDEX `index_uu_id`(`uu_id` ASC) USING BTREE COMMENT '唯一id标识',
    INDEX                    `company_id`(`company_id` ASC) USING BTREE COMMENT '公司id',
    INDEX                    `idx_company_create_time`(`company_id` ASC, `create_time` ASC) USING BTREE,
    INDEX                    `idx_comp_create_traffic`(`company_id` ASC, `create_time` ASC, `internet_traffic` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链课程流量记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_watch_comment
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_watch_comment`;
CREATE TABLE `fs_course_watch_comment`
(
    `comment_id`  bigint NOT NULL AUTO_INCREMENT COMMENT '评论id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `user_type`   tinyint NULL DEFAULT 2 COMMENT '用户类型，1-管理员，2-用户',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`    bigint NULL DEFAULT NULL COMMENT '视频id',
    `type`        tinyint NULL DEFAULT 1 COMMENT '评论类型 1：评论，2：回复',
    `parent_id`   bigint NULL DEFAULT NULL COMMENT '父评论id',
    `content`     varchar(500)   NULL DEFAULT NULL COMMENT '评论内容',
    `create_time` datetime NULL DEFAULT NULL COMMENT '评论时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_revoke`   tinyint NULL DEFAULT 0 COMMENT '是否是撤回的消息，1-是，0-否',
    `time`        int NULL DEFAULT NULL COMMENT '时间点，记录发送消息的视频播放时间点',
    `font_size`   varchar(20)   NULL DEFAULT NULL COMMENT '字体大小',
    `mode`        varchar(20)   NULL DEFAULT NULL COMMENT '展示模式',
    `color`       varchar(20)   NULL DEFAULT NULL COMMENT '字体颜色',
    PRIMARY KEY (`comment_id`) USING BTREE,
    INDEX         `user_id_index`(`user_id` ASC) USING BTREE,
    INDEX         `course_id_index`(`course_id` ASC) USING BTREE,
    INDEX         `video_id_index`(`video_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '看课评论表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_watch_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_watch_log`;
CREATE TABLE `fs_course_watch_log`
(
    `log_id`                 bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '小节id',
    `log_type`               int NULL DEFAULT NULL COMMENT '记录类型 1看课中 2完课 3待看课 4看课中断',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '更新时间 ',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `duration`               int NULL DEFAULT 0 COMMENT '播放时长',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微userId',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司id',
    `course_id`              int NULL DEFAULT NULL COMMENT '课程id',
    `send_type`              int NULL DEFAULT NULL COMMENT '归属发送方式：1 个微  2 企微',
    `reward_type`            int NULL DEFAULT NULL COMMENT '奖励类型 1：红包 2积分',
    `last_heartbeat_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后心跳时间',
    `sop_id`                 varchar(255)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `finish_time`            datetime NULL DEFAULT NULL COMMENT '完课时间',
    `send_finish_msg`        int NULL DEFAULT 0 COMMENT '是否发送完课消息',
    `camp_period_time`       date NULL DEFAULT NULL COMMENT 'sop任务中的营期',
    `day`                    int NULL DEFAULT NULL COMMENT '天数',
    `project`                int NULL DEFAULT NULL COMMENT '项目',
    `create_by`              varchar(255)   NULL DEFAULT NULL,
    `update_by`              datetime NULL DEFAULT NULL,
    `period_id`              bigint NULL DEFAULT NULL COMMENT '训练营营期id',
    `project_id`             int NULL DEFAULT NULL COMMENT '项目',
    `im_msg_send_detail_id`  bigint NULL DEFAULT NULL COMMENT 'im发送消息详情id',
    `watch_type`             tinyint NULL DEFAULT NULL COMMENT '看课方式：1 app  2 小程序',
    PRIMARY KEY (`log_id`) USING BTREE,
    UNIQUE INDEX `one_user`(`video_id` ASC, `qw_external_contact_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                    `user_id`(`user_id` ASC) USING BTREE,
    INDEX                    `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX                    `index_qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `index_log_type`(`log_type` ASC) USING BTREE,
    INDEX                    `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX                    `index_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                    `index_reward_type`(`reward_type` ASC) USING BTREE,
    INDEX                    `index_send_msg`(`send_finish_msg` ASC) USING BTREE,
    INDEX                    `idx_user_video_qw_user`(`user_id` ASC, `video_id` ASC, `qw_user_id` ASC, `qw_external_contact_id` ASC) USING BTREE,
    INDEX                    `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `qw_external_contact_id`(`qw_external_contact_id` ASC) USING BTREE,
    INDEX                    `index_finish_time`(`finish_time` ASC) USING BTREE,
    INDEX                    `idx_company_logid`(`company_id` ASC, `log_id` DESC) USING BTREE,
    INDEX                    `create_time`(`create_time` ASC) USING BTREE,
    INDEX                    `idx_create_company_user`(`create_time` ASC, `company_id` ASC, `user_id` ASC) USING BTREE,
    INDEX                    `idx_w_ctime_course_vid_uid_log`(`create_time` ASC, `course_id` ASC, `video_id` ASC, `user_id` ASC, `log_type` ASC) USING BTREE,
    INDEX                    `idx_period_id`(`period_id` ASC) USING BTREE,
    INDEX                    `fs_course_watch_log_update_time_IDX`(`update_time` ASC) USING BTREE,
    INDEX                    `fs_course_watch_log_camp_period_time_IDX`(`camp_period_time` ASC) USING BTREE,
    INDEX                    `idx_final_optimized`(`company_id` ASC, `send_type` ASC, `log_type` ASC, `create_time` ASC, `finish_time` DESC, `update_time` DESC) USING BTREE,
    INDEX                    `fs_course_watch_log_course_id_IDX`(`course_id` ASC) USING BTREE,
    INDEX                    `watch_type`(`watch_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链课程看课记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_watch_log_1
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_watch_log_1`;
CREATE TABLE `fs_course_watch_log_1`
(
    `log_id`                 bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '小节id',
    `log_type`               int NULL DEFAULT NULL COMMENT '记录类型 1看课中 2完课 3待看课 4看课中断',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '更新时间 ',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `duration`               int NULL DEFAULT 0 COMMENT '播放时长',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微userId',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司id',
    `course_id`              int NULL DEFAULT NULL COMMENT '课程id',
    `send_type`              int NULL DEFAULT NULL COMMENT '归属发送方式：1 个微  2 企微',
    `reward_type`            int NULL DEFAULT NULL COMMENT '奖励类型 1：红包 2积分',
    `last_heartbeat_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后心跳时间',
    `sop_id`                 varchar(255)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `finish_time`            datetime NULL DEFAULT NULL COMMENT '完课时间',
    `send_finish_msg`        int NULL DEFAULT 0 COMMENT '是否发送完课消息',
    `camp_period_time`       date NULL DEFAULT NULL COMMENT 'sop任务中的营期',
    `day`                    int NULL DEFAULT NULL COMMENT '天数',
    `project`                int NULL DEFAULT NULL COMMENT '项目',
    `create_by`              varchar(255)   NULL DEFAULT NULL,
    `update_by`              datetime NULL DEFAULT NULL,
    `period_id`              bigint NULL DEFAULT NULL COMMENT '训练营营期id',
    `project_id`             int NULL DEFAULT NULL COMMENT '项目',
    `im_msg_send_detail_id`  bigint NULL DEFAULT NULL COMMENT 'im发送消息详情id',
    `watch_type`             tinyint NULL DEFAULT NULL COMMENT '看课方式：1 app  2 小程序',
    PRIMARY KEY (`log_id`) USING BTREE,
    UNIQUE INDEX `one_user`(`video_id` ASC, `qw_external_contact_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                    `user_id`(`user_id` ASC) USING BTREE,
    INDEX                    `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX                    `index_qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `index_log_type`(`log_type` ASC) USING BTREE,
    INDEX                    `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX                    `index_company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                    `index_reward_type`(`reward_type` ASC) USING BTREE,
    INDEX                    `index_send_msg`(`send_finish_msg` ASC) USING BTREE,
    INDEX                    `idx_user_video_qw_user`(`user_id` ASC, `video_id` ASC, `qw_user_id` ASC, `qw_external_contact_id` ASC) USING BTREE,
    INDEX                    `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `qw_external_contact_id`(`qw_external_contact_id` ASC) USING BTREE,
    INDEX                    `index_finish_time`(`finish_time` ASC) USING BTREE,
    INDEX                    `idx_company_logid`(`company_id` ASC, `log_id` DESC) USING BTREE,
    INDEX                    `create_time`(`create_time` ASC) USING BTREE,
    INDEX                    `idx_create_company_user`(`create_time` ASC, `company_id` ASC, `user_id` ASC) USING BTREE,
    INDEX                    `idx_w_ctime_course_vid_uid_log`(`create_time` ASC, `course_id` ASC, `video_id` ASC, `user_id` ASC, `log_type` ASC) USING BTREE,
    INDEX                    `idx_period_id`(`period_id` ASC) USING BTREE,
    INDEX                    `fs_course_watch_log_update_time_IDX`(`update_time` ASC) USING BTREE,
    INDEX                    `fs_course_watch_log_camp_period_time_IDX`(`camp_period_time` ASC) USING BTREE,
    INDEX                    `idx_final_optimized`(`company_id` ASC, `send_type` ASC, `log_type` ASC, `create_time` ASC, `finish_time` DESC, `update_time` DESC) USING BTREE,
    INDEX                    `fs_course_watch_log_course_id_IDX`(`course_id` ASC) USING BTREE,
    INDEX                    `watch_type`(`watch_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短链课程看课记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_course_watch_log_bak
-- ----------------------------
DROP TABLE IF EXISTS `fs_course_watch_log_bak`;
CREATE TABLE `fs_course_watch_log_bak`
(
    `backup_id`              bigint   NOT NULL AUTO_INCREMENT COMMENT '备份ID',
    `original_log_id`        bigint   NOT NULL COMMENT '原日志ID',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '小节id',
    `log_type`               int NULL DEFAULT NULL COMMENT '记录类型 1看课中 2完课 3待看课 4看课中断',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '原始创建时间',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '原始更新时间',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `duration`               int NULL DEFAULT 0 COMMENT '播放时长(秒)',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微userId',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司id',
    `course_id`              int NULL DEFAULT NULL COMMENT '课程id',
    `send_type`              int NULL DEFAULT NULL COMMENT '归属发送方式：1 个微  2 企微',
    `reward_type`            int NULL DEFAULT NULL COMMENT '奖励类型 1：红包 2积分',
    `last_heartbeat_time`    datetime NULL DEFAULT NULL COMMENT '最后心跳时间',
    `sop_id`                 varchar(255)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `finish_time`            datetime NULL DEFAULT NULL COMMENT '完课时间',
    `send_finish_msg`        int NULL DEFAULT 0 COMMENT '是否发送完课消息 0否 1是',
    `camp_period_time`       date NULL DEFAULT NULL COMMENT 'sop任务中的营期',
    `day`                    int NULL DEFAULT NULL COMMENT '天数',
    `project`                int NULL DEFAULT NULL COMMENT '项目',
    `create_by`              varchar(255)   NULL DEFAULT NULL COMMENT '原始创建人',
    `update_by`              varchar(255)   NULL DEFAULT NULL COMMENT '原始更新人',
    `period_id`              bigint NULL DEFAULT NULL COMMENT '训练营营期id',
    `project_id`             int NULL DEFAULT NULL COMMENT '项目id',
    `im_msg_send_detail_id`  bigint NULL DEFAULT NULL COMMENT 'im发送消息详情id',
    `watch_type`             tinyint NULL DEFAULT 2 COMMENT '观看类型',
    `delete_time`            datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '删除时间',
    `delete_by`              bigint NULL DEFAULT NULL COMMENT '删除人',
    `delete_method`          tinyint NULL DEFAULT 1 COMMENT '删除方式 1手动删除 2自动清理',
    `original_data`          json NULL COMMENT '原始完整数据(JSON格式)',
    `backup_operator`        varchar(255)   NULL DEFAULT NULL COMMENT '备份操作人',
    `backup_batch_no`        varchar(50)   NULL DEFAULT NULL COMMENT '备份批次号',
    `remark`                 varchar(1000)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`backup_id`) USING BTREE,
    INDEX                    `idx_original_log_id`(`original_log_id` ASC) USING BTREE,
    INDEX                    `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX                    `idx_video_id`(`video_id` ASC) USING BTREE,
    INDEX                    `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX                    `idx_delete_time`(`delete_time` ASC) USING BTREE,
    INDEX                    `idx_delete_by`(`delete_by` ASC) USING BTREE,
    INDEX                    `idx_backup_batch_no`(`backup_batch_no` ASC) USING BTREE,
    INDEX                    `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程看课记录备份表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_delivery_notice
-- ----------------------------
DROP TABLE IF EXISTS `fs_delivery_notice`;
CREATE TABLE `fs_delivery_notice`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_id`      bigint NULL DEFAULT NULL COMMENT '订单号',
    `user_id`       bigint NULL DEFAULT NULL COMMENT '用户id',
    `ext_id`        bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `qw_user_id`    bigint NULL DEFAULT NULL COMMENT '企微账号',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '销售id',
    `delivery_sn`   varchar(255)   NULL DEFAULT NULL COMMENT '快递单号',
    `delivery_code` varchar(255)   NULL DEFAULT NULL COMMENT '快递编号',
    `delivery_name` varchar(255)   NULL DEFAULT NULL COMMENT '快递名称',
    `status`        int NULL DEFAULT NULL COMMENT '1 待收货 2 确认收货  3 退货',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `end_time`      datetime NULL DEFAULT NULL COMMENT '结束时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_delivery_notice_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_delivery_notice_logs`;
CREATE TABLE `fs_delivery_notice_logs`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `notice_id`   bigint NULL DEFAULT NULL COMMENT '通知id',
    `status`      bigint NULL DEFAULT NULL COMMENT '1 创建成功 2 创建失败',
    `content`     varchar(255)   NULL DEFAULT NULL COMMENT '发送内容',
    `msg`         varchar(255)   NULL DEFAULT NULL COMMENT '创建成功/appkey不存在/销售不在线/用户',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_department
-- ----------------------------
DROP TABLE IF EXISTS `fs_department`;
CREATE TABLE `fs_department`
(
    `dept_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `dept_name`   varchar(200)   NULL DEFAULT NULL COMMENT '科室名称',
    `dept_code`   varchar(50)   NULL DEFAULT '0' COMMENT '科室编码',
    `icon_url`    varchar(200)   NULL DEFAULT NULL COMMENT '图标',
    `sort`        int NULL DEFAULT 1 COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`   varchar(50)   NULL DEFAULT NULL COMMENT '创建者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `update_by`   varchar(50)   NULL DEFAULT NULL COMMENT '更新者',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `is_tui`      tinyint(1) NULL DEFAULT NULL COMMENT '是否推荐',
    PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '科室表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_df_account
-- ----------------------------
DROP TABLE IF EXISTS `fs_df_account`;
CREATE TABLE `fs_df_account`
(
    `id`                   bigint                                                       NOT NULL AUTO_INCREMENT,
    `df_app_key`           varchar(50)   NOT NULL,
    `df_appsecret`         varchar(50)   NOT NULL,
    `login_account`        varchar(20)   NOT NULL COMMENT '登录账号',
    `call_back_url`        varchar(50)   NOT NULL COMMENT '回调地址',
    `monthly_card`         varchar(20)   NOT NULL COMMENT '月结账号',
    `express_product_code` varchar(20)   NOT NULL COMMENT '物流产品编码',
    `sender_name`          varchar(20)   NOT NULL COMMENT '寄件人姓名',
    `sender_phone`         varchar(20)   NOT NULL COMMENT '寄件人手机',
    `city_ids`             varchar(255)   NULL DEFAULT NULL,
    `sender_province`      varchar(20)   NOT NULL COMMENT '寄件人省',
    `sender_city`          varchar(20)   NOT NULL COMMENT '寄件人市',
    `sender_district`      varchar(20)   NOT NULL COMMENT '寄件人区',
    `sender_address`       varchar(50)   NOT NULL COMMENT '寄件人地址',
    `create_time`          datetime NULL DEFAULT NULL,
    `update_time`          datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '代服账户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_disease
-- ----------------------------
DROP TABLE IF EXISTS `fs_disease`;
CREATE TABLE `fs_disease`
(
    `disease_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '20',
    `disease_name` varchar(200)   NULL DEFAULT NULL,
    `disease_code` varchar(200)   NULL DEFAULT NULL,
    `dept_id`      bigint NULL DEFAULT NULL COMMENT '所属部门',
    `introduction` varchar(2000)   NULL DEFAULT NULL COMMENT '简介',
    `symptom`      varchar(2000)   NULL DEFAULT NULL COMMENT '症状',
    `diagnose`     varchar(2000)   NULL DEFAULT NULL COMMENT '诊断',
    `inspect`      varchar(2000)   NULL DEFAULT NULL COMMENT '检验',
    `status`       tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`disease_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '疾病表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor`;
CREATE TABLE `fs_doctor`
(
    `doctor_id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_name`                   varchar(20)   NULL DEFAULT NULL COMMENT '医生姓名',
    `introduction`                  varchar(200)   NULL DEFAULT NULL COMMENT '简介',
    `speciality`                    varchar(2000)   NULL DEFAULT NULL,
    `certificate_code`              varchar(200)   NULL DEFAULT NULL,
    `certificate_images`            varchar(1000)   NULL DEFAULT NULL COMMENT '证书照片',
    `avatar`                        varchar(200)   NULL DEFAULT NULL COMMENT '工作照',
    `honor_img_url`                 varchar(2000)   NULL DEFAULT NULL COMMENT '荣誉资质图片',
    `user_id`                       bigint NULL DEFAULT NULL COMMENT '所属用户',
    `hospital_id`                   bigint NULL DEFAULT NULL COMMENT '所属医院',
    `dept_id`                       bigint NULL DEFAULT NULL COMMENT '科室ID',
    `balance`                       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `position`                      varchar(20)   NULL DEFAULT NULL COMMENT '职务',
    `tags`                          varchar(200)   NULL DEFAULT NULL COMMENT '标签',
    `create_time`                   datetime NULL DEFAULT NULL,
    `update_time`                   datetime NULL DEFAULT NULL,
    `status`                        tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常 0禁用',
    `remark`                        varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `ping_star`                     tinyint(1) NULL DEFAULT 0 COMMENT '评分',
    `order_number`                  int NULL DEFAULT 0 COMMENT '咨询量',
    `speed`                         int NULL DEFAULT 0 COMMENT '平均响应速度 分钟',
    `mobile`                        varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `doctor_type`                   tinyint(1) NULL DEFAULT NULL COMMENT '医生类型 1医生 2药师',
    `sex`                           tinyint(1) NULL DEFAULT NULL COMMENT '性别',
    `bitthday`                      date NULL DEFAULT NULL COMMENT '出生年月',
    `id_card`                       varchar(20)   NULL DEFAULT NULL COMMENT '身份证号',
    `id_card_front_url`             varchar(200)   NULL DEFAULT NULL COMMENT '身份证正面',
    `id_card_back_url`              varchar(200)   NULL DEFAULT NULL COMMENT '身份证反面',
    `city_ids`                      varchar(200)   NULL DEFAULT NULL COMMENT '所属省市区',
    `province`                      varchar(200)   NULL DEFAULT NULL COMMENT '省',
    `city`                          varchar(200)   NULL DEFAULT NULL COMMENT '市',
    `district`                      varchar(200)   NULL DEFAULT NULL COMMENT '区',
    `is_tui`                        tinyint(1) NULL DEFAULT 0 COMMENT '是否推荐',
    `is_expert`                     tinyint(1) NULL DEFAULT 0 COMMENT '是否专家',
    `work_status`                   tinyint(1) NULL DEFAULT NULL COMMENT '工作状态',
    `is_audit`                      tinyint(1) NULL DEFAULT NULL COMMENT '是否审核',
    `audit_time`                    datetime NULL DEFAULT NULL COMMENT '审核时间',
    `price_json`                    varchar(2000)   NULL DEFAULT NULL COMMENT '价格配置',
    `account`                       varchar(20)   NULL DEFAULT NULL COMMENT '帐号',
    `password`                      varchar(50)   NULL DEFAULT NULL COMMENT '密码',
    `certificate_images_back`       varchar(200)   NULL DEFAULT NULL,
    `practise_code`                 varchar(200)   NULL DEFAULT NULL,
    `practise_images`               varchar(1000)   NULL DEFAULT NULL,
    `practise_images_back`          varchar(200)   NULL DEFAULT NULL,
    `sign_url`                      varchar(200)   NULL DEFAULT NULL COMMENT '签名',
    `is_accept`                     tinyint(1) NULL DEFAULT NULL COMMENT '是否可以抢单',
    `package_ids`                   varchar(200)   NULL DEFAULT NULL COMMENT '套餐包id',
    `is_self`                       tinyint(1) NULL DEFAULT NULL,
    `jpush_id`                      varchar(50)   NULL DEFAULT NULL,
    `prescribe_doctor_id`           bigint NULL DEFAULT NULL COMMENT '处方医生id',
    `is_agreement_prescribe_doctor` int NULL DEFAULT NULL,
    `is_prescribe_doctor`           int NULL DEFAULT NULL COMMENT '是否处方医生',
    `sort`                          int NULL DEFAULT NULL,
    `doctor_card_url`               varchar(255)   NULL DEFAULT NULL COMMENT '医生二维码图片',
    `extract_json`                  longtext   NULL,
    `is_show`                       tinyint(1) NULL DEFAULT NULL COMMENT '是否展示',
    `audit_type`                    varchar(50)   NULL DEFAULT NULL,
    `is_follow`                     tinyint(1) NULL DEFAULT 1,
    `store_ids`                     varchar(255)   NULL DEFAULT NULL,
    `gpt_role_id`                   bigint NULL DEFAULT NULL,
    `hw_obs_url`                    varchar(1000)   NULL DEFAULT NULL COMMENT '医生风采视频华为云地址',
    `tx_pcdn_url`                   varchar(1000)   NULL DEFAULT NULL COMMENT '医生风采视频腾讯云地址',
    `thumbnail`                     varchar(1000)   NULL DEFAULT NULL COMMENT '视频缩略图',
    `video_url`                     varchar(1000)   NULL DEFAULT NULL COMMENT '视频地址',
    `store_id`                      bigint(20) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '店铺ID',
    PRIMARY KEY (`doctor_id`) USING BTREE,
    UNIQUE INDEX `account`(`account` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_ai_chat_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_ai_chat_log`;
CREATE TABLE `fs_doctor_ai_chat_log`
(
    `logs_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_id`      bigint NULL DEFAULT NULL COMMENT 'msgId',
    `logs_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型 1标记正确 2修改回复',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `ai_content`  varchar(2000)   NULL DEFAULT NULL COMMENT '修改后内容',
    `content`     varchar(2000)   NULL DEFAULT NULL,
    `create_by`   varchar(255)   NULL DEFAULT NULL,
    `company_id`  bigint NULL DEFAULT NULL,
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '记录聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_ai_chat_msg
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_ai_chat_msg`;
CREATE TABLE `fs_doctor_ai_chat_msg`
(
    `msg_id`      bigint NOT NULL AUTO_INCREMENT,
    `session_id`  bigint NULL DEFAULT NULL COMMENT '消息id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `doctor_id`   bigint NULL DEFAULT NULL COMMENT '用户id',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '消息内容',
    `msg_type`    tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1用户发送 2ai',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`    varchar(2000)   NULL DEFAULT NULL COMMENT '消息JSON',
    `status`      tinyint(1) NULL DEFAULT 0,
    `nick_name`   varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`      varchar(200)   NULL DEFAULT NULL,
    `user_type`   tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户 4APP用户',
    `patient_id`  bigint NULL DEFAULT NULL COMMENT '就诊人id',
    PRIMARY KEY (`msg_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_ai_chat_session
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_ai_chat_session`;
CREATE TABLE `fs_doctor_ai_chat_session`
(
    `session_id`  bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `doctor_id`   bigint NULL DEFAULT NULL COMMENT '医生id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '客户ID',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 1会话中 2已结束',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
    `is_look`     tinyint NULL DEFAULT 0 COMMENT '是否查看',
    `user_type`   tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `nick_name`   varchar(200)   NULL DEFAULT NULL COMMENT '客户昵称',
    `avatar`      varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `patient_id`  bigint NULL DEFAULT NULL COMMENT '就诊人',
    PRIMARY KEY (`session_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '对话关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_article
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_article`;
CREATE TABLE `fs_doctor_article`
(
    `article_id`  bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id`   bigint NULL DEFAULT NULL,
    `image_url`   varchar(200)   NULL DEFAULT NULL COMMENT '封面图',
    `cate_id`     tinyint NULL DEFAULT NULL,
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `content`     longtext   NULL COMMENT '内容',
    `views`       int NULL DEFAULT NULL COMMENT '浏览量',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 0草稿 1发布',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `video_url`   varchar(200)   NULL DEFAULT NULL COMMENT 'vodeoUrl',
    PRIMARY KEY (`article_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生文章表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_article_cate
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_article_cate`;
CREATE TABLE `fs_doctor_article_cate`
(
    `cate_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_name` varchar(200)   NULL DEFAULT NULL COMMENT '分类名称',
    `status`    tinyint(1) NULL DEFAULT 1 COMMENT '状态 1正常 0禁用',
    `is_del`    tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `img_url`   varchar(255)   NULL DEFAULT NULL COMMENT '图片',
    `sort`      int NULL DEFAULT 1 COMMENT '排序号',
    PRIMARY KEY (`cate_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生文章分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_bill
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_bill`;
CREATE TABLE `fs_doctor_bill`
(
    `bill_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id`   bigint NULL DEFAULT NULL COMMENT '会员ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '金额',
    `balance`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `bill_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `business_id` varchar(20)   NULL DEFAULT NULL COMMENT '关联ID',
    PRIMARY KEY (`bill_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '帐单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_confirm
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_confirm`;
CREATE TABLE `fs_doctor_confirm`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `collection_id`  bigint NULL DEFAULT NULL COMMENT '用户信息采集id',
    `start_time`     datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_time`       datetime NULL DEFAULT NULL COMMENT '结束时间',
    `create_time`    datetime NULL DEFAULT NULL,
    `update_time`    datetime NULL DEFAULT NULL,
    `doctor_id`      bigint NULL DEFAULT NULL COMMENT '医生id',
    `confirm_second` bigint NULL DEFAULT NULL COMMENT '确认秒数',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_extract
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_extract`;
CREATE TABLE `fs_doctor_extract`
(
    `extract_id`     bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id`      bigint UNSIGNED NULL DEFAULT NULL COMMENT 'doctorID',
    `extract_type`   varchar(32)   NULL DEFAULT 'bank' COMMENT 'bank = 银行卡 alipay = 支付宝 weixin=微信',
    `user_name`      varchar(200)   NULL DEFAULT NULL COMMENT '用户姓名',
    `phone`          varchar(20)   NULL DEFAULT NULL COMMENT '联系电话',
    `bank_no`        varchar(32)   NULL DEFAULT '0' COMMENT '银行卡',
    `bank_name`      varchar(256)   NULL DEFAULT '' COMMENT '开户行',
    `bank_sub_name`  varchar(256)   NULL DEFAULT NULL COMMENT '支行',
    `alipay_name`    varchar(50)   NULL DEFAULT NULL COMMENT '支付宝姓名',
    `alipay_account` varchar(64)   NULL DEFAULT '' COMMENT '支付宝账号',
    `wechat`         varchar(15)   NULL DEFAULT NULL COMMENT '微信号',
    `extract_price`  decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '提现金额',
    `balance`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00,
    `fail_msg`       varchar(128)   NULL DEFAULT NULL COMMENT '无效原因',
    `fail_time`      datetime NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`    datetime NULL DEFAULT NULL,
    `status`         tinyint NULL DEFAULT 0 COMMENT '-1 未通过 0 审核中 1 已提现',
    `remark`         varchar(512)   NULL DEFAULT NULL,
    `is_del`         tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`extract_id`) USING BTREE,
    INDEX            `extract_type`(`extract_type` ASC) USING BTREE,
    INDEX            `status`(`status` ASC) USING BTREE,
    INDEX            `add_time`(`create_time` ASC) USING BTREE,
    INDEX            `openid`(`doctor_id` ASC) USING BTREE,
    INDEX            `fail_time`(`fail_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生提现表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_oper_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_oper_log`;
CREATE TABLE `fs_doctor_oper_log`
(
    `oper_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
    `title`          varchar(50)   NULL DEFAULT '' COMMENT '模块标题',
    `business_type`  int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除）',
    `method`         varchar(100)   NULL DEFAULT '' COMMENT '方法名称',
    `request_method` varchar(10)   NULL DEFAULT '' COMMENT '请求方式',
    `operator_type`  int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
    `oper_name`      varchar(50)   NULL DEFAULT '' COMMENT '操作人员',
    `oper_url`       varchar(255)   NULL DEFAULT '' COMMENT '请求URL',
    `oper_ip`        varchar(50)   NULL DEFAULT '' COMMENT '主机地址',
    `oper_location`  varchar(255)   NULL DEFAULT '' COMMENT '操作地点',
    `oper_param`     varchar(2000)   NULL DEFAULT '' COMMENT '请求参数',
    `json_result`    text   NULL COMMENT '返回参数',
    `status`         int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
    `error_msg`      varchar(2000)   NULL DEFAULT '' COMMENT '错误消息',
    `oper_time`      datetime NULL DEFAULT NULL COMMENT '操作时间',
    PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_prescribe
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_prescribe`;
CREATE TABLE `fs_doctor_prescribe`
(
    `prescribe_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `prescribe_type` tinyint(1) NULL DEFAULT NULL COMMENT '处方类型 1西药 2中药',
    `diagnose`       varchar(200)   NULL DEFAULT NULL COMMENT '诊断',
    `doctor_id`      bigint NULL DEFAULT NULL COMMENT '医生ID',
    `store_id`       bigint NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `usage_json`     longtext   NULL COMMENT '使用JSON',
    `remark`         varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `recipe_type`    int NULL DEFAULT NULL COMMENT '制作类型 0-颗粒剂 1-膏方',
    `cycle`          int NULL DEFAULT NULL COMMENT '用药周期',
    `icd_code`       varchar(100)   NULL DEFAULT NULL,
    PRIMARY KEY (`prescribe_id`) USING BTREE,
    INDEX            `doctor_id`(`doctor_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生处方表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_prescribe_drug
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_prescribe_drug`;
CREATE TABLE `fs_doctor_prescribe_drug`
(
    `drug_id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id`             bigint NULL DEFAULT NULL,
    `prescribe_id`          bigint NULL DEFAULT NULL COMMENT '处方ID',
    `drug_name`             varchar(200)   NULL DEFAULT NULL COMMENT '药品名称',
    `drug_spec`             varchar(200)   NULL DEFAULT NULL COMMENT '规格',
    `usage_method`          varchar(200)   NULL DEFAULT NULL COMMENT '使⽤⽅法',
    `usage_frequency_unit`  varchar(200)   NULL DEFAULT NULL COMMENT '药品频次',
    `usage_per_use_count`   varchar(200)   NULL DEFAULT NULL COMMENT '每次⽤药数量',
    `usage_per_use_unit`    varchar(200)   NULL DEFAULT NULL COMMENT '每次⽤药单位',
    `usage_days`            varchar(200)   NULL DEFAULT NULL COMMENT '天数',
    `drug_num`              int NULL DEFAULT NULL COMMENT '药品数量',
    `drug_price`            decimal(11, 2) NULL DEFAULT NULL COMMENT '药品单价',
    `drug_unit`             varchar(20)   NULL DEFAULT NULL COMMENT '药品单位',
    `instructions`          varchar(2000)   NULL DEFAULT NULL COMMENT '药品说明书',
    `product_id`            bigint NULL DEFAULT NULL COMMENT '产品ID',
    `drug_img_url`          varchar(200)   NULL DEFAULT NULL COMMENT '药品图片',
    `product_attr_value_id` bigint NULL DEFAULT NULL COMMENT '规格ID',
    `remark`                varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `drug_type`             tinyint(1) NULL DEFAULT NULL COMMENT '1西药 2中药',
    `is_drug`               tinyint(1) NULL DEFAULT 1 COMMENT '是否药品',
    PRIMARY KEY (`drug_id`) USING BTREE,
    INDEX                   `prescribe_id`(`prescribe_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生处方药品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_price
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_price`;
CREATE TABLE `fs_doctor_price`
(
    `price_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `doctor_id`  bigint NULL DEFAULT NULL,
    `price_type` tinyint(1) NULL DEFAULT NULL COMMENT '类型 1图文 2语音',
    `price`      decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
    `times`      int NULL DEFAULT NULL COMMENT '时长 分钟',
    `status`     tinyint(1) NULL DEFAULT NULL COMMENT '状态1开启 0停用',
    PRIMARY KEY (`price_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生价目表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_doctor_words
-- ----------------------------
DROP TABLE IF EXISTS `fs_doctor_words`;
CREATE TABLE `fs_doctor_words`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id`   bigint NULL DEFAULT NULL COMMENT '医生ID',
    `content`     varchar(255)   NULL DEFAULT NULL COMMENT '内容',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医生常用语表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_drug_report
-- ----------------------------
DROP TABLE IF EXISTS `fs_drug_report`;
CREATE TABLE `fs_drug_report`
(
    `report_id`        bigint NOT NULL AUTO_INCREMENT,
    `user_id`          bigint NULL DEFAULT NULL COMMENT '用户id',
    `doctor_id`        bigint NULL DEFAULT NULL COMMENT '医生id',
    `follow_id`        bigint NULL DEFAULT NULL COMMENT '随访单id',
    `store_order_id`   bigint NULL DEFAULT NULL COMMENT '药品订单id',
    `inquiry_order_id` bigint NULL DEFAULT NULL COMMENT '问诊订单ID',
    `status`           int NULL DEFAULT NULL COMMENT '状态 1已提交，2已评论',
    `report_summary`   text   NULL COMMENT '咨询总结',
    `report_advice`    varchar(2000)   NULL DEFAULT NULL COMMENT '生活建议',
    `ping_star`        int NULL DEFAULT NULL COMMENT '评分',
    `ping_content`     varchar(2000)   NULL DEFAULT NULL COMMENT '评价',
    `ping_time`        datetime NULL DEFAULT NULL COMMENT '评价时间',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`           varchar(2000)   NULL DEFAULT NULL,
    PRIMARY KEY (`report_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用药报告' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_drug_report_count
-- ----------------------------
DROP TABLE IF EXISTS `fs_drug_report_count`;
CREATE TABLE `fs_drug_report_count`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `user_id`        bigint NULL DEFAULT NULL COMMENT '用户id',
    `patient_id`     bigint NULL DEFAULT NULL COMMENT '病人id',
    `patient_name`   varchar(50)   NULL DEFAULT NULL COMMENT '病人名称',
    `doctor_id`      bigint NULL DEFAULT NULL COMMENT '医生id',
    `doctor_account` varchar(50)   NULL DEFAULT NULL COMMENT '医生账户',
    `doctor_name`    varchar(50)   NULL DEFAULT NULL COMMENT '医生名称',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '所属公司',
    `store_id`       bigint NULL DEFAULT NULL COMMENT '药店id',
    `count`          int NULL DEFAULT NULL COMMENT '咨询次数',
    `month`          int NULL DEFAULT NULL COMMENT '月份',
    `update_time`    date NULL DEFAULT NULL COMMENT '更改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '咨询统计表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_export_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_export_task`;
CREATE TABLE `fs_export_task`
(
    `task_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `task_type`       tinyint(1) NULL DEFAULT NULL COMMENT '类型 1帐单记录',
    `start_time`      datetime NULL DEFAULT NULL COMMENT '天始时间',
    `finish_time`     datetime NULL DEFAULT NULL COMMENT '结束时间',
    `remark`          varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '状态 0 导出 1 成功 2 失败 ',
    `file_url`        varchar(200)   NULL DEFAULT NULL COMMENT '文件地址',
    `sys_type`        int NULL DEFAULT NULL COMMENT '系统类型 1 总后台 2 销售后台',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    PRIMARY KEY (`task_id`) USING BTREE,
    INDEX             `task_type`(`task_type` ASC) USING BTREE,
    INDEX             `sys_type`(`sys_type` ASC) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '导出任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_express
-- ----------------------------
DROP TABLE IF EXISTS `fs_express`;
CREATE TABLE `fs_express`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '快递公司id',
    `code`        varchar(50)   NOT NULL DEFAULT '' COMMENT '快递公司简称',
    `name`        varchar(50)   NOT NULL DEFAULT '' COMMENT '快递公司全称',
    `sort`        int                                                    NOT NULL DEFAULT 0 COMMENT '排序',
    `is_show`     tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `oms_code`    varchar(255)   NULL DEFAULT NULL COMMENT 'oms编号',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `is_show`(`is_show` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '快递公司表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_famous_prescribe
-- ----------------------------
DROP TABLE IF EXISTS `fs_famous_prescribe`;
CREATE TABLE `fs_famous_prescribe`
(
    `id`             bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '主键',
    `prescribe_name` varchar(255)   NOT NULL COMMENT '经典名方名称',
    `img_url`        varchar(2000)   NULL DEFAULT NULL COMMENT '图片URL',
    `sort`           int NULL DEFAULT NULL COMMENT '排序',
    `prescribe_type` int NULL DEFAULT NULL COMMENT '方剂类型',
    `indication`     varchar(2000)   NULL DEFAULT NULL COMMENT '主治疾病',
    `belong_book`    varchar(2000)   NULL DEFAULT NULL COMMENT '归属书籍（库）',
    `descs`          text   NULL COMMENT '基础信息',
    `action`         varchar(2000)   NULL DEFAULT NULL COMMENT '主治功效',
    `usage_Method`   text   NULL COMMENT '用法用量',
    `msg`            varchar(2000)   NULL DEFAULT NULL COMMENT '注意事项',
    `create_time`    datetime NULL DEFAULT NULL,
    `status`         int NULL DEFAULT NULL COMMENT '状态',
    `pinyin`         varchar(200)   NULL DEFAULT NULL COMMENT '拼音',
    `action_title`   varchar(50)   NULL DEFAULT NULL COMMENT '功效概述',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '经典名方表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_finish_course_statistics_sync
-- ----------------------------
DROP TABLE IF EXISTS `fs_finish_course_statistics_sync`;
CREATE TABLE `fs_finish_course_statistics_sync`
(
    `id`                    bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id`            bigint NULL DEFAULT NULL COMMENT '公司ID（可为空，表示不按公司统计）',
    `course_id`             bigint NULL DEFAULT NULL COMMENT '课程ID（可为空，表示不按课程统计）',
    `video_id`              bigint NULL DEFAULT NULL COMMENT '小节ID（可为空，表示不按小节统计）',
    `dimension_type`        varchar(20)   NOT NULL COMMENT '维度类型：COMPANY-公司，COURSE-课程，video-小节',
    `stat_date`             date                                                         NOT NULL COMMENT '统计日期',
    `finished_count`        int NULL DEFAULT 0 COMMENT '完成人数（去重）',
    `course_complete_times` int NULL DEFAULT 0 COMMENT '完播数',
    `access_count`          int NULL DEFAULT 0 COMMENT '访问人数（去重）',
    `finish_rate`           decimal(5, 2) NULL DEFAULT 0.00 COMMENT '完成率',
    `sync_type`             varchar(20)   NULL DEFAULT 'DAILY' COMMENT '同步类型：DAILY-每日，HISTORY-历史',
    `sync_time`             timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '同步时间',
    `create_time`           timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`           timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_dimension_date_type`(`company_id` ASC, `course_id` ASC, `video_id` ASC, `stat_date` ASC, `sync_type` ASC, `dimension_type` ASC) USING BTREE,
    INDEX                   `idx_stat_date`(`stat_date` ASC) USING BTREE,
    INDEX                   `idx_company_date`(`company_id` ASC, `stat_date` ASC) USING BTREE,
    INDEX                   `idx_course_date`(`course_id` ASC, `stat_date` ASC) USING BTREE,
    INDEX                   `idx_video_date`(`video_id` ASC, `stat_date` ASC) USING BTREE,
    INDEX                   `idx_dimension_type`(`dimension_type` ASC, `stat_date` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '自动发课完课多维度统计同步表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_first_diagnosis
-- ----------------------------
DROP TABLE IF EXISTS `fs_first_diagnosis`;
CREATE TABLE `fs_first_diagnosis`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT,
    `patient_name`       varchar(255)   NULL DEFAULT NULL COMMENT '患者姓名',
    `age`                char(50)   NULL DEFAULT NULL COMMENT '年龄',
    `gender`             int NULL DEFAULT NULL COMMENT '0-未知 1-男性 2-女性',
    `phone`              varchar(255)   NULL DEFAULT NULL COMMENT '电话',
    `physical_condition` varchar(2000)   NULL DEFAULT NULL COMMENT '身体状况',
    `date_time`          datetime NULL DEFAULT NULL COMMENT '日期',
    `first_diagnosis`    varchar(2000)   NULL DEFAULT NULL COMMENT '初步诊断',
    `doctor_id`          bigint NULL DEFAULT NULL COMMENT '医生id',
    `doctor_name`        varchar(255)   NULL DEFAULT NULL COMMENT '医生名称',
    `doctor_dep`         varchar(255)   NULL DEFAULT NULL COMMENT '职称',
    `create_time`        datetime NULL DEFAULT NULL,
    `update_time`        datetime NULL DEFAULT NULL COMMENT '用户id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `doctor_certificate` varchar(255)   NULL DEFAULT NULL COMMENT '医生证号',
    `qw_user_id`         bigint NULL DEFAULT NULL COMMENT '销售id',
    `doctor_status`      tinyint(1) NULL DEFAULT 0 COMMENT '医生是否填写：0-未填写 1-已填写',
    `user_status`        tinyint(1) NULL DEFAULT 0 COMMENT '用户是否答复：0-未答复 1-已答复',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '初诊单' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_follow
-- ----------------------------
DROP TABLE IF EXISTS `fs_follow`;
CREATE TABLE `fs_follow`
(
    `follow_id`        bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `temp_id`          bigint NULL DEFAULT NULL COMMENT '模板id',
    `patient_id`       bigint NULL DEFAULT NULL COMMENT '病人id',
    `patient_name`     varchar(50)   NULL DEFAULT NULL COMMENT '病人名称',
    `patient_phone`    varchar(50)   NULL DEFAULT NULL COMMENT '病人电话',
    `user_id`          bigint NULL DEFAULT NULL COMMENT '用户id',
    `doctor_id`        bigint NULL DEFAULT NULL COMMENT '医生id',
    `total_num`        int NULL DEFAULT NULL COMMENT '总次数',
    `num`              int NULL DEFAULT NULL COMMENT '期次',
    `push_status`      int NULL DEFAULT NULL COMMENT '0待推送 1已推送 2 已取消',
    `write_status`     int NULL DEFAULT NULL COMMENT '0未填写 1已填写',
    `plan_time`        date NULL DEFAULT NULL COMMENT '推送时间',
    `form_json`        text   NULL COMMENT '随访内容',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `package_order_id` bigint NULL DEFAULT NULL,
    `inquiry_order_id` bigint NULL DEFAULT NULL,
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `dept_id`          bigint NULL DEFAULT NULL COMMENT '部门id',
    `write_user_name`  varchar(20)   NULL DEFAULT NULL COMMENT '填写人',
    `store_order_id`   bigint NULL DEFAULT NULL COMMENT '药品订单id',
    PRIMARY KEY (`follow_id`) USING BTREE,
    INDEX              `temp_index`(`temp_id` ASC) USING BTREE,
    INDEX              `user_index`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '随访' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_follow_report
-- ----------------------------
DROP TABLE IF EXISTS `fs_follow_report`;
CREATE TABLE `fs_follow_report`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `user_id`        bigint NULL DEFAULT NULL COMMENT '用户id',
    `patient_id`     bigint NULL DEFAULT NULL COMMENT '病人id',
    `patient_name`   varchar(50)   NULL DEFAULT NULL COMMENT '病人名称',
    `doctor_id`      bigint NULL DEFAULT NULL COMMENT '医生id',
    `doctor_account` varchar(50)   NULL DEFAULT NULL COMMENT '医生账户',
    `doctor_name`    varchar(50)   NULL DEFAULT NULL COMMENT '医生名称',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '所属公司',
    `store_id`       bigint NULL DEFAULT NULL COMMENT '药店id',
    `follow_count`   int NULL DEFAULT NULL COMMENT '咨询次数',
    `follow_num`     int NULL DEFAULT NULL COMMENT '随访次数',
    `write_num`      int NULL DEFAULT NULL COMMENT '随访填写次数',
    `month`          int NULL DEFAULT NULL COMMENT '月份',
    `count_time`     date NULL DEFAULT NULL COMMENT '上次咨询时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_follow_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_follow_temp`;
CREATE TABLE `fs_follow_temp`
(
    `temp_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '模板id',
    `name`        varchar(50)   NULL DEFAULT NULL COMMENT '模板名称',
    `second_name` varchar(50)   NULL DEFAULT NULL COMMENT '副标题',
    `form_json`   longtext   NULL COMMENT '模板内容',
    `sort`        int NULL DEFAULT NULL COMMENT '排序',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `create_by`   varchar(64)   NULL DEFAULT NULL COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT NULL COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`temp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '随访模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_health_data
-- ----------------------------
DROP TABLE IF EXISTS `fs_health_data`;
CREATE TABLE `fs_health_data`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `user_id`        bigint NULL DEFAULT NULL COMMENT '用户id',
    `weight` double NULL DEFAULT NULL COMMENT '体重',
    `heart_rate`     varchar(255)   NULL DEFAULT NULL COMMENT '心率',
    `temperature`    varchar(255)   NULL DEFAULT NULL COMMENT '体温',
    `blood_pressure` varchar(255)   NULL DEFAULT NULL COMMENT '血压',
    `blood_sugar`    varchar(255)   NULL DEFAULT NULL COMMENT '血糖',
    `uric`           varchar(255)   NULL DEFAULT NULL COMMENT '尿酸值',
    `sleep`          varchar(255)   NULL DEFAULT NULL COMMENT '睡眠',
    `step`           varchar(255)   NULL DEFAULT NULL COMMENT '步数或运动',
    `shit`           varchar(255)   NULL DEFAULT NULL COMMENT '排便',
    `mood`           varchar(255)   NULL DEFAULT NULL COMMENT '心情',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '健康数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_health_history_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_health_history_temp`;
CREATE TABLE `fs_health_history_temp`
(
    `id`          int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `sort`        int NULL DEFAULT NULL COMMENT '排序',
    `type`        int NULL DEFAULT NULL COMMENT '类别1 单选 2 多选 ',
    `status`      int NULL DEFAULT NULL COMMENT '状态',
    `question`    longtext   NULL COMMENT '选项',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '健康史模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_health_life
-- ----------------------------
DROP TABLE IF EXISTS `fs_health_life`;
CREATE TABLE `fs_health_life`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `type`        int NULL DEFAULT NULL COMMENT '类别',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `form_json`   longtext   NULL COMMENT 'json',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '健康生活' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_health_record
-- ----------------------------
DROP TABLE IF EXISTS `fs_health_record`;
CREATE TABLE `fs_health_record`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `name`            varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `sex`             tinyint(1) NULL DEFAULT NULL COMMENT '性别',
    `age`             int NULL DEFAULT NULL COMMENT '年龄',
    `weight` double NULL DEFAULT NULL COMMENT 'KG',
    `height` double NULL DEFAULT NULL COMMENT 'cm',
    `bmi` double NULL DEFAULT NULL COMMENT 'bmi',
    `health_history`  longtext   NULL COMMENT '健康史',
    `symptom_history` longtext   NULL COMMENT '症状史',
    `family_history`  longtext   NULL COMMENT '家族史',
    `drug_history`    longtext   NULL COMMENT '用药史',
    `allergy_history` longtext   NULL COMMENT '过敏史',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '健康档案' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_health_tongue
-- ----------------------------
DROP TABLE IF EXISTS `fs_health_tongue`;
CREATE TABLE `fs_health_tongue`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '状态',
    `patient_id`   bigint NULL DEFAULT NULL COMMENT '病人id',
    `name`         varchar(255)   NULL DEFAULT NULL COMMENT '姓名',
    `sex`          int NULL DEFAULT NULL COMMENT '性别',
    `age`          int NULL DEFAULT NULL COMMENT '年龄',
    `status`       int NULL DEFAULT NULL COMMENT '状态',
    `tongue_url`   varchar(255)   NULL DEFAULT NULL COMMENT '舌苔图片',
    `tongue_id`    bigint NULL DEFAULT NULL COMMENT '舌苔id',
    `type_name`    varchar(255)   NULL DEFAULT NULL COMMENT '体质',
    `type_json`    varchar(2000)   NULL DEFAULT NULL COMMENT '体质解析',
    `botai`        int NULL DEFAULT NULL COMMENT '剥苔',
    `botai_desc`   varchar(255)   NULL DEFAULT NULL COMMENT '剥苔详细',
    `chihen`       int NULL DEFAULT NULL COMMENT '齿痕',
    `chihen_desc`  varchar(255)   NULL DEFAULT NULL COMMENT '齿痕详细',
    `liewen`       int NULL DEFAULT NULL COMMENT '裂纹',
    `liewen_desc`  varchar(255)   NULL DEFAULT NULL COMMENT '裂纹详细',
    `shemian_name` varchar(255)   NULL DEFAULT NULL COMMENT '舌脉',
    `shemian_desc` varchar(255)   NULL DEFAULT NULL COMMENT '舌脉详细',
    `taise_name`   varchar(255)   NULL DEFAULT NULL COMMENT '苔色',
    `taise_desc`   varchar(255)   NULL DEFAULT NULL COMMENT '苔色详细',
    `create_time`  datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '舌苔表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_hfpay_config
-- ----------------------------
DROP TABLE IF EXISTS `fs_hfpay_config`;
CREATE TABLE `fs_hfpay_config`
(
    `id`                          bigint NOT NULL AUTO_INCREMENT,
    `app_id`                      varchar(255)   NULL DEFAULT NULL COMMENT 'appId',
    `hf_product_id`               varchar(255)   NULL DEFAULT NULL COMMENT '汇付产品号',
    `hf_sys_id`                   varchar(255)   NULL DEFAULT NULL COMMENT '系统号',
    `huifu_id`                    varchar(255)   NULL DEFAULT NULL COMMENT '商户号',
    `hf_pay_notify_url`           varchar(255)   NULL DEFAULT NULL COMMENT '汇付支付回调地址',
    `hf_pay_online_notify_url`    varchar(255)   NULL DEFAULT NULL COMMENT '大额支付回调地址',
    `hf_refund_notify_url`        varchar(255)   NULL DEFAULT NULL COMMENT '汇付退款回调地址',
    `hf_online_refund_notify_url` varchar(255)   NULL DEFAULT NULL COMMENT '汇付大额退款回调地址',
    `hf_rsa_private_key`          text   NULL COMMENT '商户私钥',
    `hf_rsa_public_key`           text   NULL COMMENT '汇付公钥',
    `create_time`                 datetime NULL DEFAULT NULL,
    `update_time`                 datetime NULL DEFAULT NULL,
    `create_by`                   varchar(255)   NULL DEFAULT NULL,
    `update_by`                   datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '汇付多支付配置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_home_article
-- ----------------------------
DROP TABLE IF EXISTS `fs_home_article`;
CREATE TABLE `fs_home_article`
(
    `article_id`    bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `category_id`   bigint NULL DEFAULT NULL COMMENT '分类ID',
    `title`         varchar(100)   NULL DEFAULT NULL COMMENT '标题',
    `image_url`     varchar(255)   NULL DEFAULT NULL COMMENT '封面图片',
    `is_tui`        tinyint(1) NULL DEFAULT NULL COMMENT '是否推荐，1-是；0-否',
    `video_url`     varchar(200)   NULL DEFAULT NULL COMMENT '视频地址',
    `content`       longtext   NULL COMMENT '内容',
    `views`         int NULL DEFAULT 0 COMMENT '浏览数',
    `sort`          int NULL DEFAULT 0 COMMENT '排序',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '更新时间',
    `publish_time`  datetime NULL DEFAULT NULL COMMENT '发布时间',
    `public_status` tinyint(1) NULL DEFAULT NULL COMMENT '发布状态：1-已发布；2-草稿',
    `description`   varchar(200)   NULL DEFAULT NULL COMMENT '描述',
    PRIMARY KEY (`article_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '期刊表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_home_article_category
-- ----------------------------
DROP TABLE IF EXISTS `fs_home_article_category`;
CREATE TABLE `fs_home_article_category`
(
    `category_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `category_name` varchar(50)   NULL DEFAULT NULL COMMENT '分类名称',
    `image_url`     varchar(255)   NULL DEFAULT NULL COMMENT '封面图片',
    `status`        tinyint(1) NULL DEFAULT 1 COMMENT '状态，1-正常， 0-禁用',
    `is_del`        tinyint(1) NULL DEFAULT 0 COMMENT '是否删除，1-是，0-否',
    `sort`          int NULL DEFAULT 1 COMMENT '排序号',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`category_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '期刊分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_home_article_view
-- ----------------------------
DROP TABLE IF EXISTS `fs_home_article_view`;
CREATE TABLE `fs_home_article_view`
(
    `view_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `article_id`  bigint NULL DEFAULT NULL COMMENT '文章ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`view_id`) USING BTREE,
    INDEX         `article_id_index`(`article_id` ASC) USING BTREE,
    INDEX         `user_id_index`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '期刊阅读表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_hospital
-- ----------------------------
DROP TABLE IF EXISTS `fs_hospital`;
CREATE TABLE `fs_hospital`
(
    `hospital_id`    bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `hospital_name`  varchar(200)   NULL DEFAULT NULL COMMENT '医院名称',
    `hospital_type`  tinyint(1) NULL DEFAULT NULL COMMENT '医院类型',
    `hospital_level` tinyint(1) NULL DEFAULT NULL COMMENT '医院等级',
    `descs`          varchar(2000)   NULL DEFAULT NULL COMMENT '简介',
    `img_url`        varchar(200)   NULL DEFAULT NULL COMMENT '医院照片',
    `city_ids`       varchar(200)   NULL DEFAULT NULL COMMENT '省市区',
    `province`       varchar(200)   NULL DEFAULT NULL COMMENT '省',
    `city`           varchar(200)   NULL DEFAULT NULL COMMENT '市',
    `district`       varchar(200)   NULL DEFAULT NULL COMMENT '区',
    `address`        varchar(200)   NULL DEFAULT NULL COMMENT '详细地址',
    `lng`            varchar(50)   NULL DEFAULT NULL COMMENT '经度',
    `lat`            varchar(50)   NULL DEFAULT NULL COMMENT '维度',
    `status`         tinyint(1) NULL DEFAULT NULL COMMENT '状态 0禁用 1正常',
    `remark`         varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `seal_url`       varchar(200)   NULL DEFAULT NULL COMMENT '处方印章',
    `phone`          varchar(20)   NULL DEFAULT NULL COMMENT '联系电话',
    PRIMARY KEY (`hospital_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '医院表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_icd
-- ----------------------------
DROP TABLE IF EXISTS `fs_icd`;
CREATE TABLE `fs_icd`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `icd_code`     varchar(50)   NULL DEFAULT NULL COMMENT 'icd编号',
    `icd_add_code` varchar(50)   NULL DEFAULT NULL COMMENT 'icd增加编号',
    `icd_pinyin`   varchar(50)   NULL DEFAULT NULL COMMENT 'icd拼音',
    `icd_wubi`     varchar(50)   NULL DEFAULT NULL COMMENT 'icd五笔',
    `icd_name`     varchar(100)   NULL DEFAULT NULL COMMENT 'icd名称',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'icd编码库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_illness_library
-- ----------------------------
DROP TABLE IF EXISTS `fs_illness_library`;
CREATE TABLE `fs_illness_library`
(
    `illness_id`    bigint NOT NULL AUTO_INCREMENT,
    `illness_name`  varchar(200)   NULL DEFAULT NULL,
    `symptom`       varchar(200)   NULL DEFAULT NULL COMMENT '症状',
    `tongue_vein`   varchar(200)   NULL DEFAULT NULL COMMENT '舌脉',
    `therapy`       varchar(200)   NULL DEFAULT NULL COMMENT '治法',
    `formula_name`  varchar(200)   NULL DEFAULT NULL COMMENT '方剂名称',
    `Formula_descs` varchar(2000)   NULL DEFAULT NULL COMMENT '方剂详情',
    PRIMARY KEY (`illness_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '中医疾病表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_im_msg_send_detail
-- ----------------------------
DROP TABLE IF EXISTS `fs_im_msg_send_detail`;
CREATE TABLE `fs_im_msg_send_detail`
(
    `log_detail_id`    bigint NOT NULL AUTO_INCREMENT COMMENT '记录详情id',
    `log_id`           bigint NULL DEFAULT NULL COMMENT '发课记录主表id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '销售id（发送人id）',
    `user_id`          bigint NULL DEFAULT NULL COMMENT '用户id（接收人id）',
    `plan_send_time`   datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `actual_send_time` datetime NULL DEFAULT NULL COMMENT '实际发送时间',
    `send_status`      int NULL DEFAULT NULL COMMENT '发送状态，1-已发送；2-待发送',
    `param_json`       varchar(2000)   NULL DEFAULT NULL COMMENT '执行入参json',
    `status`           tinyint NULL DEFAULT NULL COMMENT '执行状态，0-正常；1-失败',
    `result_message`   varchar(4000)   NULL DEFAULT NULL COMMENT '执行结果',
    `exception_info`   varchar(2000)   NULL DEFAULT NULL COMMENT '异常信息',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '修改时间',
    `create_by`        bigint NULL DEFAULT NULL COMMENT '创建人id',
    `update_by`        bigint NULL DEFAULT NULL COMMENT '修改人id',
    PRIMARY KEY (`log_detail_id`) USING BTREE,
    INDEX              `log_id_index`(`log_id` ASC) USING BTREE,
    INDEX              `company_user_id_index`(`company_user_id` ASC) USING BTREE,
    INDEX              `user_id_index`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'openim消息记录详情' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_im_msg_send_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_im_msg_send_log`;
CREATE TABLE `fs_im_msg_send_log`
(
    `log_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '发送记录id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id（发送人id）',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `course_id`       bigint NULL DEFAULT NULL COMMENT '课程id',
    `course_name`     varchar(255)   NULL DEFAULT NULL COMMENT '课程名称',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '视频id',
    `video_name`      varchar(255)   NULL DEFAULT NULL COMMENT '视频标题',
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期id',
    `send_title`      varchar(500)   NULL DEFAULT NULL COMMENT '发送内容',
    `plan_send_time`  datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `send_type`       int NULL DEFAULT NULL COMMENT '发送类型，1-定时；2-实时',
    `send_mode`       int NULL DEFAULT NULL COMMENT '发送方式，1-app；2-销售后台',
    `send_status`     int NULL DEFAULT NULL COMMENT '发送状态，1-已发送；2-待发送',
    `is_urge_course`  tinyint NULL DEFAULT NULL COMMENT '是否催课，1-是；0-否',
    `msg_type`        int NULL DEFAULT NULL COMMENT '消息类型，1-发课；2-催课',
    `send_union_id`   varchar(50)   NULL DEFAULT NULL COMMENT '关联id，发课和催课记录关联id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人id',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改时间',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人id',
    `tag_ids`         varchar(300)   NULL DEFAULT NULL COMMENT '关联标签id，仅用于展示',
    `tag_names`       varchar(500)   NULL DEFAULT NULL COMMENT '关联标签名称，用于展示',
    `project_id`      bigint NULL DEFAULT NULL COMMENT '课程所属项目id',
    `period_days_id`  bigint NULL DEFAULT NULL COMMENT '营期课程表id',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX             `company_user_id_index`(`company_user_id` ASC) USING BTREE,
    INDEX             `course_id_index`(`course_id` ASC) USING BTREE,
    INDEX             `video_id_index`(`video_id` ASC) USING BTREE,
    INDEX             `send_union_id_index`(`send_union_id` ASC) USING BTREE,
    INDEX             `send_union_msg_type_index`(`msg_type` ASC, `send_union_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'openim消息记录主表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_disease
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_disease`;
CREATE TABLE `fs_inquiry_disease`
(
    `disease_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `disease_name` varchar(50)   NULL DEFAULT NULL COMMENT '疾病名称',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`disease_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊疾病表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order`;
CREATE TABLE `fs_inquiry_order`
(
    `order_id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_sn`             varchar(20)   NULL DEFAULT NULL COMMENT '订单号',
    `title`                varchar(2000)   NULL DEFAULT NULL COMMENT '问诊标题',
    `imgs`                 text   NULL COMMENT '病例组图',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '会员ID',
    `patient_id`           bigint NULL DEFAULT NULL COMMENT '病人ID',
    `order_type`           tinyint(1) NULL DEFAULT NULL COMMENT '订单类型 1图文 2语音',
    `money`                decimal(11, 2) NULL DEFAULT 0.00 COMMENT '订单金额',
    `pay_money`            decimal(11, 2) NULL DEFAULT 0.00 COMMENT '支付金额',
    `pay_type`             tinyint(1) NULL DEFAULT NULL COMMENT '支付类型 1微信支付',
    `is_pay`               tinyint(1) NULL DEFAULT 0 COMMENT '是否支付',
    `doctor_id`            bigint NULL DEFAULT NULL COMMENT '医生ID',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `pay_time`             datetime NULL DEFAULT NULL COMMENT '支付时间',
    `status`               tinyint(1) NULL DEFAULT 0 COMMENT '状态 1待支付 2已支付 3已完成  -1已关闭 -2已退款',
    `start_time`           datetime NULL DEFAULT NULL COMMENT '问诊开始时间',
    `finish_time`          datetime NULL DEFAULT NULL COMMENT '结束时间',
    `remark`               varchar(2000)   NULL DEFAULT NULL COMMENT '医嘱',
    `is_ping`              tinyint(1) NULL DEFAULT 0 COMMENT '是否评价',
    `department_id`        bigint NULL DEFAULT NULL COMMENT '科室ID',
    `inquiry_type`         tinyint(1) NULL DEFAULT NULL COMMENT '问诊类型  1专家 2极速',
    `patient_json`         varchar(2000)   NULL DEFAULT NULL COMMENT '患者信息',
    `is_receive`           tinyint(1) NULL DEFAULT 0,
    `trade_no`             varchar(50)   NULL DEFAULT NULL COMMENT '支付订单号',
    `inquiry_sub_type`     tinyint(1) NULL DEFAULT NULL COMMENT '问诊子类型 1凯蒙名医 2健康草本 3御君方',
    `is_audit`             tinyint(1) NULL DEFAULT 0 COMMENT '是否审核',
    `audit_user_id`        bigint NULL DEFAULT NULL COMMENT '审核人',
    `audit_time`           datetime NULL DEFAULT NULL COMMENT '审核时间',
    `user_coupon_id`       bigint UNSIGNED NULL DEFAULT NULL,
    `discount_money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '优惠金额',
    `package_order_id`     bigint NULL DEFAULT NULL COMMENT '套餐包订单id',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司',
    `company_user_id`      bigint NULL DEFAULT NULL COMMENT '员工',
    `company_deduct_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '公司抵扣金额',
    `dept_id`              bigint NULL DEFAULT NULL COMMENT '部门id',
    `company_user_remark`  varchar(500)   NULL DEFAULT NULL COMMENT '销售备注',
    `is_send_sms`          tinyint NULL DEFAULT 0 COMMENT '是否已发短信',
    `doctor_remark`        varchar(255)   NULL DEFAULT NULL COMMENT '医生备注',
    `source`               int NULL DEFAULT NULL COMMENT '订单来源',
    `triage_user_id`       bigint NULL DEFAULT NULL,
    `is_user_information`  tinyint NULL DEFAULT 0 COMMENT '是否信息采集生成的问诊订单1是0否',
    PRIMARY KEY (`order_id`) USING BTREE,
    INDEX                  `user_id`(`user_id` ASC) USING BTREE,
    INDEX                  `patient_id`(`patient_id` ASC) USING BTREE,
    INDEX                  `doctor_id`(`doctor_id` ASC) USING BTREE,
    INDEX                  `order_sn`(`order_sn` ASC) USING BTREE,
    INDEX                  `inquiry_type`(`inquiry_type` ASC) USING BTREE,
    INDEX                  `status`(`status` ASC) USING BTREE,
    INDEX                  `package_order_id`(`package_order_id` ASC) USING BTREE,
    INDEX                  `audit_user_id`(`audit_user_id` ASC) USING BTREE,
    INDEX                  `pay_type`(`pay_type` ASC) USING BTREE,
    INDEX                  `order_type`(`order_type` ASC) USING BTREE,
    INDEX                  `department_id`(`department_id` ASC) USING BTREE,
    INDEX                  `inquiry_sub_type`(`inquiry_sub_type` ASC) USING BTREE,
    INDEX                  `dept_id`(`dept_id` ASC) USING BTREE,
    INDEX                  `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                  `company_id`(`company_id` ASC) USING BTREE,
    INDEX                  `user_coupon_id`(`user_coupon_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊订单' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_hs_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_hs_log`;
CREATE TABLE `fs_inquiry_order_hs_log`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `response_json`    varchar(3000)   NULL DEFAULT NULL COMMENT '红杉响应的js',
    `inquiry_order_id` bigint NULL DEFAULT NULL COMMENT '问诊单id',
    `patient_id`       bigint NULL DEFAULT NULL COMMENT '患者id',
    `user_id`          bigint NULL DEFAULT NULL COMMENT '用户id',
    `type`             int NULL DEFAULT NULL COMMENT '记录类型1.发起问诊接收的请求2.通知回调3.',
    `decode_json`      varchar(255)   NULL DEFAULT NULL COMMENT '解密后的内容',
    `book_no`          varchar(255)   NULL DEFAULT NULL COMMENT '红杉的订单号',
    `create_by`        varchar(255)   NULL DEFAULT NULL COMMENT '创建者',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`        varchar(255)   NULL DEFAULT NULL COMMENT '更新者',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `orderId`(`inquiry_order_id` ASC) USING BTREE COMMENT '问诊订单id'
) ENGINE = InnoDB COMMENT = '对接红杉返回的数据记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_logs`;
CREATE TABLE `fs_inquiry_order_logs`
(
    `logs_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(50)    NOT NULL,
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    `operator`       varchar(200)   NULL DEFAULT NULL COMMENT '操作员',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_media
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_media`;
CREATE TABLE `fs_inquiry_order_media`
(
    `media_id`    bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_id`    bigint NULL DEFAULT NULL COMMENT '订单ID',
    `media_type`  tinyint(1) NULL DEFAULT NULL COMMENT '媒体类型 1语音 2视频',
    `media_url`   varchar(200)   NULL DEFAULT NULL COMMENT '媒体地址',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `start_time`  datetime NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
    `times` double (10, 2) NULL DEFAULT NULL COMMENT '时长',
    PRIMARY KEY (`media_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '媒体订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_msg
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_msg`;
CREATE TABLE `fs_inquiry_order_msg`
(
    `msg_id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `msg_type`             varchar(100)   NULL DEFAULT NULL COMMENT '消息类型 1会员消息 2医生消息',
    `from_account`         varchar(100)   NULL DEFAULT NULL COMMENT '会员ID',
    `to_account`           varchar(100)   NULL DEFAULT NULL COMMENT '医生ID',
    `content`              longtext   NULL COMMENT '消息内容',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `order_id`             bigint NULL DEFAULT NULL COMMENT '订单ID',
    `msg_key`              varchar(255)   NULL DEFAULT NULL COMMENT '消息key',
    `msg_content_type`     int NULL DEFAULT NULL COMMENT ' 1 文本2语音 3图像 4 视频',
    `company_user_account` varchar(100)   NULL DEFAULT NULL COMMENT '销售ID',
    PRIMARY KEY (`msg_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '图文订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_ping
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_ping`;
CREATE TABLE `fs_inquiry_order_ping`
(
    `ping_id`       bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_id`      bigint NULL DEFAULT NULL COMMENT '订单ID',
    `ping_star`     tinyint(1) NULL DEFAULT NULL COMMENT '评分',
    `ping_content`  varchar(200)   NULL DEFAULT NULL COMMENT '评价内容',
    `ping_time`     datetime NULL DEFAULT NULL COMMENT '评价时间',
    `user_id`       bigint NULL DEFAULT NULL COMMENT '会员ID',
    `doctor_id`     bigint NULL DEFAULT NULL COMMENT '医生ID',
    `reply_content` varchar(255)   NULL DEFAULT NULL COMMENT '医生回复',
    PRIMARY KEY (`ping_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '评价表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_order_report
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_order_report`;
CREATE TABLE `fs_inquiry_order_report`
(
    `report_id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_id`               bigint NULL DEFAULT NULL COMMENT '订单号',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '会员ID',
    `patient_id`             bigint NULL DEFAULT NULL COMMENT '患者ID',
    `patient_json`           varchar(4000)   NULL DEFAULT NULL COMMENT '患者信息',
    `doctor_id`              bigint NULL DEFAULT NULL COMMENT '医生ID',
    `report_sn`              varchar(50)   NULL DEFAULT NULL COMMENT '报告ID',
    `disease_type`           varchar(255)   NULL DEFAULT NULL,
    `inquiry_result`         varchar(500)   NULL DEFAULT NULL COMMENT '诊断结果',
    `form_json`              longtext   NULL,
    `conditioning_plan_json` text   NULL COMMENT '调理方案',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`                 varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`                 tinyint(1) NULL DEFAULT NULL COMMENT '状态 0待处理 1已处理',
    `audit_user_id`          bigint NULL DEFAULT NULL COMMENT '处理用户id',
    `doctor_sign_url`        varchar(255)   NULL DEFAULT NULL COMMENT '医生签名',
    `drug_id`                bigint NULL DEFAULT NULL,
    `drug_doctor_sign_url`   varchar(255)   NULL DEFAULT NULL,
    `triage_user_id`         bigint NULL DEFAULT NULL,
    PRIMARY KEY (`report_id`) USING BTREE,
    INDEX                    `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊报告表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_patient_info
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_patient_info`;
CREATE TABLE `fs_inquiry_patient_info`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `patient_id`          bigint NULL DEFAULT NULL COMMENT '患者id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '客服id（销售id）',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '患者会员id',
    `inquiry_order_id`    bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    `course_id`           bigint NULL DEFAULT NULL COMMENT '课程/档期id',
    `course_name`         varchar(255)   NULL DEFAULT NULL COMMENT '课程/档期',
    `tag`                 varchar(255)   NULL DEFAULT NULL COMMENT '客户标签',
    `diagnosis_status`    tinyint(1) NULL DEFAULT NULL COMMENT '就诊状态 1-初诊 2-复诊',
    `patient_condition`   varchar(2000)   NULL DEFAULT NULL COMMENT '患者病情主诉',
    `dept_manager`        varchar(255)   NULL DEFAULT NULL COMMENT '部门负责人',
    `doctor_advice_json`  varchar(2000)   NULL DEFAULT NULL COMMENT '医生建议及处置',
    `taboo`               varchar(2000)   NULL DEFAULT NULL COMMENT '注意禁忌',
    `customer_require`    varchar(255)   NULL DEFAULT NULL COMMENT '客户需求',
    `professional_doctor` varchar(255)   NULL DEFAULT NULL COMMENT '职业医生',
    `assistant_doctor`    varchar(255)   NULL DEFAULT NULL COMMENT '助理医生',
    `create_time`         datetime NULL DEFAULT NULL,
    `update_time`         datetime NULL DEFAULT NULL,
    `sub_time`            datetime NULL DEFAULT NULL COMMENT '预约时间',
    `sub_doctor_id`       bigint NULL DEFAULT NULL COMMENT '预约医生id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '患者问诊单信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_inquiry_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_inquiry_temp`;
CREATE TABLE `fs_inquiry_temp`
(
    `temp_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `temp_type`   tinyint(1) NULL DEFAULT NULL COMMENT '模板类型',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `item_json`   varchar(2000)   NULL DEFAULT NULL COMMENT '分值JSON',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `sort`        int NULL DEFAULT NULL COMMENT '排序号',
    PRIMARY KEY (`temp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_integral_cart
-- ----------------------------
DROP TABLE IF EXISTS `fs_integral_cart`;
CREATE TABLE `fs_integral_cart`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_id`     bigint NOT NULL COMMENT '用户ID',
    `goods_id`    bigint NOT NULL COMMENT '积分商品ID',
    `integral`    int NULL DEFAULT 0 COMMENT '所需积分-单价',
    `cash`        decimal(10, 2) NULL DEFAULT 0.00 COMMENT '所需金额-单价',
    `cart_num`    int    NOT NULL COMMENT '数量',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_user_goods`(`user_id` ASC, `goods_id` ASC) USING BTREE,
    INDEX         `idx_goods`(`goods_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '积分商品购物车' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_integral_goods
-- ----------------------------
DROP TABLE IF EXISTS `fs_integral_goods`;
CREATE TABLE `fs_integral_goods`
(
    `goods_id`    bigint                                                  NOT NULL AUTO_INCREMENT COMMENT 'id',
    `img_url`     varchar(255)   NOT NULL COMMENT '封面图',
    `images`      varchar(2000)   NULL DEFAULT NULL COMMENT '组图',
    `goods_name`  varchar(200)   NOT NULL COMMENT '商品名称',
    `ot_price`    decimal(10, 2) NULL DEFAULT NULL COMMENT '原价',
    `goods_type`  int NULL DEFAULT NULL COMMENT '商品分类',
    `status`      int NULL DEFAULT NULL COMMENT '状态',
    `integral`    int NULL DEFAULT NULL COMMENT '所需积分',
    `cash`        decimal(10, 2) NULL DEFAULT 0.00 COMMENT '需支付金额',
    `sort`        int NULL DEFAULT NULL COMMENT '排序',
    `stock`       int NULL DEFAULT NULL COMMENT '库存',
    `descs`       text   NULL COMMENT '详情',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `bar_code`    varchar(255)   NULL DEFAULT NULL COMMENT '商品编码',
    PRIMARY KEY (`goods_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '积分商品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_integral_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_integral_order`;
CREATE TABLE `fs_integral_order`
(
    `order_id`        bigint                                                  NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_code`      varchar(255)   NULL DEFAULT NULL COMMENT '订单编号',
    `user_id`         bigint                                                  NOT NULL COMMENT '用户id',
    `user_name`       varchar(200)   NULL DEFAULT NULL COMMENT '用户名称',
    `user_phone`      varchar(200)   NULL DEFAULT NULL COMMENT '用户电话',
    `user_address`    varchar(255)   NULL DEFAULT NULL COMMENT '用户地址',
    `item_json`       longtext   NULL COMMENT '商品信息',
    `integral`        varchar(255)   NULL DEFAULT NULL COMMENT '支付积分',
    `pay_money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `is_pay`          tinyint(1) NULL DEFAULT NULL COMMENT '是否支付 0未支付 1已支付',
    `pay_time`        datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`        int NULL DEFAULT NULL COMMENT '支付类型 1积分 2现金 3积分+现金',
    `status`          varchar(255)   NOT NULL COMMENT '1：待发货；2：待收货；3：已完成',
    `delivery_code`   varchar(255)   NULL DEFAULT NULL COMMENT '快递公司编号',
    `delivery_name`   varchar(255)   NULL DEFAULT NULL COMMENT '快递名称',
    `delivery_sn`     varchar(255)   NULL DEFAULT NULL COMMENT '快递单号',
    `delivery_time`   datetime NULL DEFAULT NULL COMMENT '发货时间',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `bar_code`        varchar(255)   NULL DEFAULT NULL COMMENT '商品编码',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '销售公司ID',
    `login_account`   varchar(20)   NULL DEFAULT NULL COMMENT '代服物流查询账号',
    PRIMARY KEY (`order_id`) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `idx_company_company_user_qw`(`qw_user_id` ASC, `company_user_id` ASC, `company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '积分商品订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_integral_order_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_integral_order_logs`;
CREATE TABLE `fs_integral_order_logs`
(
    `logs_id`        varchar(50)   NOT NULL COMMENT '日志ID',
    `order_id`       bigint NULL DEFAULT NULL COMMENT '订单ID',
    `change_type`    varchar(50)   NULL DEFAULT NULL COMMENT '操作类型',
    `change_message` varchar(500)   NULL DEFAULT NULL COMMENT '操作备注',
    `change_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    `operator`       varchar(100)   NULL DEFAULT NULL COMMENT '操作员',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX            `idx_order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '积分订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_interest_ai_msg
-- ----------------------------
DROP TABLE IF EXISTS `fs_interest_ai_msg`;
CREATE TABLE `fs_interest_ai_msg`
(
    `msg_id`            bigint NOT NULL AUTO_INCREMENT,
    `session_id`        bigint NULL DEFAULT NULL COMMENT '消息id',
    `user_id`           varchar(255)   NULL DEFAULT NULL COMMENT '用户id',
    `content`           varchar(2000)   NULL DEFAULT NULL COMMENT '消息内容',
    `send_type`         tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2ai发送',
    `role_id`           bigint NULL DEFAULT NULL COMMENT '角色ID',
    `role_name`         varchar(200)   NULL DEFAULT NULL COMMENT '角色名称',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `nick_name`         varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`            varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `prompt_tokens`     int NULL DEFAULT NULL COMMENT '用户输入的令牌数量',
    `completion_tokens` int NULL DEFAULT NULL COMMENT '生成的回复中使用的令牌',
    `total_tokens`      int NULL DEFAULT NULL COMMENT '总令牌数量',
    PRIMARY KEY (`msg_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '聊天记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_interest_ai_role
-- ----------------------------
DROP TABLE IF EXISTS `fs_interest_ai_role`;
CREATE TABLE `fs_interest_ai_role`
(
    `role_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `role_name`        varchar(200)   NULL DEFAULT NULL COMMENT '角色名称',
    `role_tag`         varchar(20)   NULL DEFAULT NULL COMMENT '标签',
    `app_key`          varchar(255)   NULL DEFAULT NULL COMMENT '模型key',
    `avatar`           varchar(500)   NULL DEFAULT NULL COMMENT '客服头像',
    `welcome_message`  varchar(2000)   NULL DEFAULT NULL COMMENT '欢迎语',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `image_url`        varchar(500)   NULL DEFAULT NULL COMMENT '封面图片',
    `text_description` varchar(2000)   NULL DEFAULT NULL COMMENT '文本说明',
    PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '兴趣ai角色' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_interest_ai_role_words
-- ----------------------------
DROP TABLE IF EXISTS `fs_interest_ai_role_words`;
CREATE TABLE `fs_interest_ai_role_words`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `role_id`     bigint NULL DEFAULT NULL COMMENT '角色名称',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '提示词',
    `sort`        bigint NULL DEFAULT NULL COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '兴趣ai提示词' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_interest_ai_session
-- ----------------------------
DROP TABLE IF EXISTS `fs_interest_ai_session`;
CREATE TABLE `fs_interest_ai_session`
(
    `session_id`  bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `chat_id`     varchar(255)   NULL DEFAULT NULL COMMENT '会话标识',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `role_id`     bigint NULL DEFAULT NULL COMMENT '客服ID',
    `role_name`   varchar(200)   NULL DEFAULT NULL COMMENT '角色名称',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 1会话中 2已结束',
    `nick_name`   varchar(200)   NULL DEFAULT NULL COMMENT '客户昵称',
    `avatar`      varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
    PRIMARY KEY (`session_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '对话关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_jst_aftersale_push
-- ----------------------------
DROP TABLE IF EXISTS `fs_jst_aftersale_push`;
CREATE TABLE `fs_jst_aftersale_push`
(
    `id`                bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键，自增',
    `order_id`          varchar(64)   NOT NULL COMMENT '订单id',
    `after_sale_id`     varchar(64)   NULL DEFAULT NULL COMMENT '售后id',
    `type`              varchar(64)   NOT NULL COMMENT '0推单 1确认',
    `task_status`       tinyint                                                      NOT NULL DEFAULT 0 COMMENT '任务状态：0-待处理，1-成功，2-失败，3-正在处理，4-已取消',
    `retry_count`       int                                                          NOT NULL DEFAULT 0 COMMENT '重试次数，默认为 0',
    `last_execute_time` datetime NULL DEFAULT NULL COMMENT '上次执行时间，用于记录任务执行的最后时间',
    `create_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    `params`            text   NULL COMMENT '调用接口时传入的参数（JSON 格式）',
    `result`            text   NULL COMMENT '调用接口返回的结果（JSON 格式）',
    `error_message`     text   NULL COMMENT '错误信息（记录失败原因）',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'jst售后推送' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_jst_cod_push
-- ----------------------------
DROP TABLE IF EXISTS `fs_jst_cod_push`;
CREATE TABLE `fs_jst_cod_push`
(
    `id`                bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键，自增',
    `order_id`          varchar(64)   NOT NULL COMMENT '订单id',
    `after_sale_id`     varchar(64)   NULL DEFAULT NULL COMMENT '售后id',
    `type`              varchar(64)   NOT NULL COMMENT '0创建订单 1后续金额',
    `task_status`       tinyint                                                      NOT NULL DEFAULT 0 COMMENT '任务状态：0-待处理，1-成功，2-失败，3-正在处理，4-已取消',
    `retry_count`       int                                                          NOT NULL DEFAULT 0 COMMENT '重试次数，默认为 0',
    `last_execute_time` datetime NULL DEFAULT NULL COMMENT '上次执行时间，用于记录任务执行的最后时间',
    `create_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    `params`            text   NULL COMMENT '调用接口时传入的参数（JSON 格式）',
    `result`            text   NULL COMMENT '调用接口返回的结果（JSON 格式）',
    `error_message`     text   NULL COMMENT '错误信息（记录失败原因）',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'jst货到付款推送' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_knowledge
-- ----------------------------
DROP TABLE IF EXISTS `fs_knowledge`;
CREATE TABLE `fs_knowledge`
(
    `knowledge_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_id`      bigint NULL DEFAULT NULL COMMENT '分类ID',
    `title`        varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `content`      longtext   NULL COMMENT '内容',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `doctor_id`    bigint NULL DEFAULT NULL COMMENT '医生ID',
    PRIMARY KEY (`knowledge_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '知识库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_knowledge_cate
-- ----------------------------
DROP TABLE IF EXISTS `fs_knowledge_cate`;
CREATE TABLE `fs_knowledge_cate`
(
    `cate_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_name` varchar(200)   NULL DEFAULT NULL COMMENT '类型名',
    `doctor_id` bigint NULL DEFAULT NULL COMMENT '所属医生',
    PRIMARY KEY (`cate_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '知识库分类' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_material
-- ----------------------------
DROP TABLE IF EXISTS `fs_material`;
CREATE TABLE `fs_material`
(
    `material_id`    bigint                                                 NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `type`           char(2)   NULL DEFAULT NULL COMMENT '类型1、图片；2、视频',
    `group_id`       bigint NULL DEFAULT NULL COMMENT '分组ID',
    `name`           varchar(200)   NOT NULL COMMENT '素材名',
    `url`            varchar(500)   NULL DEFAULT '' COMMENT '素材链接',
    `is_del`         tinyint(1) NULL DEFAULT 0,
    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建者ID',
    `store_id`       bigint NULL DEFAULT NULL,
    `create_time`    datetime                                               NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL,
    PRIMARY KEY (`material_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '素材库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_material_group
-- ----------------------------
DROP TABLE IF EXISTS `fs_material_group`;
CREATE TABLE `fs_material_group`
(
    `group_id`       bigint                                                 NOT NULL AUTO_INCREMENT COMMENT 'PK',
    `name`           varchar(200)   NOT NULL COMMENT '分组名',
    `create_time`    datetime                                               NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL,
    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建者ID',
    `store_id`       bigint NULL DEFAULT NULL,
    `is_del`         tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '素材分组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_medicated_food
-- ----------------------------
DROP TABLE IF EXISTS `fs_medicated_food`;
CREATE TABLE `fs_medicated_food`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `food_name`    varchar(20)   NULL DEFAULT NULL COMMENT '药膳名称',
    `img_url`      varchar(255)   NULL DEFAULT NULL COMMENT '图片',
    `sort`         int NULL DEFAULT NULL COMMENT '排序',
    `action`       varchar(500)   NULL DEFAULT NULL COMMENT '功效',
    `food`         varchar(500)   NULL DEFAULT NULL COMMENT '食材',
    `indications`  varchar(500)   NULL DEFAULT NULL COMMENT '主治疾病',
    `descs`        text   NULL COMMENT '描述',
    `create_time`  datetime NULL DEFAULT NULL,
    `status`       int NULL DEFAULT NULL COMMENT '状态',
    `pinyin`       varchar(200)   NULL DEFAULT NULL COMMENT '拼音',
    `action_title` varchar(50)   NULL DEFAULT NULL COMMENT '功效概述',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '药膳食疗' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_menu
-- ----------------------------
DROP TABLE IF EXISTS `fs_menu`;
CREATE TABLE `fs_menu`
(
    `menu_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `menu_name`   varchar(200)   NULL DEFAULT NULL,
    `icon`        varchar(200)   NULL DEFAULT NULL,
    `is_show`     tinyint(1) NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `link_type`   tinyint(1) NULL DEFAULT NULL COMMENT '跳转类型 0dev 1switchTab 2navigateTo',
    `link_url`    varchar(200)   NULL DEFAULT NULL,
    `sort`        int NULL DEFAULT 0 COMMENT '排序号',
    `menu_type`   int NULL DEFAULT NULL COMMENT '菜单类型',
    `app_id`      varchar(50)   NULL DEFAULT NULL COMMENT '所属小程序',
    PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户端菜单管理' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_mess_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_mess_temp`;
CREATE TABLE `fs_mess_temp`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `name`            varchar(50)   NULL DEFAULT NULL COMMENT '模板名称',
    `status`          int NULL DEFAULT NULL COMMENT '状态 1正常 0停用',
    `setting`         text   NULL COMMENT '规则',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_by`       varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `course_id`       bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`        int NULL DEFAULT NULL COMMENT '小节视频id',
    `sop_user_log_id` varchar(255)   NULL DEFAULT NULL COMMENT '归属销售id',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`          int NULL DEFAULT 0 COMMENT '删除标志',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '群发模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_mini_program_agreement
-- ----------------------------
DROP TABLE IF EXISTS `fs_mini_program_agreement`;
CREATE TABLE `fs_mini_program_agreement`
(
    `id`                int                                                          NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `app_id`            varchar(50)   NOT NULL COMMENT '小程序ID',
    `agreement_type`    varchar(50)   NOT NULL COMMENT '协议类型',
    `agreement_content` longtext   NOT NULL COMMENT '协议内容',
    `is_active`         tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否生效（0:否，1:是）',
    `create_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`       datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `fs_mini_program_agreement_app_id_IDX`(`app_id` ASC, `agreement_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '小程序用户协议信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_miniprogram_sub_notify_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_miniprogram_sub_notify_task`;
CREATE TABLE `fs_miniprogram_sub_notify_task`
(
    `id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '任务ID，唯一标识',
    `task_name`      varchar(255)   NOT NULL COMMENT '任务名称，用于描述任务',
    `template_id`    varchar(255)   NOT NULL COMMENT '微信小程序订阅消息模板ID',
    `touser`         varchar(255)   NOT NULL COMMENT '要发送的用户openid',
    `page`           varchar(255)   NULL DEFAULT NULL COMMENT '点击消息跳转的页面路径（可选）',
    `data`           json                                                          NOT NULL COMMENT '消息内容，JSON格式。每个键值对对应模板中的一个变量',
    `status`         tinyint                                                       NOT NULL DEFAULT 0 COMMENT '任务状态：0=待执行, 1=执行中, 2=执行成功, 3=执行失败, 4=已取消',
    `retry_count`    tinyint                                                       NOT NULL DEFAULT 0 COMMENT '当前重试次数',
    `max_retries`    tinyint                                                       NOT NULL DEFAULT 3 COMMENT '最大重试次数',
    `request_params` text   NULL COMMENT '请求参数（JSON格式，主要记录 access_token 获取方式）',
    `request_body`   text   NULL COMMENT '完整的请求体 (JSON格式)',
    `response_body`  text   NULL COMMENT 'API 响应结果 (JSON格式)',
    `error_message`  text   NULL COMMENT '错误信息 (如果执行失败)',
    `create_time`    timestamp                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间',
    `update_time`    timestamp                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_touser_template_id`(`touser` ASC, `template_id` ASC) USING BTREE,
    INDEX            `idx_status_retry_count`(`status` ASC, `retry_count` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '小程序订阅通知定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_package
-- ----------------------------
DROP TABLE IF EXISTS `fs_package`;
CREATE TABLE `fs_package`
(
    `package_id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `package_name`         varchar(50)   NULL DEFAULT NULL COMMENT '套餐包名称',
    `sort`                 tinyint NULL DEFAULT NULL COMMENT '排序号',
    `product_json`         longtext   NULL COMMENT '价格配置',
    `status`               tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`               tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    `package_type`         tinyint(1) NULL DEFAULT NULL COMMENT '1医生包2企业包',
    `pay_type`             varchar(50)   NULL DEFAULT NULL COMMENT '1全款支付 2物流代收 3货到付款',
    `describe_json`        text   NULL COMMENT '描述json',
    `num`                  int NULL DEFAULT NULL COMMENT '限购次数',
    `desc`                 text   NULL COMMENT '套餐详情，放产品详情图片',
    `is_show`              tinyint(1) NULL DEFAULT NULL COMMENT '是否展示',
    `package_sub_type`     tinyint(1) NULL DEFAULT NULL COMMENT '1咨询包 2 治疗包 3 产品包',
    `price`                decimal(10, 2) NULL DEFAULT NULL COMMENT ' 总价 xx元/天',
    `tags`                 varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `disease_type`         int NULL DEFAULT NULL COMMENT '病类别',
    `sales`                int NULL DEFAULT NULL COMMENT '销量',
    `product_type`         int NULL DEFAULT NULL COMMENT '商品类别1中药 2西药',
    `total_price`          decimal(10, 2) NULL DEFAULT NULL COMMENT '套餐价',
    `inquiry_price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '问诊价格',
    `product_price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '药品价格',
    `cycle`                int NULL DEFAULT NULL COMMENT '周期',
    `duration`             int NULL DEFAULT NULL COMMENT '签约时长',
    `img_url`              varchar(255)   NULL DEFAULT NULL COMMENT '封面图',
    `images`               varchar(2000)   NULL DEFAULT NULL COMMENT '轮播图',
    `store_id`             bigint NULL DEFAULT NULL COMMENT '店铺id',
    `recipe_type`          int NULL DEFAULT NULL COMMENT '制作类型  0-颗粒剂 1-膏方',
    `counts`               int NULL DEFAULT NULL COMMENT '剂数',
    `usage_frequency_unit` varchar(50)   NULL DEFAULT NULL COMMENT '每日几次',
    `private_type`         int NULL DEFAULT NULL COMMENT '私域类别',
    `follow_num`           int NULL DEFAULT NULL COMMENT '随访次数',
    `explain`              varchar(2000)   NULL DEFAULT NULL COMMENT '方解',
    `indication`           varchar(2000)   NULL DEFAULT NULL COMMENT '主治',
    `product_cost_price`   decimal(10, 2) NULL DEFAULT NULL COMMENT '药品成本价',
    `inquiry_cost_price`   decimal(10, 2) NULL DEFAULT NULL COMMENT '问诊成本价',
    `total_cost_price`     decimal(10, 2) NULL DEFAULT NULL COMMENT '成本价',
    `follow_temp_id`       bigint NULL DEFAULT NULL COMMENT '随访模板id',
    `follow_rate`          int NULL DEFAULT NULL COMMENT '随访频率',
    `second_name`          varchar(50)   NULL DEFAULT NULL,
    `doctor_remark`        varchar(255)   NULL DEFAULT NULL COMMENT '医嘱',
    `usage_per_use_count`  varchar(50)   NULL DEFAULT NULL COMMENT '使用次数',
    `icd_code`             varchar(50)   NULL DEFAULT NULL COMMENT 'icd编码',
    `description`          varchar(255)   NULL DEFAULT NULL COMMENT '描述',
    `solar_term`           bigint NULL DEFAULT NULL COMMENT '节气',
    `app_ids`              varchar(500)   NULL DEFAULT NULL COMMENT '所属小程序app_id',
    `show_name`            varchar(255)   NULL DEFAULT NULL COMMENT '展示名称',
    `question_id`          bigint NULL DEFAULT NULL COMMENT '问答id',
    `course_id`            bigint NULL DEFAULT NULL COMMENT '课程id',
    PRIMARY KEY (`package_id`) USING BTREE,
    UNIQUE INDEX `uk_course_id`(`course_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '套餐包表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_package_cate
-- ----------------------------
DROP TABLE IF EXISTS `fs_package_cate`;
CREATE TABLE `fs_package_cate`
(
    `cate_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `cate_code` bigint NULL DEFAULT NULL COMMENT '分类标识',
    `type`      int NULL DEFAULT NULL COMMENT '分类 1前端展示 2 私域',
    `cate_name` varchar(200)   NULL DEFAULT NULL COMMENT '分类名称',
    `status`    tinyint(1) NULL DEFAULT 1 COMMENT '状态 1正常 0禁用',
    `img_url`   varchar(255)   NULL DEFAULT NULL COMMENT '图片',
    `sort`      int NULL DEFAULT 1 COMMENT '排序号',
    PRIMARY KEY (`cate_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '套餐包分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_package_favorite
-- ----------------------------
DROP TABLE IF EXISTS `fs_package_favorite`;
CREATE TABLE `fs_package_favorite`
(
    `favorite_id` bigint NOT NULL AUTO_INCREMENT COMMENT '收藏id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `package_id`  bigint NULL DEFAULT NULL COMMENT '疗法id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`favorite_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '疗法收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_package_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_package_order`;
CREATE TABLE `fs_package_order`
(
    `order_id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `order_sn`            varchar(50)   NULL DEFAULT NULL COMMENT '订单号',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户ID',
    `doctor_id`           bigint NULL DEFAULT NULL COMMENT '医生ID',
    `package_id`          bigint NULL DEFAULT NULL COMMENT '套餐ID',
    `package_name`        varchar(255)   NULL DEFAULT NULL COMMENT '套餐名称',
    `pay_money`           decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `is_pay`              tinyint(1) NULL DEFAULT NULL COMMENT '是否支付',
    `days`                int NULL DEFAULT NULL COMMENT '天数',
    `status`              tinyint(1) NULL DEFAULT NULL COMMENT '状态 1待支付 2服务中 3已过期',
    `start_time`          date NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time`         date NULL DEFAULT NULL COMMENT '结束时间',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `form_json`           varchar(2000)   NULL DEFAULT NULL COMMENT '用户回答内容',
    `inquiry_order_id`    bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    `store_order_id`      bigint NULL DEFAULT NULL COMMENT '药品订单id',
    `package_json`        longtext   NULL COMMENT '套餐包json',
    `patient_json`        varchar(2000)   NULL DEFAULT NULL COMMENT '就诊人json',
    `pay_time`            datetime NULL DEFAULT NULL COMMENT '支付时间',
    `refund_img`          varchar(255)   NULL DEFAULT NULL COMMENT '退款图片',
    `refund_explain`      varchar(255)   NULL DEFAULT NULL COMMENT '退款用户说明',
    `refund_reason`       varchar(255)   NULL DEFAULT NULL COMMENT '不退款的理由',
    `refund_time`         datetime NULL DEFAULT NULL COMMENT '退款时间',
    `refund_money`        decimal(10, 2) NULL DEFAULT NULL COMMENT '退款金额',
    `refund_status`       tinyint NULL DEFAULT 0 COMMENT '0 未退款 1 申请中 2 已退款',
    `total_price`         decimal(10, 2) NULL DEFAULT NULL COMMENT '套餐金额',
    `address_json`        varchar(255)   NULL DEFAULT NULL COMMENT '地址信息',
    `pay_type`            int NULL DEFAULT NULL COMMENT '支付类型',
    `remark`              varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `store_id`            bigint NULL DEFAULT NULL COMMENT '店铺id',
    `pay_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '实际支付',
    `pay_remain`          decimal(10, 2) NULL DEFAULT 0.00 COMMENT '剩余金额',
    `pay_delivery`        decimal(10, 2) NULL DEFAULT NULL COMMENT '邮费',
    `discount_money`      decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠金额',
    `follow_num`          int NULL DEFAULT 0 COMMENT '随访次数',
    `follow_count`        int NULL DEFAULT 0 COMMENT '已经随访次数',
    `product_cost_price`  decimal(10, 2) NULL DEFAULT NULL COMMENT '药品成本价',
    `inquiry_cost_price`  decimal(10, 2) NULL DEFAULT NULL COMMENT '问诊成本价',
    `total_cost_price`    decimal(10, 2) NULL DEFAULT NULL COMMENT '成本价',
    `cost_discount_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '成本优惠金额',
    `cycle`               int NULL DEFAULT NULL COMMENT '用药周期',
    `package_sub_type`    int NULL DEFAULT NULL COMMENT '套餐包子类型',
    `follow_temp_id`      bigint NULL DEFAULT NULL COMMENT '随访模板id',
    `follow_rate`         int NULL DEFAULT NULL COMMENT '随访频率',
    `follow_time`         date NULL DEFAULT NULL COMMENT '下次随访日期',
    `follow_doctor_id`    bigint NULL DEFAULT NULL COMMENT '随访医生id',
    `prescribe_price`     decimal(10, 2) NULL DEFAULT 0.00 COMMENT '处方定价',
    `user_coupon_id`      bigint NULL DEFAULT NULL COMMENT '优惠劵id',
    `dept_id`             bigint NULL DEFAULT NULL COMMENT '部门id',
    `doctor_remark`       varchar(255)   NULL DEFAULT NULL COMMENT '医嘱',
    `package_second_name` varchar(255)   NULL DEFAULT NULL,
    `icd_code`            varchar(100)   NULL DEFAULT NULL,
    `source`              int NULL DEFAULT NULL COMMENT '订单来源',
    `is_completed`        tinyint UNSIGNED NULL DEFAULT 0 COMMENT '用药提醒是否完成 0:未完成 1:已完成',
    PRIMARY KEY (`order_id`) USING BTREE,
    INDEX                 `user_id`(`user_id` ASC) USING BTREE,
    INDEX                 `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                 `company_id`(`company_id` ASC) USING BTREE,
    INDEX                 `order_sn`(`order_sn` ASC) USING BTREE,
    INDEX                 `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '套餐订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_package_solar_term
-- ----------------------------
DROP TABLE IF EXISTS `fs_package_solar_term`;
CREATE TABLE `fs_package_solar_term`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`        varchar(255)   NOT NULL COMMENT '节气名称',
    `desc`        varchar(1000)   NULL DEFAULT NULL COMMENT '简介',
    `start_time`  datetime                                                      NOT NULL COMMENT '开始时间',
    `end_time`    datetime                                                      NOT NULL COMMENT '结束时间',
    `sort`        tinyint NULL DEFAULT NULL COMMENT '排序号',
    `is_del`      tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 0正常 1删除',
    `status`      tinyint(1) NULL DEFAULT 1 COMMENT '状态 1启用 0停用',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '节气表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_patient
-- ----------------------------
DROP TABLE IF EXISTS `fs_patient`;
CREATE TABLE `fs_patient`
(
    `patient_id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `patient_name`            varchar(200)   NULL DEFAULT NULL COMMENT '患者姓名',
    `user_id`                 bigint NULL DEFAULT NULL COMMENT '所属会员',
    `id_card`                 varchar(20)   NULL DEFAULT NULL COMMENT '身份证号',
    `birthday`                date NULL DEFAULT NULL COMMENT '出生年月',
    `sex`                     tinyint(1) NULL DEFAULT 1 COMMENT '性别',
    `weight`                  int NULL DEFAULT NULL COMMENT '体重G',
    `mobile`                  varchar(50)   NULL DEFAULT NULL COMMENT '手机号',
    `is_del`                  tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 ',
    `status`                  tinyint(1) NULL DEFAULT 0 COMMENT '状态 1正常 2禁用',
    `create_time`             datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '更新时间',
    `relation`                varchar(11)   NULL DEFAULT NULL COMMENT '与本人关系',
    `liver_unusual`           varchar(11)   NULL DEFAULT NULL COMMENT '肝功能是否异常',
    `renal_unusual`           varchar(11)   NULL DEFAULT NULL COMMENT '肾功能是否异常',
    `history_allergic`        varchar(255)   NULL DEFAULT NULL COMMENT '过敏史',
    `family_med_history`      varchar(255)   NULL DEFAULT NULL COMMENT '家族病史',
    `self_med_history`        varchar(255)   NULL DEFAULT NULL COMMENT '个人病史',
    `is_default`              int NULL DEFAULT 0 COMMENT '是否默认',
    `is_further`              int NULL DEFAULT NULL,
    `primary_hospital`        varchar(255)   NULL DEFAULT NULL,
    `primary_images`          varchar(255)   NULL DEFAULT NULL,
    `is_confirm`              tinyint NULL DEFAULT 1 COMMENT '用户是否确认 0未确认 1已确认',
    `help_company_user_id`    bigint NULL DEFAULT NULL COMMENT '帮填销售ID',
    `is_offline_consultation` int NULL DEFAULT NULL COMMENT '是否是否因慢病在线下就诊?且对该处方内的产品无过敏或不良反应?0:是，我线下就诊过;  1: 否',
    `is_read_therapy`         int NULL DEFAULT NULL COMMENT '是否已详细阅读疗法说明，确认自己符合疗法产品的适用人群，并了解使用方法，使用禁忌等?0:是 1：否',
    PRIMARY KEY (`patient_id`) USING BTREE,
    INDEX                     `user_id`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '病人表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_physical_report_template
-- ----------------------------
DROP TABLE IF EXISTS `fs_physical_report_template`;
CREATE TABLE `fs_physical_report_template`
(
    `id`            bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '体检模板ID',
    `template_name` varchar(100)   NOT NULL DEFAULT '' COMMENT '体检模板名称',
    `remark`        varchar(500)   NULL DEFAULT '' COMMENT '备注',
    `create_time`   datetime                                                      NOT NULL COMMENT '添加时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `status`        tinyint NULL DEFAULT NULL COMMENT '状态（1未启用、2启用）',
    `create_by`     bigint NULL DEFAULT NULL,
    `update_by`     bigint NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_id`(`id` ASC) USING BTREE,
    INDEX           `index_tempplateName`(`template_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '体检报告模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_physical_report_template_field
-- ----------------------------
DROP TABLE IF EXISTS `fs_physical_report_template_field`;
CREATE TABLE `fs_physical_report_template_field`
(
    `id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '字段id',
    `template_id`  bigint                                                        NOT NULL DEFAULT 0 COMMENT '模板ID',
    `component_id` bigint                                                        NOT NULL DEFAULT 0 COMMENT '组件ID,后续可联动组件',
    `label`        varchar(100)   NOT NULL DEFAULT '' COMMENT '字段组件名称',
    `remark`       varchar(500)   NULL DEFAULT '' COMMENT '备注',
    `type`         varchar(100)   NOT NULL DEFAULT '' COMMENT '字段类型',
    `sort`         int                                                           NOT NULL DEFAULT 0 COMMENT '排序',
    `required`     tinyint(1) NULL DEFAULT 0 COMMENT '是否必填0否1是',
    `multiple`     tinyint(1) NULL DEFAULT 0 COMMENT '是否多选0否1是',
    `multiples`    varchar(300)   NULL DEFAULT '' COMMENT '多选下来数据',
    `max_length`   int NULL DEFAULT 0 COMMENT '输入框最大长度',
    `min_length`   int NULL DEFAULT 0 COMMENT '输入框最小长度',
    `create_time`  datetime                                                      NOT NULL COMMENT '添加时间',
    `update_time`  datetime NULL DEFAULT NULL,
    `status`       tinyint NULL DEFAULT NULL COMMENT '状态（1未启用、2启用）',
    `create_by`    bigint NULL DEFAULT NULL,
    `update_by`    bigint NULL DEFAULT NULL COMMENT '更新人',
    `options`      varchar(300)   NULL DEFAULT '' COMMENT '下拉多选，复选框多选值',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_id`(`id` ASC) USING BTREE,
    INDEX          `index_query`(`label` ASC, `type` ASC) USING BTREE,
    INDEX          `idx_template_data_template_id`(`template_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '体检报告模板字段表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_prescribe
-- ----------------------------
DROP TABLE IF EXISTS `fs_prescribe`;
CREATE TABLE `fs_prescribe`
(
    `prescribe_id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `prescribe_type`            tinyint(1) NULL DEFAULT NULL COMMENT '处方类型 1西药 2中药',
    `inquiry_order_id`          bigint NULL DEFAULT NULL COMMENT '订单ID',
    `store_order_id`            bigint NULL DEFAULT NULL COMMENT '店铺订单ID',
    `user_id`                   bigint NULL DEFAULT NULL COMMENT '用户ID',
    `patient_id`                bigint NULL DEFAULT NULL COMMENT '患者ID',
    `prescribe_code`            varchar(32)   NULL DEFAULT NULL COMMENT '处⽅单ID（唯⼀ID）',
    `patient_descs`             text   NULL,
    `now_illness`               varchar(200)   NULL DEFAULT NULL COMMENT '现病史',
    `history_illness`           varchar(200)   NULL DEFAULT NULL COMMENT '既往史',
    `patient_age`               varchar(5)   NULL DEFAULT NULL COMMENT '患者年龄',
    `patient_name`              varchar(50)   NULL DEFAULT NULL COMMENT '患者姓名',
    `weight`                    varchar(10)   NULL DEFAULT NULL COMMENT '体重',
    `is_history_allergic`       varchar(2)   NULL DEFAULT NULL COMMENT '是否有过敏史（传值：是/否）',
    `history_allergic`          varchar(200)   NULL DEFAULT NULL COMMENT '过敏史',
    `liver_unusual`             varchar(2)   NULL DEFAULT NULL COMMENT '肝功能是否异常（传值：是/否）',
    `renal_unusual`             varchar(2)   NULL DEFAULT NULL COMMENT '肾功能是否异常（传值：是/否）',
    `is_lactation`              varchar(2)   NULL DEFAULT NULL COMMENT '是否是备孕/怀孕/哺乳期（传值：是',
    `patient_tel`               varchar(50)   NULL DEFAULT NULL COMMENT '患者电话',
    `patient_gender`            varchar(2)   NULL DEFAULT NULL COMMENT '患者性别(传数字，1男 2⼥)',
    `record_pic`                longtext   NULL COMMENT '复诊凭证',
    `prescribe_img_url`         varchar(200)   NULL DEFAULT NULL COMMENT '处方图片地址',
    `prescribe_img_store_url`   varchar(255)   NULL DEFAULT NULL,
    `audit_reason`              varchar(200)   NULL DEFAULT NULL COMMENT '拒绝原因',
    `diagnose`                  varchar(200)   NULL DEFAULT NULL COMMENT '诊断',
    `doctor_id`                 bigint NULL DEFAULT NULL COMMENT '医生ID',
    `drug_doctor_id`            bigint NULL DEFAULT NULL COMMENT '药师ID',
    `create_time`               datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`                    tinyint(1) NULL DEFAULT NULL COMMENT '状态 0待审核 1通过 2拒绝',
    `audit_time`                datetime NULL DEFAULT NULL COMMENT '审核时间',
    `usage_json`                longtext   NULL COMMENT '使用JSON',
    `remark`                    varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `store_id`                  bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `prescribe_doctor_id`       bigint NULL DEFAULT NULL COMMENT '处方医生id',
    `doctor_sign_url`           varchar(255)   NULL DEFAULT NULL COMMENT '医生签名',
    `prescribe_doctor_sign_url` varchar(255)   NULL DEFAULT NULL COMMENT '处方医生签名',
    `drug_doctor_sign_url`      varchar(255)   NULL DEFAULT NULL COMMENT '药师签名',
    `patient_birthday`          varchar(20)   NULL DEFAULT NULL COMMENT '患者生日',
    `recipe_type`               int NULL DEFAULT NULL COMMENT '制作类型 0-颗粒剂 1-膏方',
    `prescribe_code_url`        varchar(255)   NULL DEFAULT NULL COMMENT '二维码图片',
    `cycle`                     int NULL DEFAULT NULL COMMENT '用药周期',
    `icd_code`                  varchar(100)   NULL DEFAULT NULL,
    `source`                    int NULL DEFAULT NULL COMMENT '订单来源',
    `order_id`                  bigint NULL DEFAULT NULL COMMENT '订单id',
    PRIMARY KEY (`prescribe_id`) USING BTREE,
    INDEX                       `doctor_id`(`doctor_id` ASC) USING BTREE,
    INDEX                       `inquiry_order_id`(`inquiry_order_id` ASC) USING BTREE,
    INDEX                       `store_order_id`(`store_order_id` ASC) USING BTREE,
    INDEX                       `user_id`(`user_id` ASC) USING BTREE,
    INDEX                       `patient_id`(`patient_id` ASC) USING BTREE,
    INDEX                       `store_id`(`store_id` ASC) USING BTREE,
    INDEX                       `prescribe_code`(`prescribe_code` ASC) USING BTREE,
    INDEX                       `status`(`status` ASC) USING BTREE,
    INDEX                       `prescribe_type`(`prescribe_type` ASC) USING BTREE,
    INDEX                       `prescribe_doctor_id`(`prescribe_doctor_id` ASC) USING BTREE,
    INDEX                       `drug_doctor_id`(`drug_doctor_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '处方表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_prescribe_drug
-- ----------------------------
DROP TABLE IF EXISTS `fs_prescribe_drug`;
CREATE TABLE `fs_prescribe_drug`
(
    `drug_id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `prescribe_id`          bigint NULL DEFAULT NULL COMMENT '处方ID',
    `drug_name`             varchar(200)   NULL DEFAULT NULL COMMENT '药品名称',
    `drug_spec`             varchar(200)   NULL DEFAULT NULL COMMENT '规格',
    `usage_method`          varchar(200)   NULL DEFAULT NULL COMMENT '使⽤⽅法',
    `usage_frequency_unit`  varchar(200)   NULL DEFAULT NULL COMMENT '药品频次',
    `usage_per_use_count`   varchar(200)   NULL DEFAULT NULL COMMENT '每次⽤药数量',
    `usage_per_use_unit`    varchar(200)   NULL DEFAULT NULL COMMENT '每次⽤药单位',
    `usage_days`            varchar(200)   NULL DEFAULT NULL COMMENT '天数',
    `drug_price`            decimal(11, 2) NULL DEFAULT NULL,
    `drug_num`              int NULL DEFAULT NULL COMMENT '药品数量',
    `drug_unit`             varchar(20)   NULL DEFAULT NULL COMMENT '药品数量单位',
    `instructions`          varchar(2000)   NULL DEFAULT NULL COMMENT '药品说明书',
    `product_id`            bigint NULL DEFAULT NULL COMMENT '产品ID',
    `drug_img_url`          varchar(2000)   NULL DEFAULT NULL COMMENT '药品图片',
    `product_attr_value_id` bigint NULL DEFAULT NULL COMMENT '规格ID',
    `remark`                varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `drug_type`             tinyint(1) NULL DEFAULT NULL COMMENT '1西药 2中药',
    `is_drug`               tinyint(1) NULL DEFAULT 1 COMMENT '是否药品',
    PRIMARY KEY (`drug_id`) USING BTREE,
    INDEX                   `prescribe_id`(`prescribe_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '处方药品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_project_address_config
-- ----------------------------
DROP TABLE IF EXISTS `fs_project_address_config`;
CREATE TABLE `fs_project_address_config`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`        varchar(255)   NOT NULL COMMENT '项目名称',
    `code`        varchar(50)    NOT NULL COMMENT '唯一标识',
    `address_url` varchar(255)   NOT NULL COMMENT '接口地址',
    `bucket_path` varchar(255)   NOT NULL COMMENT '存储桶地址',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `send_type`   tinyint NULL DEFAULT NULL COMMENT '发送类型 1个微 2企微',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '项目地址配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_promotional_active
-- ----------------------------
DROP TABLE IF EXISTS `fs_promotional_active`;
CREATE TABLE `fs_promotional_active`
(
    `id`          bigint                                                         NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `title`       varchar(255)    NOT NULL COMMENT '活动标题文案',
    `theme`       varchar(1000)   NOT NULL COMMENT '活动主题',
    `content`     varchar(1000)   NOT NULL COMMENT '活动内容',
    `is_del`      tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 0正常 1删除',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_is_del`(`is_del` ASC) USING BTREE,
    INDEX         `idx_create`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '宣传活动表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_promotional_active_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_promotional_active_log`;
CREATE TABLE `fs_promotional_active_log`
(
    `id`           bigint  NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `active_id`    bigint  NOT NULL COMMENT '活动ID',
    `user_id`      bigint  NOT NULL COMMENT '用户ID',
    `resource_id`  bigint NULL DEFAULT NULL COMMENT '资源ID',
    `type`         tinyint NOT NULL COMMENT '模块类型 1.首页 2.视频 3.医生 4.产品',
    `product_type` tinyint NULL DEFAULT NULL COMMENT '产品类型 1.疗法 2.积分商品',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `idx_active_user`(`active_id` ASC, `user_id` ASC) USING BTREE,
    INDEX          `idx_type`(`type` ASC) USING BTREE,
    INDEX          `idx_create`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '宣传活动访问记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_promotional_active_resource
-- ----------------------------
DROP TABLE IF EXISTS `fs_promotional_active_resource`;
CREATE TABLE `fs_promotional_active_resource`
(
    `id`           bigint  NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `active_id`    bigint  NOT NULL COMMENT '活动ID',
    `resource_id`  bigint  NOT NULL COMMENT '资源ID',
    `type`         tinyint NOT NULL COMMENT '资源类型 1.视频 2.医生 3.产品',
    `product_type` tinyint NULL DEFAULT NULL COMMENT '产品类型 1.疗法 2.积分商品',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `idx_create`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '宣传活动表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_question_and_answer
-- ----------------------------
DROP TABLE IF EXISTS `fs_question_and_answer`;
CREATE TABLE `fs_question_and_answer`
(
    `id`            bigint NOT NULL AUTO_INCREMENT,
    `question_name` varchar(255)   NULL DEFAULT NULL COMMENT '问答名称',
    `json_info`     text   NULL COMMENT '问答数据',
    `create_time`   datetime NULL DEFAULT NULL,
    `update_time`   datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问答' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_questions
-- ----------------------------
DROP TABLE IF EXISTS `fs_questions`;
CREATE TABLE `fs_questions`
(
    `id`             bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '题目ID',
    `title`          varchar(200)   NOT NULL COMMENT '题目',
    `sort`           int NULL DEFAULT NULL COMMENT '排序',
    `answers`        varchar(2000)   NULL DEFAULT NULL COMMENT '答案',
    `tags`           varchar(200)   NULL DEFAULT NULL COMMENT '词条',
    `create_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `status`         int NULL DEFAULT NULL COMMENT '状态',
    `views`          int NULL DEFAULT NULL COMMENT '浏览量',
    `questions_type` int NULL DEFAULT NULL COMMENT '问题类别',
    `dept_id`        int NULL DEFAULT NULL COMMENT '科室id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问答专区表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_sales_user_period_relation
-- ----------------------------
DROP TABLE IF EXISTS `fs_sales_user_period_relation`;
CREATE TABLE `fs_sales_user_period_relation`
(
    `id`        bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `sales_id`  bigint NOT NULL COMMENT '销售ID，关联company_user表',
    `user_id`   bigint NOT NULL COMMENT '用户ID，关联fs_user表',
    `period_id` bigint NOT NULL COMMENT '营期ID，关联fs_user_course_period表',
    `bind_time` datetime NULL DEFAULT NULL COMMENT '绑定时间',
    `days_id`   bigint NOT NULL COMMENT '小节id',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_sales_user_period`(`sales_id` ASC, `user_id` ASC, `period_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '销售-用户-营期关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_shipping_templates
-- ----------------------------
DROP TABLE IF EXISTS `fs_shipping_templates`;
CREATE TABLE `fs_shipping_templates`
(
    `id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '模板ID',
    `name`         varchar(255)   NULL DEFAULT NULL COMMENT '模板名称',
    `type`         tinyint(1) NULL DEFAULT NULL COMMENT '计费方式 1按件 2按重量 3按体积',
    `region_info`  text   NULL COMMENT '地域以及费用',
    `appoint`      tinyint(1) NULL DEFAULT NULL COMMENT '指定包邮开关',
    `appoint_info` text   NULL COMMENT '指定包邮内容',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time`  datetime NULL DEFAULT NULL,
    `is_del`       tinyint(1) NULL DEFAULT 0,
    `sort`         int NULL DEFAULT NULL COMMENT '排序',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '运费模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_shipping_templates_free
-- ----------------------------
DROP TABLE IF EXISTS `fs_shipping_templates_free`;
CREATE TABLE `fs_shipping_templates_free`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `temp_id`     bigint NULL DEFAULT 0 COMMENT '模板ID',
    `province_id` bigint NULL DEFAULT 0 COMMENT '省ID',
    `city_id`     bigint NULL DEFAULT 0 COMMENT '城市ID',
    `number`      decimal(10, 2) NULL DEFAULT 0.00 COMMENT '包邮件数',
    `price`       decimal(10, 2) NULL DEFAULT 0.00 COMMENT '包邮金额',
    `type`        tinyint(1) NULL DEFAULT 1 COMMENT '计费方式',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '免邮费表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_shipping_templates_region
-- ----------------------------
DROP TABLE IF EXISTS `fs_shipping_templates_region`;
CREATE TABLE `fs_shipping_templates_region`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `province_id`    bigint NULL DEFAULT NULL COMMENT '省ID',
    `temp_id`        bigint NULL DEFAULT NULL COMMENT '模板ID',
    `city_id`        bigint NULL DEFAULT NULL COMMENT '城市ID',
    `county_id`      bigint NULL DEFAULT NULL COMMENT '区/县ID',
    `first`          decimal(10, 2) NULL DEFAULT 0.00 COMMENT '首件',
    `first_price`    decimal(10, 2) NULL DEFAULT 0.00 COMMENT '首件运费',
    `continues`      decimal(10, 2) NULL DEFAULT 0.00 COMMENT '续件',
    `continue_price` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '续件运费',
    `type`           int NULL DEFAULT 1 COMMENT '计费方式',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '邮费区域表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_qw_temp_param
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_qw_temp_param`;
CREATE TABLE `fs_statis_qw_temp_param`
(
    `id`              int NOT NULL AUTO_INCREMENT,
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `this_date`       date NULL DEFAULT NULL COMMENT '当天时间',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微id',
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_param_multi`(`this_date` ASC, `company_user_id` ASC, `qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_qw_watch
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_qw_watch`;
CREATE TABLE `fs_statis_qw_watch`
(
    `id`                      bigint NOT NULL AUTO_INCREMENT,
    `dept_id`                 bigint NULL DEFAULT NULL COMMENT '部门',
    `company_user_id`         bigint NULL DEFAULT NULL COMMENT '销售id',
    `qw_user_id`              varchar(50)   NULL DEFAULT NULL COMMENT '企微号',
    `sop_task_num`            bigint NULL DEFAULT 0 COMMENT '任务数',
    `period_num`              bigint NULL DEFAULT 0 COMMENT '营期数',
    `period_person_num`       bigint NULL DEFAULT 0 COMMENT '营期人数',
    `completed_num`           bigint NULL DEFAULT 0 COMMENT '完课数',
    `data_date`               date NULL DEFAULT NULL COMMENT '数据日期',
    `send_num`                bigint NULL DEFAULT NULL COMMENT '发课数',
    `not_registered_num`      bigint NULL DEFAULT NULL COMMENT '待看课数',
    `interrupt_num`           bigint NULL DEFAULT NULL COMMENT '中断数',
    `registered_num`          bigint GENERATED ALWAYS AS ((`send_num` - `not_registered_num`)) VIRTUAL COMMENT '上线数' NULL,
    `qw_repeat_num`           bigint NULL DEFAULT 0 COMMENT '企微重粉数',
    `user_repeat_num`         bigint NULL DEFAULT 0 COMMENT '小程序(看课)重粉',
    `black_num`               bigint NULL DEFAULT 0 COMMENT '拉黑数',
    `deleted_num`             bigint NULL DEFAULT 0 COMMENT '删除数',
    `order_num`               bigint NULL DEFAULT 0 COMMENT '订单总数',
    `order_money_total`       decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '订单总金额',
    `red_package_money_total` decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '红包总金额',
    `call_num`                bigint NULL DEFAULT 0 COMMENT '总拨打数',
    `receive_pass_num`        bigint NULL DEFAULT 0 COMMENT '接通数',
    `receive_not_num`         bigint NULL DEFAULT 0 COMMENT '未接通数',
    `call_time_total`         bigint NULL DEFAULT 0 COMMENT '通话时长(单位s)',
    `remind_pending_num`      bigint NULL DEFAULT 0 COMMENT '催课未处理数',
    `remind_processed_num`    bigint NULL DEFAULT 0 COMMENT '催课已处理数',
    `reg_rate`                decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                       when (`send_num` = 0) then 0.0000
                                                                       else round((`registered_num` / `send_num`), 4) end)) VIRTUAL COMMENT '上线率 = 已报名人数 / 发课数' NULL,
    `finished_rate`           decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                       when (`registered_num` = 0) then 0.0000
                                                                       else round((`completed_num` / `send_num`), 4) end)) VIRTUAL COMMENT '完课率 = 已完课人数 / 发课数' NULL,
    `traffic_sum`             bigint NULL DEFAULT NULL COMMENT '流量数',
    `reg_num`                 bigint NULL DEFAULT NULL COMMENT '注册数',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_dept_user_period_date`(`dept_id` ASC, `company_user_id` ASC, `qw_user_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                     `idx_fs_statis_saler_watch_composite`(`company_user_id` ASC, `qw_user_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                     `idx_fs_statis_saler_watch_date_user`(`data_date` ASC, `company_user_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                     `dept_id`(`dept_id` ASC, `company_user_id` ASC, `period_num` ASC, `period_person_num` ASC, `completed_num` ASC, `qw_user_id` ASC, `data_date` ASC, `send_num` ASC, `not_registered_num` ASC, `interrupt_num` ASC, `registered_num` ASC, `qw_repeat_num` ASC, `user_repeat_num` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_saler_watch
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_saler_watch`;
CREATE TABLE `fs_statis_saler_watch`
(
    `id`                          bigint NOT NULL AUTO_INCREMENT,
    `dept_id`                     bigint NULL DEFAULT NULL COMMENT '部门',
    `company_user_id`             bigint NULL DEFAULT NULL COMMENT '销售id',
    `train_camp_num`              bigint NULL DEFAULT 0 COMMENT '营期人数',
    `completed_num`               bigint NULL DEFAULT 0 COMMENT '完课数',
    `offline_total`               int NULL DEFAULT NULL COMMENT '未上线-总数',
    `offline_not_part`            int NULL DEFAULT NULL COMMENT '未上线-未参与',
    `offline_not_watched`         int NULL DEFAULT NULL COMMENT '未上线-为观看',
    `online_total`                int NULL DEFAULT NULL COMMENT '已上线-总数',
    `online_online_rate`          float NULL DEFAULT NULL COMMENT '已上线-上线率',
    `online_playback_comple_rate` float NULL DEFAULT NULL COMMENT '已上线-完播率',
    `online_incomplete_playback`  int NULL DEFAULT NULL COMMENT '已上线-未完播',
    `online_complete_playback`    int NULL DEFAULT NULL COMMENT '已上线-已完播',
    `period_id`                   varchar(50)   NULL DEFAULT NULL COMMENT 'sop营期id',
    `sop_id`                      varchar(50)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `data_date`                   date NULL DEFAULT NULL COMMENT '数据日期',
    `send_num`                    bigint NULL DEFAULT NULL COMMENT '发课数',
    `not_registered_num`          bigint NULL DEFAULT NULL COMMENT '待看课数',
    `interrupt_num`               bigint NULL DEFAULT NULL COMMENT '中断数',
    `registered_num`              bigint GENERATED ALWAYS AS ((`send_num` - `not_registered_num`)) VIRTUAL COMMENT '上线数' NULL,
    `qw_repeat_num`               bigint NULL DEFAULT 0 COMMENT '企微重粉数',
    `user_repeat_num`             bigint NULL DEFAULT 0 COMMENT '小程序(看课)重粉',
    `reg_rate`                    decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                           when (`send_num` = 0) then 0.0000
                                                                           else round((`registered_num` / `send_num`), 4) end)) VIRTUAL COMMENT '上线率 = 已报名人数 / 发课数' NULL,
    `finished_rate`               decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                           when (`registered_num` = 0) then 0.0000
                                                                           else round((`completed_num` / `send_num`), 4) end)) VIRTUAL COMMENT '完课率 = 已完课人数 / 发课数' NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_dept_user_period_date`(`dept_id` ASC, `company_user_id` ASC, `period_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                         `idx_fs_statis_saler_watch_composite`(`company_user_id` ASC, `period_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                         `idx_fs_statis_saler_watch_date_user`(`data_date` ASC, `company_user_id` ASC, `period_id` ASC) USING BTREE,
    INDEX                         `dept_id`(`dept_id` ASC, `company_user_id` ASC, `train_camp_num` ASC, `completed_num` ASC, `period_id` ASC, `sop_id` ASC, `data_date` ASC, `send_num` ASC, `not_registered_num` ASC, `interrupt_num` ASC, `registered_num` ASC, `qw_repeat_num` ASC, `user_repeat_num` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_temp_fsuser
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_temp_fsuser`;
CREATE TABLE `fs_statis_temp_fsuser`
(
    `id`         bigint NOT NULL AUTO_INCREMENT,
    `period_id`  varchar(50)   NULL DEFAULT NULL,
    `fs_user_id` bigint NULL DEFAULT NULL,
    `qw_user_id` varchar(50)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `period_id_2`(`period_id` ASC, `fs_user_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX        `period_id`(`period_id` ASC, `fs_user_id` ASC, `qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_temp_param
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_temp_param`;
CREATE TABLE `fs_statis_temp_param`
(
    `id`              int NOT NULL AUTO_INCREMENT,
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `sop_id`          varchar(50)   NULL DEFAULT NULL COMMENT 'sop_id',
    `this_date`       varchar(50)   NULL DEFAULT NULL COMMENT '当天时间',
    `qw_user_id`      varchar(50)   NULL DEFAULT NULL COMMENT '企微id',
    `period_id`       varchar(50)   NULL DEFAULT NULL COMMENT '营期id',
    `start_time`      varchar(50)   NULL DEFAULT NULL COMMENT '营期时间',
    `create_time`     datetime NULL DEFAULT NULL,
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_param_multi`(`this_date` ASC, `company_user_id` ASC, `sop_id` ASC, `qw_user_id` ASC, `start_time` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statistics
-- ----------------------------
DROP TABLE IF EXISTS `fs_statistics`;
CREATE TABLE `fs_statistics`
(
    `id`                bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '公司id',
    `dept_id`           int NULL DEFAULT NULL COMMENT '部门id',
    `statistics_time`   datetime NULL DEFAULT NULL COMMENT '统计时间',
    `project_id`        bigint NULL DEFAULT NULL COMMENT '项目id',
    `course_id`         bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`          int NULL DEFAULT NULL COMMENT '视频d',
    `log_type`          int NULL DEFAULT NULL COMMENT '记录类型 1看课中\\2完课 \\3待看课 \\4看课中断',
    `send_count`        int NULL DEFAULT NULL COMMENT '发送的总条数',
    `answer_num`        int NULL DEFAULT NULL COMMENT '答题数量',
    `red_packet_num`    int NULL DEFAULT NULL COMMENT '红包领取数量',
    `red_packet_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '红包金额',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`       datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX               `index_st_time`(`statistics_time` ASC) USING BTREE COMMENT '统计时间',
    INDEX               `index_company_id`(`company_id` ASC) USING BTREE COMMENT '公司id'
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statistics_index
-- ----------------------------
DROP TABLE IF EXISTS `fs_statistics_index`;
CREATE TABLE `fs_statistics_index`
(
    `id`                     int NOT NULL AUTO_INCREMENT,
    `available_money`        float NULL DEFAULT NULL COMMENT '可用余额',
    `version_limit`          int NULL DEFAULT 0 COMMENT '版本上限',
    `today_watch_user_count` int NULL DEFAULT NULL COMMENT '平台今日看课人数',
    `company_num`            int NULL DEFAULT NULL COMMENT '分公司数量',
    `seller_num`             int NULL DEFAULT NULL COMMENT '销售数量',
    `member_num`             int NULL DEFAULT NULL COMMENT '会员数量',
    `black_num`              int NULL DEFAULT NULL COMMENT '黑名单会员数量',
    `normal_mem_num`         int NULL DEFAULT NULL COMMENT '正常会员数量',
    `balance`                decimal(10, 2) NULL DEFAULT NULL COMMENT '当前账户余额',
    `today_comsumption`      decimal(10, 2) NULL DEFAULT NULL COMMENT '今日消费金额',
    `yesterday_comsumption`  decimal(10, 2) NULL DEFAULT NULL COMMENT '昨日消费金额',
    `sms_num`                int NULL DEFAULT NULL COMMENT '短信剩余条数',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statistics_index_overview
-- ----------------------------
DROP TABLE IF EXISTS `fs_statistics_index_overview`;
CREATE TABLE `fs_statistics_index_overview`
(
    `id`                   int NOT NULL,
    `watch_user_count`     bigint NULL DEFAULT NULL COMMENT '观看人数',
    `completed_user_count` bigint NULL DEFAULT NULL COMMENT '完播人数',
    `completed_user_rate`  float NULL DEFAULT NULL COMMENT '完播率',
    `watch_count`          bigint NULL DEFAULT NULL COMMENT '观看次数',
    `completed_count`      bigint NULL DEFAULT NULL COMMENT '完播次数',
    `completed_rate`       float NULL DEFAULT NULL COMMENT '视频完播率',
    `answer_user_count`    bigint NULL DEFAULT NULL COMMENT '答题人数',
    `correct_user_count`   bigint NULL DEFAULT NULL COMMENT '正确人数',
    `correct_rate`         bigint NULL DEFAULT NULL COMMENT '正确率',
    `answer_redpack_count` bigint NULL DEFAULT NULL COMMENT '答题红包个数',
    `answer_redpack_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '答题红包金额',
    `type`                 tinyint NULL DEFAULT NULL COMMENT '类型: 0今日 1昨日 2本周 3本月 4上月',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store
-- ----------------------------
DROP TABLE IF EXISTS `fs_store`;
CREATE TABLE `fs_store`
(
    `store_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `city_ids`         varchar(200)   NULL DEFAULT NULL COMMENT '所属城市ids',
    `store_name`       varchar(50)   NULL DEFAULT NULL COMMENT '店铺名称',
    `descs`            varchar(200)   NULL DEFAULT NULL COMMENT '店铺介绍',
    `logo_url`         varchar(200)   NULL DEFAULT NULL COMMENT '店铺LOGO',
    `address`          varchar(200)   NULL DEFAULT NULL COMMENT '地址',
    `lng`              varchar(50)   NULL DEFAULT NULL COMMENT '经度',
    `lat`              varchar(50)   NULL DEFAULT NULL COMMENT '维度',
    `phone`            varchar(20)   NULL DEFAULT NULL COMMENT '店铺电话',
    `license_images`   varchar(2000)   NULL DEFAULT NULL COMMENT '资质证书',
    `product_count`    int NULL DEFAULT 0 COMMENT '商品总数',
    `status`           tinyint(1) NULL DEFAULT 0 COMMENT '状态',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `sales_count`      int NULL DEFAULT 0 COMMENT '销量',
    `balance`          decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `total_money`      decimal(11, 2) NULL DEFAULT 0.00 COMMENT '累计金额',
    `is_audit`         tinyint(1) NULL DEFAULT 0 COMMENT '审核状态',
    `account`          varchar(200)   NULL DEFAULT NULL COMMENT '登录帐号',
    `password`         varchar(50)   NULL DEFAULT NULL COMMENT '登录密码',
    `shipping_type`    varchar(20)   NULL DEFAULT NULL COMMENT '配送方式 1=配送 ，2=到店自提',
    `brokerage_type`   int NULL DEFAULT NULL,
    `brokerage_rate`   int NULL DEFAULT NULL COMMENT '佣金比率%',
    `full_name`        varchar(200)   NULL DEFAULT NULL COMMENT '机构全称',
    `refund_phone`     varchar(255)   NULL DEFAULT NULL COMMENT '退货电话',
    `refund_address`   varchar(255)   NULL DEFAULT NULL COMMENT '退货地址',
    `refund_consignee` varchar(255)   NULL DEFAULT NULL COMMENT '收件人',
    `delivery_type`    tinyint(1) NULL DEFAULT NULL COMMENT '发货方式',
    `send_phone`       varchar(255)   NULL DEFAULT NULL COMMENT '发货人电话',
    PRIMARY KEY (`store_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '店铺表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_activity
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_activity`;
CREATE TABLE `fs_store_activity`
(
    `activity_id`  bigint NOT NULL AUTO_INCREMENT,
    `title`        varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `descs`        varchar(5000)   NULL DEFAULT NULL COMMENT '描述',
    `logo_url`     varchar(200)   NULL DEFAULT NULL COMMENT '封面图',
    `images`       varchar(2000)   NULL DEFAULT NULL COMMENT '活动 BANNER',
    `product_ids`  varchar(200)   NULL DEFAULT NULL COMMENT '活动商品',
    `content`      longtext   NULL COMMENT '活动内容',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`       tinyint(1) NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `share_number` int NULL DEFAULT 0 COMMENT '分享人数',
    PRIMARY KEY (`activity_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_activity_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_activity_scrm`;
CREATE TABLE `fs_store_activity_scrm`
(
    `activity_id`  bigint NOT NULL AUTO_INCREMENT,
    `title`        varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `descs`        varchar(5000)   NULL DEFAULT NULL COMMENT '描述',
    `logo_url`     varchar(200)   NULL DEFAULT NULL COMMENT '封面图',
    `images`       varchar(2000)   NULL DEFAULT NULL COMMENT '活动 BANNER',
    `product_ids`  varchar(200)   NULL DEFAULT NULL COMMENT '活动商品',
    `content`      longtext   NULL COMMENT '活动内容',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`       tinyint(1) NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `share_number` int NULL DEFAULT 0 COMMENT '分享人数',
    PRIMARY KEY (`activity_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '活动表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales`;
CREATE TABLE `fs_store_after_sales`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `store_id`        bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `order_id`        bigint NULL DEFAULT NULL COMMENT '订单ID',
    `refund_amount`   decimal(11, 2) NULL DEFAULT NULL COMMENT '退款金额',
    `refund_type`     tinyint(1) NULL DEFAULT NULL COMMENT '服务类型0仅退款1退货退款',
    `reasons`         text   NULL COMMENT '申请原因',
    `explains`        text   NULL COMMENT '说明',
    `explain_img`     text   NULL COMMENT '说明图片->多个用逗号分割',
    `delivery_code`   varchar(255)   NULL DEFAULT NULL COMMENT '物流公司编码',
    `delivery_sn`     varchar(32)   NULL DEFAULT NULL COMMENT '物流单号',
    `delivery_name`   varchar(32)   NULL DEFAULT NULL COMMENT '物流名称',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 0已提交等待平台审核 1平台已审核 等待用户发货 2 用户已发货待仓库审核 3财务审核 4退款成功',
    `sales_status`    tinyint(1) NULL DEFAULT NULL COMMENT '售后状态 0售后中 1用户取消2商家拒绝 3已完成',
    `order_status`    tinyint(1) NULL DEFAULT NULL COMMENT '订单状态',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '添加时间',
    `is_del`          tinyint UNSIGNED NULL DEFAULT NULL COMMENT '逻辑删除',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `consignee`       varchar(255)   NULL DEFAULT NULL COMMENT '商家收货人',
    `phone_number`    varchar(255)   NULL DEFAULT NULL COMMENT '商家手机号',
    `address`         varchar(255)   NULL DEFAULT NULL COMMENT '商家地址',
    `company_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `is_package`      tinyint(1) NULL DEFAULT 0,
    `package_json`    longtext   NULL,
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_item
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_item`;
CREATE TABLE `fs_store_after_sales_item`
(
    `id`                    bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `after_sales_id`        bigint NULL DEFAULT NULL COMMENT '售后id',
    `product_id`            bigint NULL DEFAULT NULL COMMENT '商品id',
    `json_info`             text   NOT NULL COMMENT '退货东西的详情信息',
    `is_del`                tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除',
    `product_attr_value_id` bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后子表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_item_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_item_scrm`;
CREATE TABLE `fs_store_after_sales_item_scrm`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `store_after_sales_id` bigint NULL DEFAULT NULL COMMENT '售后id',
    `product_id`           bigint NULL DEFAULT NULL COMMENT '商品id',
    `num`                  int NULL DEFAULT NULL COMMENT '数量',
    `json_info`            text   NOT NULL COMMENT '退货东西的详情信息',
    `is_del`               tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后子表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_logs`;
CREATE TABLE `fs_store_after_sales_logs`
(
    `logs_id`              bigint NOT NULL AUTO_INCREMENT,
    `store_after_sales_id` bigint NULL DEFAULT NULL COMMENT '售后id',
    `change_type`          tinyint(1) NULL DEFAULT NULL COMMENT '操作类型',
    `change_message`       varchar(128)   NULL DEFAULT NULL COMMENT '操作备注',
    `change_time`          datetime NULL DEFAULT NULL COMMENT '操作时间',
    `operator`             varchar(200)   NULL DEFAULT NULL COMMENT '操作人',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `store_id`             bigint NULL DEFAULT NULL COMMENT '店铺id',
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后订单操作表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_logs_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_logs_scrm`;
CREATE TABLE `fs_store_after_sales_logs_scrm`
(
    `logs_id`              bigint NOT NULL DEFAULT 0,
    `store_after_sales_id` bigint NULL DEFAULT NULL COMMENT '售后id',
    `change_type`          tinyint(1) NULL DEFAULT NULL COMMENT '操作类型',
    `change_message`       varchar(128)   NULL DEFAULT NULL COMMENT '操作备注',
    `change_time`          datetime NULL DEFAULT NULL COMMENT '操作时间',
    `operator`             varchar(200)   NULL DEFAULT NULL COMMENT '操作人',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `store_id`             bigint NULL DEFAULT NULL COMMENT '店铺id'
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_scrm`;
CREATE TABLE `fs_store_after_sales_scrm`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `order_code`      varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `refund_amount`   decimal(11, 2) NULL DEFAULT NULL COMMENT '退款金额',
    `service_type`    tinyint(1) NULL DEFAULT NULL COMMENT '服务类型0仅退款1退货退款',
    `reasons`         text   NULL COMMENT '申请原因',
    `explains`        text   NULL COMMENT '说明',
    `explain_img`     text   NULL COMMENT '说明图片->多个用逗号分割',
    `shipper_code`    varchar(255)   NULL DEFAULT NULL COMMENT '物流公司编码',
    `delivery_sn`     varchar(32)   NULL DEFAULT NULL COMMENT '物流单号',
    `delivery_name`   varchar(32)   NULL DEFAULT NULL COMMENT '物流名称',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 0已提交等待平台审核 1平台已审核 等待用户发货 2 用户已发货待仓库审核 3财务审核 select o.order_code,p.*, from fs_store_order o  LEFT JOIN fs_store_order_status p ON p.order_id = o.id LEFT JOIN fs_store_after_sales s on s.order_code = o.order_code where o.create_time >= \' 2023-09-19 00:00:00\' AND o.create_time <= \' 2023-09-23 00:00:00\' and o.status = 2 and p.change_message = \' 确认收货\' ',
    `sales_status`    tinyint(1) NULL DEFAULT NULL COMMENT '售后状态 0售后中 1用户取消2商家拒绝 3已完成',
    `order_status`    tinyint(1) NULL DEFAULT NULL COMMENT '订单状态',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '添加时间',
    `is_del`          tinyint UNSIGNED NULL DEFAULT NULL COMMENT '逻辑删除',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `consignee`       varchar(255)   NULL DEFAULT NULL COMMENT '商家收货人',
    `phone_number`    varchar(255)   NULL DEFAULT NULL COMMENT '商家手机号',
    `address`         varchar(255)   NULL DEFAULT NULL COMMENT '商家地址',
    `company_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `is_package`      tinyint(1) NULL DEFAULT 0,
    `package_json`    longtext   NULL,
    `store_id`        bigint NULL DEFAULT NULL COMMENT '店铺ID',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `order_code`(`order_code` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_after_sales_status_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_after_sales_status_scrm`;
CREATE TABLE `fs_store_after_sales_status_scrm`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT,
    `store_after_sales_id` bigint NULL DEFAULT NULL COMMENT '售后id',
    `change_type`          tinyint(1) NULL DEFAULT NULL COMMENT '操作类型',
    `change_message`       varchar(128)   NULL DEFAULT NULL COMMENT '操作备注',
    `change_time`          datetime NULL DEFAULT NULL COMMENT '操作时间',
    `operator`             varchar(200)   NULL DEFAULT NULL COMMENT '操作人',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后订单操作表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_bill
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_bill`;
CREATE TABLE `fs_store_bill`
(
    `bill_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `store_id`    bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '金额',
    `balance`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `bill_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `business_id` varchar(20)   NULL DEFAULT NULL COMMENT '关联ID',
    PRIMARY KEY (`bill_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '帐单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_bill_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_bill_scrm`;
CREATE TABLE `fs_store_bill_scrm`
(
    `bill_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `store_id`    bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '金额',
    `balance`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `bill_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `business_id` varchar(20)   NULL DEFAULT NULL COMMENT '关联ID',
    PRIMARY KEY (`bill_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '帐单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_canvas
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_canvas`;
CREATE TABLE `fs_store_canvas`
(
    `canvas_id`   bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '画布id',
    `terminal`    tinyint(1) NOT NULL COMMENT '终端 1-小程序',
    `json`        text   NULL COMMENT '画布json数据',
    `type`        tinyint(1) NULL DEFAULT 1 COMMENT '类型 1-系统画布 2-自定义页面 3-商家店铺装修',
    `name`        varchar(255)   NOT NULL DEFAULT '' COMMENT '名称',
    `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
    `is_del`      tinyint(1) NULL DEFAULT NULL COMMENT '删除标识',
    PRIMARY KEY (`canvas_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '画布信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_canvas_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_canvas_scrm`;
CREATE TABLE `fs_store_canvas_scrm`
(
    `canvas_id`   bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '画布id',
    `terminal`    tinyint(1) NOT NULL COMMENT '终端 1-小程序',
    `json`        text   NULL COMMENT '画布json数据',
    `type`        tinyint(1) NULL DEFAULT 1 COMMENT '类型 1-系统画布 2-自定义页面 3-商家店铺装修',
    `name`        varchar(255)   NOT NULL DEFAULT '' COMMENT '名称',
    `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
    `is_del`      tinyint(1) NULL DEFAULT NULL COMMENT '删除标识',
    PRIMARY KEY (`canvas_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '画布信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_cart
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_cart`;
CREATE TABLE `fs_store_cart`
(
    `card_id`               bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '购物车表ID',
    `user_id`               bigint UNSIGNED NOT NULL COMMENT '用户ID',
    `type`                  varchar(32)   NOT NULL DEFAULT 'product' COMMENT '类型',
    `product_id`            bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `product_attr_value_id` bigint NULL DEFAULT NULL,
    `cart_num`              smallint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品数量',
    `create_time`           datetime                                               NOT NULL COMMENT '添加时间',
    `update_time`           datetime NULL DEFAULT NULL,
    `is_pay`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '0 = 未购买 1 = 已购买',
    `is_del`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    `is_buy`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为立即购买',
    PRIMARY KEY (`card_id`) USING BTREE,
    INDEX                   `user_id`(`user_id` ASC) USING BTREE,
    INDEX                   `goods_id`(`product_id` ASC) USING BTREE,
    INDEX                   `uid`(`user_id` ASC, `is_pay` ASC) USING BTREE,
    INDEX                   `uid_2`(`user_id` ASC, `is_del` ASC) USING BTREE,
    INDEX                   `uid_3`(`user_id` ASC, `is_buy` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_cart_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_cart_scrm`;
CREATE TABLE `fs_store_cart_scrm`
(
    `id`                    bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '购物车表ID',
    `user_id`               bigint UNSIGNED NOT NULL COMMENT '用户ID',
    `type`                  varchar(32)   NOT NULL DEFAULT 'product' COMMENT '类型',
    `product_id`            bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `product_attr_value_id` bigint NULL DEFAULT NULL,
    `cart_num`              smallint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品数量',
    `create_time`           datetime                                               NOT NULL COMMENT '添加时间',
    `update_time`           datetime NULL DEFAULT NULL,
    `is_pay`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '0 = 未购买 1 = 已购买',
    `is_del`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    `is_buy`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为立即购买',
    `change_price`          decimal(10, 2) NULL DEFAULT NULL COMMENT '改价(商品单价)',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                   `user_id`(`user_id` ASC) USING BTREE,
    INDEX                   `goods_id`(`product_id` ASC) USING BTREE,
    INDEX                   `uid`(`user_id` ASC, `is_pay` ASC) USING BTREE,
    INDEX                   `uid_2`(`user_id` ASC, `is_del` ASC) USING BTREE,
    INDEX                   `uid_3`(`user_id` ASC, `is_buy` ASC) USING BTREE,
    INDEX                   `type`(`type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon`;
CREATE TABLE `fs_store_coupon`
(
    `coupon_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '优惠券表ID',
    `title`            varchar(64)   NOT NULL COMMENT '优惠券名称',
    `integral`         int UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换消耗积分值',
    `coupon_price`     decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '兑换的优惠券面值',
    `use_min_price`    decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '最低消费多少金额可用优惠券',
    `coupon_time`      int UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券有效期限（单位：天）',
    `sort`             int UNSIGNED NOT NULL DEFAULT 1 COMMENT '排序',
    `status`           tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '状态（0：关闭，1：开启）',
    `product_ids`      varchar(200)   NULL DEFAULT NULL COMMENT '商品ids',
    `package_cate_ids` varchar(200)   NULL DEFAULT NULL COMMENT '套餐分类ids',
    `type`             tinyint NULL DEFAULT 0 COMMENT '优惠券类型 0-通用 1-商品券',
    `create_time`      datetime                                               NOT NULL COMMENT '兑换项目添加时间',
    `update_time`      datetime NULL DEFAULT NULL,
    `is_del`           tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`coupon_id`) USING BTREE,
    INDEX              `state`(`status` ASC) USING BTREE,
    INDEX              `add_time`(`create_time` ASC) USING BTREE,
    INDEX              `coupon_time`(`coupon_time` ASC) USING BTREE,
    INDEX              `is_del`(`is_del` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_issue
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_issue`;
CREATE TABLE `fs_store_coupon_issue`
(
    `id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `coupon_name`  varchar(200)   NULL DEFAULT '',
    `coupon_id`    bigint NULL DEFAULT NULL COMMENT '优惠券ID',
    `coupon_type`  tinyint(1) NULL DEFAULT NULL COMMENT '优惠券类型 0-通用 1-商品券',
    `start_time`   datetime NULL DEFAULT NULL COMMENT '优惠券领取开启时间',
    `limit_time`   datetime NULL DEFAULT NULL COMMENT '优惠券领取结束时间',
    `total_count`  int NULL DEFAULT NULL COMMENT '优惠券领取数量',
    `remain_count` int NULL DEFAULT NULL COMMENT '优惠券剩余领取数量',
    `is_permanent` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否无限张数',
    `status`       tinyint(1) NOT NULL DEFAULT 1 COMMENT '1 正常 0 未开启 -1 已无效',
    `is_del`       tinyint UNSIGNED NOT NULL DEFAULT 0,
    `create_time`  datetime NULL DEFAULT NULL COMMENT '优惠券添加时间',
    `update_time`  datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '优惠券领取表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_issue_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_issue_scrm`;
CREATE TABLE `fs_store_coupon_issue_scrm`
(
    `id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `coupon_name`  varchar(200)   NULL DEFAULT '',
    `coupon_id`    bigint NULL DEFAULT NULL COMMENT '优惠券ID',
    `coupon_type`  tinyint(1) NULL DEFAULT NULL COMMENT '优惠券类型 0-通用 1-商品券 2-制单卷',
    `start_time`   datetime NULL DEFAULT NULL COMMENT '优惠券领取开启时间',
    `limit_time`   datetime NULL DEFAULT NULL COMMENT '优惠券领取结束时间',
    `total_count`  int NULL DEFAULT NULL COMMENT '优惠券领取数量',
    `remain_count` int NULL DEFAULT NULL COMMENT '优惠券剩余领取数量',
    `is_permanent` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否无限张数',
    `status`       tinyint(1) NOT NULL DEFAULT 1 COMMENT '1 正常 0 未开启 -1 已无效',
    `is_del`       tinyint UNSIGNED NOT NULL DEFAULT 0,
    `create_time`  datetime NULL DEFAULT NULL COMMENT '优惠券添加时间',
    `update_time`  datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券领取表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_issue_user
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_issue_user`;
CREATE TABLE `fs_store_coupon_issue_user`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`     bigint NULL DEFAULT NULL COMMENT '领取优惠券用户ID',
    `issue_id`    bigint NULL DEFAULT NULL COMMENT '优惠券领取ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '领取时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `uid`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '优惠券用户领取记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_issue_user_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_issue_user_scrm`;
CREATE TABLE `fs_store_coupon_issue_user_scrm`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`     bigint NULL DEFAULT NULL COMMENT '领取优惠券用户ID',
    `issue_id`    bigint NULL DEFAULT NULL COMMENT '优惠券领取ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '领取时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `uid`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券用户领取记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_scrm`;
CREATE TABLE `fs_store_coupon_scrm`
(
    `coupon_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '优惠券表ID',
    `title`            varchar(64)   NOT NULL COMMENT '优惠券名称',
    `integral`         int UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换消耗积分值',
    `coupon_price`     decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '兑换的优惠券面值',
    `use_min_price`    decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '最低消费多少金额可用优惠券',
    `coupon_time`      int UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券有效期限（单位：天）',
    `sort`             int UNSIGNED NOT NULL DEFAULT 1 COMMENT '排序',
    `status`           tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '状态（0：关闭，1：开启）',
    `product_ids`      varchar(200)   NULL DEFAULT NULL COMMENT '商品ids',
    `package_cate_ids` varchar(200)   NULL DEFAULT NULL COMMENT '套餐分类ids',
    `type`             tinyint NULL DEFAULT 0 COMMENT '优惠券类型 0-通用 1-商品券 2-制单卷',
    `create_time`      datetime                                               NOT NULL COMMENT '兑换项目添加时间',
    `update_time`      datetime NULL DEFAULT NULL,
    `is_del`           tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
    `pay_price`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '立减金金额',
    PRIMARY KEY (`coupon_id`) USING BTREE,
    INDEX              `state`(`status` ASC) USING BTREE,
    INDEX              `add_time`(`create_time` ASC) USING BTREE,
    INDEX              `coupon_time`(`coupon_time` ASC) USING BTREE,
    INDEX              `is_del`(`is_del` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_coupon_user_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_coupon_user_scrm`;
CREATE TABLE `fs_store_coupon_user_scrm`
(
    `id`            bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '优惠券发放记录id',
    `coupon_id`     bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换的项目id',
    `user_id`       bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券所属用户',
    `coupon_title`  varchar(32)   NOT NULL COMMENT '优惠券名称',
    `coupon_price`  decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '优惠券的面值',
    `use_min_price` decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '最低消费多少金额可用优惠券',
    `create_time`   datetime                                               NOT NULL COMMENT '优惠券创建时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `limit_time`    datetime                                               NOT NULL COMMENT '优惠券结束时间',
    `use_time`      datetime NULL DEFAULT NULL COMMENT '使用时间',
    `type`          varchar(32)   NOT NULL DEFAULT 'send' COMMENT '获取方式',
    `status`        tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态（0：未使用，1：已使用, 2:已过期）',
    `is_fail`       tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有效',
    `is_del`        tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `cid`(`coupon_id` ASC) USING BTREE,
    INDEX           `uid`(`user_id` ASC) USING BTREE,
    INDEX           `add_time`(`create_time` ASC) USING BTREE,
    INDEX           `end_time`(`limit_time` ASC) USING BTREE,
    INDEX           `status`(`status` ASC) USING BTREE,
    INDEX           `is_fail`(`is_fail` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券发放记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_express
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_express`;
CREATE TABLE `fs_store_express`
(
    `express_id`  bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '快递公司id',
    `code`        varchar(50)   NOT NULL DEFAULT '' COMMENT '快递公司简称',
    `name`        varchar(50)   NOT NULL DEFAULT '' COMMENT '快递公司全称',
    `sort`        int                                                    NOT NULL DEFAULT 0 COMMENT '排序',
    `is_show`     tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`express_id`) USING BTREE,
    INDEX         `is_show`(`is_show` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '快递公司表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_extract
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_extract`;
CREATE TABLE `fs_store_extract`
(
    `extract_id`    bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `store_id`      bigint UNSIGNED NULL DEFAULT NULL COMMENT '店铺ID',
    `real_name`     varchar(64)   NULL DEFAULT NULL COMMENT '名称',
    `extract_type`  varchar(32)   NULL DEFAULT 'bank' COMMENT 'bank = 银行卡 alipay = 支付宝wx=微信',
    `bank_code`     varchar(32)   NULL DEFAULT '0' COMMENT '银行卡',
    `bank_address`  varchar(256)   NULL DEFAULT '' COMMENT '开户地址',
    `alipay_code`   varchar(64)   NULL DEFAULT '' COMMENT '支付宝账号',
    `extract_price` decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '提现金额',
    `mark`          varchar(512)   NULL DEFAULT NULL,
    `balance`       decimal(8, 2) UNSIGNED NULL DEFAULT 0.00,
    `fail_msg`      varchar(128)   NULL DEFAULT NULL COMMENT '无效原因',
    `fail_time`     datetime NULL DEFAULT NULL,
    `create_time`   datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `status`        tinyint NULL DEFAULT 0 COMMENT '-1 未通过 0 审核中 1 已提现',
    `wechat`        varchar(50)   NULL DEFAULT NULL COMMENT '微信号',
    `is_del`        tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`extract_id`) USING BTREE,
    INDEX           `extract_type`(`extract_type` ASC) USING BTREE,
    INDEX           `status`(`status` ASC) USING BTREE,
    INDEX           `add_time`(`create_time` ASC) USING BTREE,
    INDEX           `fail_time`(`fail_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '提现表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_prescription_answer_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_prescription_answer_scrm`;
CREATE TABLE `fs_store_hospital580_prescription_answer_scrm`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `pre_id`          bigint NOT NULL COMMENT '关联订单主表ID',
    `title`           varchar(255)   NULL DEFAULT NULL COMMENT '题目1-症状，2-用药信息，3-是否使用过此类药物?，4-是否有药物过敏史?，5-肝肾功能是否异常?',
    `subject_id`      tinyint NULL DEFAULT NULL COMMENT '题目id 1,2,3,4,5固定值',
    `answer`          varchar(500)   NULL DEFAULT NULL COMMENT '题目答案',
    `answer_medicine` varchar(500)   NULL DEFAULT NULL COMMENT '用药信息选择（JSON格式）',
    `create_time`     timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_order_id`(`pre_id` ASC) USING BTREE,
    INDEX             `idx_subject_id`(`subject_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊问答明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_prescription_chat_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_prescription_chat_scrm`;
CREATE TABLE `fs_store_hospital580_prescription_chat_scrm`
(
    `id`      bigint NOT NULL AUTO_INCREMENT COMMENT '聊天表主键',
    `content` text   NULL COMMENT '聊天记录信息json数组',
    `pre_id`  bigint NULL DEFAULT NULL COMMENT '处方id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX     `index_diagnosis_id`(`pre_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊单聊天记录信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_prescription_medicine_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_prescription_medicine_scrm`;
CREATE TABLE `fs_store_hospital580_prescription_medicine_scrm`
(
    `id`               bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `pre_id`           bigint                                                        NOT NULL COMMENT '处方订单ID',
    `drug_common_name` varchar(100)   NOT NULL COMMENT '药品通用名',
    `drug_name`        varchar(100)   NOT NULL COMMENT '药品名称',
    `amount`           int                                                           NOT NULL DEFAULT 1 COMMENT '药品数量',
    `instructions`     varchar(200)   NOT NULL COMMENT '药品用法用量说明',
    `spec`             varchar(100)   NOT NULL COMMENT '商品规格',
    `commodity_code`   varchar(50)   NULL DEFAULT NULL COMMENT '三方商品编码',
    `medicine_id`      bigint                                                        NOT NULL COMMENT '580药品id',
    `created_time`     timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_time`     timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_order_id`(`pre_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '处方药品明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_prescription_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_prescription_scrm`;
CREATE TABLE `fs_store_hospital580_prescription_scrm`
(
    `pre_id`                bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_id`               bigint UNSIGNED NOT NULL COMMENT '用户id',
    `service_type`          tinyint                                                       NOT NULL DEFAULT 0 COMMENT '服务类型：0-图文，1-视频',
    `is_examine`            tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否需要审方：0-不需要，1-需要',
    `is_pregnant_woman`     tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否孕妇：0-否，1-是',
    `is_lactation`          tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否哺乳期：0-否，1-是',
    `souce_from`            tinyint                                                       NOT NULL DEFAULT 0 COMMENT '来源：0-微信小程序，1-APP，2-H5，3-支付宝小程序',
    `user_family_name`      varchar(50)    NOT NULL COMMENT '用药人姓名',
    `user_family_id_card`   varchar(18)   NULL DEFAULT NULL COMMENT '身份证',
    `user_family_age`       int                                                           NOT NULL COMMENT '年龄',
    `user_family_gender`    tinyint                                                       NOT NULL COMMENT '性别：1-男，2-女',
    `user_family_phone`     varchar(255)   NOT NULL COMMENT '手机号码',
    `relationship`          tinyint(1) NULL DEFAULT NULL COMMENT '关系：1-本人，2-父母，3-配偶，4-子女，5-其他',
    `user_family_addr`      varchar(100)   NULL DEFAULT NULL COMMENT '就诊人住址（最多30个字符）',
    `img_list`              text   NULL COMMENT '图片附件URL，多个以英文逗号隔开',
    `third_return_url`      varchar(255)   NULL DEFAULT NULL COMMENT '结束问诊后跳回三方的地址',
    `create_time`           timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`           timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `pid`                   bigint NULL DEFAULT NULL COMMENT '处方id(580)',
    `hospital_name`         varchar(100)   NULL DEFAULT NULL COMMENT '医院名称',
    `store_id`              bigint NULL DEFAULT NULL COMMENT '药店ID',
    `store_name`            varchar(100)   NULL DEFAULT NULL COMMENT '药店名称',
    `diagnosis_id`          bigint NULL DEFAULT NULL COMMENT '问诊单ID(580)',
    `doctor_sign_time`      timestamp NULL DEFAULT NULL COMMENT '医生签名时间',
    `doctor_id`             bigint NULL DEFAULT NULL COMMENT '医生ID',
    `doctor_office`         varchar(50)   NULL DEFAULT NULL COMMENT '医生科室',
    `doctor_name`           varchar(50)   NULL DEFAULT NULL COMMENT '医生姓名',
    `tags`                  varchar(200)   NULL DEFAULT NULL COMMENT '诊断标签',
    `status`                tinyint NULL DEFAULT 1 COMMENT '处方状态(1正常 2已作废 )',
    `memo`                  varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `remarks`               varchar(500)   NULL DEFAULT NULL COMMENT '说明',
    `reason`                varchar(500)   NULL DEFAULT NULL COMMENT '审核不通过的理由（可能为空）',
    `dst_file_path`         varchar(500)   NULL DEFAULT NULL COMMENT '处方图片地址',
    `created_time`          timestamp NULL DEFAULT NULL COMMENT '创建时间/开方时间',
    `serial_no`             varchar(50)   NULL DEFAULT NULL COMMENT '处方编号',
    `audit_status`          tinyint(1) NULL DEFAULT NULL COMMENT '处方审核状态:1为待审核，2为审核通过，3为审核不通过',
    `audit_time`            datetime NULL DEFAULT NULL COMMENT '审方时间',
    `audit_apothecary_name` varchar(255)   NULL DEFAULT NULL COMMENT '审方药师名称',
    `audit_apothecary_id`   bigint NULL DEFAULT NULL COMMENT '审方药师id',
    `jump_url`              varchar(1000)   NULL DEFAULT NULL COMMENT '问诊知情确认页面URL',
    `prescription_status`   tinyint(1) NULL DEFAULT 0 COMMENT '开方情况0未开方1开方2拒绝',
    `store_order_id`        bigint NULL DEFAULT NULL COMMENT '商城订单id',
    PRIMARY KEY (`pre_id`) USING BTREE,
    INDEX                   `idx_create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '问诊订单主表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_product_push_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_product_push_scrm`;
CREATE TABLE `fs_store_hospital580_product_push_scrm`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `product_id`  int NULL DEFAULT NULL COMMENT '商品id',
    `push_status` tinyint(1) NULL DEFAULT NULL COMMENT '推送状态 0推送中1成功2失败',
    `err_msg`     varchar(255)   NULL DEFAULT NULL COMMENT '失败原因',
    `create_time` datetime NULL DEFAULT NULL COMMENT '推送时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '收到结果时间',
    `request_id`  bigint NULL DEFAULT NULL COMMENT '请求id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `index_product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品推送记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_hospital580_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_hospital580_scrm`;
CREATE TABLE `fs_store_hospital580_scrm`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `request`        varchar(255)   NULL DEFAULT NULL COMMENT '请求地址',
    `request_parm`   text   NULL COMMENT '请求参数',
    `response`       text   NULL COMMENT '请求响应',
    `request_status` tinyint(1) NULL DEFAULT 1 COMMENT '请求成功状态1是0否',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '请求580医院记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_level_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_level_scrm`;
CREATE TABLE `fs_store_level_scrm`
(
    `id`           int                                                     NOT NULL AUTO_INCREMENT,
    `name`         varchar(255)   NOT NULL DEFAULT '' COMMENT '会员名称',
    `money`        decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '购买金额',
    `valid_date`   int                                                     NOT NULL DEFAULT 0 COMMENT '有效时间',
    `is_forever`   tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为永久会员',
    `is_pay`       tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否购买,1=购买,0=不购买',
    `is_show`      tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示 1=显示,0=隐藏',
    `grade`        int                                                     NOT NULL DEFAULT 0 COMMENT '会员等级',
    `payment_type` varchar(1)   NULL DEFAULT NULL COMMENT '付款类型 ',
    `discount`     decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '享受折扣',
    `image`        varchar(255)   NOT NULL DEFAULT '' COMMENT '会员卡背景',
    `icon`         varchar(255)   NOT NULL DEFAULT '' COMMENT '会员图标',
    `explain`      text   NOT NULL COMMENT '说明',
    `create_time`  datetime                                                NOT NULL COMMENT '添加时间',
    `update_time`  datetime NULL DEFAULT NULL,
    `is_del`       tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除.1=删除,0=未删除',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员等级表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_menu
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_menu`;
CREATE TABLE `fs_store_menu`
(
    `menu_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `menu_name`   varchar(200)   NULL DEFAULT NULL,
    `icon`        varchar(200)   NULL DEFAULT NULL,
    `is_show`     tinyint(1) NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `link_type`   tinyint(1) NULL DEFAULT NULL COMMENT '跳转类型 0dev 1switchTab 2navigateTo',
    `link_url`    varchar(200)   NULL DEFAULT NULL,
    `sort`        int NULL DEFAULT 0 COMMENT '排序号',
    PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户端菜单管理' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order`;
CREATE TABLE `fs_store_order`
(
    `order_id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID',
    `store_id`             bigint NULL DEFAULT NULL,
    `order_code`           varchar(32)   NOT NULL COMMENT '订单号',
    `user_id`              bigint UNSIGNED NOT NULL COMMENT '用户id',
    `user_name`            varchar(32)   NULL DEFAULT NULL COMMENT '收货人',
    `user_phone`           varchar(50)   NULL DEFAULT NULL COMMENT '收货人电话',
    `user_address`         varchar(255)   NULL DEFAULT NULL COMMENT '详细地址',
    `cart_id`              varchar(256)   NULL DEFAULT '[]' COMMENT '购物车id',
    `total_num`            int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单商品总数',
    `total_price`          decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '订单总价',
    `pay_price`            decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '实际支付金额',
    `pay_money`            decimal(8, 2) NULL DEFAULT 0.00 COMMENT '支付金额',
    `is_pay`               tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付状态 待支付 1已支付',
    `pay_time`             datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`             varchar(32)   NULL DEFAULT NULL COMMENT '支付方式 1微信',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL,
    `status`               tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态（-1 : 申请退款 -2 : 退货成功 1：待支付 2：待发货；3：待收货；4：待评价；5：已完成）',
    `refund_status`        tinyint UNSIGNED NULL DEFAULT 0 COMMENT '0 未退款 1 申请中 2 已退款',
    `refund_img`           varchar(255)   NULL DEFAULT NULL COMMENT '退款图片',
    `refund_explain`       varchar(255)   NULL DEFAULT NULL COMMENT '退款用户说明',
    `refund_time`          datetime NULL DEFAULT NULL COMMENT '退款时间',
    `refund_reason`        varchar(255)   NULL DEFAULT NULL COMMENT '不退款的理由',
    `refund_money`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '退款金额',
    `delivery_code`        varchar(100)   NULL DEFAULT '' COMMENT '快递公司编号',
    `delivery_name`        varchar(64)   NULL DEFAULT NULL COMMENT '快递名称',
    `delivery_sn`          varchar(32)   NULL DEFAULT NULL COMMENT '快递单号',
    `remark`               varchar(512)   NULL DEFAULT NULL COMMENT '备注',
    `is_del`               tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除',
    `cost_price`           decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `verify_code`          varchar(50)   NULL DEFAULT '' COMMENT '核销码',
    `shipping_type`        tinyint(1) NULL DEFAULT 1 COMMENT '配送方式 1=快递 ，2=门店自提',
    `is_channel`           tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付渠道(1微信小程序)',
    `is_prescribe`         tinyint(1) NULL DEFAULT 0 COMMENT '是否开处方',
    `prescribe_id`         bigint NULL DEFAULT NULL COMMENT '处方ID',
    `finish_time`          datetime NULL DEFAULT NULL,
    `delivery_time`        varchar(50)   NULL DEFAULT NULL COMMENT '发货时间',
    `tui_money`            decimal(10, 2) NULL DEFAULT 0.00 COMMENT '推广佣金',
    `tui_money_status`     tinyint(1) NULL DEFAULT 0 COMMENT '推广佣金状态 1已发放 0待发放',
    `tui_user_id`          bigint NULL DEFAULT NULL COMMENT '上级推荐人ID',
    `order_create_type`    tinyint NULL DEFAULT NULL COMMENT '订单创建类型',
    `doctor_id`            int NULL DEFAULT NULL COMMENT '医生id',
    `order_type`           tinyint(1) NULL DEFAULT NULL COMMENT '订单类型 1西药 2中药',
    `item_json`            longtext   NULL COMMENT 'orderItem字符串',
    `discount_money`       decimal(10, 2) NULL DEFAULT 0.00 COMMENT '优惠金额',
    `user_coupon_id`       bigint NULL DEFAULT NULL,
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`      bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `store_house_code`     varchar(255)   NULL DEFAULT NULL COMMENT '仓库代码',
    `extend_order_id`      varchar(255)   NULL DEFAULT NULL COMMENT '扩展订单ID',
    `pay_delivery`         decimal(10, 2) NULL DEFAULT 0.00 COMMENT '支付运费',
    `package_id`           bigint NULL DEFAULT NULL COMMENT '套餐包id',
    `inquiry_order_id`     bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    `package_order_id`     bigint NULL DEFAULT NULL COMMENT '套餐包订单id',
    `pay_remain`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '剩余金额',
    `delivery_status`      tinyint(1) NULL DEFAULT NULL COMMENT '物流状态',
    `delivery_pay_status`  tinyint(1) NULL DEFAULT NULL COMMENT '物流结算状态',
    `delivery_pay_time`    varchar(50)   NULL DEFAULT NULL,
    `delivery_type`        varchar(32)   NULL DEFAULT NULL COMMENT '物流跟踪状态',
    `delivery_pay_money`   decimal(10, 2) NULL DEFAULT NULL COMMENT '物流结算金额',
    `delivery_import_time` datetime NULL DEFAULT NULL COMMENT '回单导入时间',
    `delivery_send_time`   datetime NULL DEFAULT NULL COMMENT '发货时间',
    `is_after_sales`       tinyint(1) NULL DEFAULT 1 COMMENT '是否可售后',
    `prescribe_price`      decimal(10, 2) NULL DEFAULT 0.00 COMMENT '处方定价',
    `dept_id`              bigint NULL DEFAULT NULL COMMENT '部门id',
    `follow_time`          date NULL DEFAULT NULL COMMENT '下次随访日期',
    `follow_doctor_id`     bigint NULL DEFAULT NULL COMMENT '随访医生id',
    `cycle`                int NULL DEFAULT 0 COMMENT '用药周期',
    `follow_num`           int NULL DEFAULT 0 COMMENT '随访',
    `schedule_id`          bigint NULL DEFAULT NULL COMMENT '档期id',
    `order_buy_type`       int NULL DEFAULT NULL COMMENT '订单购买类型',
    `channel`              varchar(255)   NULL DEFAULT NULL COMMENT '渠道',
    `package_name`         varchar(255)   NULL DEFAULT NULL COMMENT '套餐包名称',
    `package_second_name`  varchar(255)   NULL DEFAULT NULL COMMENT '套餐包别名',
    `follow_end_time`      date NULL DEFAULT NULL COMMENT '随访结束时间',
    `follow_status`        tinyint(1) NULL DEFAULT NULL,
    `qw_subject`           varchar(255)   NULL DEFAULT NULL,
    `delivery_update_time` datetime NULL DEFAULT NULL,
    `order_channel`        varchar(255)   NULL DEFAULT NULL,
    `is_first`             int NULL DEFAULT NULL,
    `tui_money_time`       datetime NULL DEFAULT NULL,
    `customer_id`          bigint NULL DEFAULT NULL,
    `source`               int NULL DEFAULT NULL COMMENT '订单来源',
    `bill_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '开票金额',
    `total_postage`        decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '邮费',
    `pay_postage`          decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '支付邮费',
    `gain_integral`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '消费赚取积分',
    `use_integral`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '使用积分',
    `pay_integral`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '实际支付积分',
    `back_integral`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '给用户退了多少积分',
    `is_edit_money`        tinyint(1) NULL DEFAULT 0 COMMENT '是否改价',
    `service_fee`          decimal(10, 2) NULL DEFAULT NULL COMMENT '服务费',
    `erp_phone`            varchar(15)   NULL DEFAULT NULL COMMENT 'erp推送号码',
    `complaint_time`       date NULL DEFAULT NULL COMMENT '投诉时间',
    `complaint_type`       varchar(255)   NULL DEFAULT NULL COMMENT '投诉类型',
    `objection_content`    varchar(500)   NULL DEFAULT NULL COMMENT '异议内容',
    `handle_result`        varchar(500)   NULL DEFAULT NULL COMMENT '处理结果',
    PRIMARY KEY (`order_id`) USING BTREE,
    UNIQUE INDEX `id`(`order_code` ASC, `user_id` ASC) USING BTREE,
    INDEX                  `uid`(`user_id` ASC) USING BTREE,
    INDEX                  `paid`(`is_pay` ASC) USING BTREE,
    INDEX                  `pay_type`(`pay_type` ASC) USING BTREE,
    INDEX                  `status`(`status` ASC) USING BTREE,
    INDEX                  `is_del`(`is_del` ASC) USING BTREE,
    INDEX                  `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                  `company_id`(`company_id` ASC) USING BTREE,
    INDEX                  `deslivery_sn`(`delivery_sn` ASC) USING BTREE,
    INDEX                  `doctor_id`(`doctor_id` ASC) USING BTREE,
    INDEX                  `store_id`(`store_id` ASC) USING BTREE,
    INDEX                  `add_time`(`create_time` ASC) USING BTREE,
    INDEX                  `pay_price`(`pay_price` ASC) USING BTREE,
    INDEX                  `pay_time`(`pay_time` ASC) USING BTREE,
    INDEX                  `user_phone`(`user_phone` ASC) USING BTREE,
    INDEX                  `delivery_sn`(`delivery_sn` ASC) USING BTREE,
    INDEX                  `user_name`(`user_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_audit_log_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_audit_log_scrm`;
CREATE TABLE `fs_store_order_audit_log_scrm`
(
    `id`            bigint   NOT NULL AUTO_INCREMENT,
    `audit_id`      bigint   NOT NULL COMMENT '审核ID',
    `order_id`      bigint   NOT NULL COMMENT '订单ID',
    `audit_user_id` bigint NULL DEFAULT NULL COMMENT '销售人id',
    `content`       varchar(1000)   NULL DEFAULT NULL COMMENT '销售审核人ID',
    `create_time`   datetime NOT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单审核记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_audit_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_audit_scrm`;
CREATE TABLE `fs_store_order_audit_scrm`
(
    `id`                    bigint   NOT NULL AUTO_INCREMENT,
    `order_id`              bigint   NOT NULL COMMENT '订单ID',
    `company_id`            bigint   NOT NULL COMMENT '公司id',
    `company_user_id`       bigint   NOT NULL COMMENT '销售id',
    `audit_status`          tinyint NULL DEFAULT 0 COMMENT '审核状态 0:待销售审核 1:销售审核拒绝 2:待总后台审核 3:总后台审核拒绝 4:审核通过 ',
    `company_audit_time`    datetime NULL DEFAULT NULL COMMENT '销售审核时间',
    `company_audit_user_id` bigint NULL DEFAULT NULL COMMENT '销售审核人ID',
    `admin_audit_time`      datetime NULL DEFAULT NULL COMMENT '总后台审核时间',
    `admin_audit_user_id`   bigint NULL DEFAULT NULL COMMENT '总后台审核人ID',
    `reason`                varchar(1000)   NULL DEFAULT NULL COMMENT '被拒原因',
    `create_time`           datetime NOT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_order_id`(`order_id` ASC) USING BTREE,
    INDEX                   `idx_company_id`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单审核表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_bill_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_bill_log`;
CREATE TABLE `fs_store_order_bill_log`
(
    `id`                           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_id`                     bigint NULL DEFAULT NULL COMMENT '订单ID',
    `order_code`                   varchar(255)   NULL DEFAULT NULL COMMENT '药品订单号',
    `order_no`                     varchar(255)   NULL DEFAULT NULL COMMENT '开票订单号',
    `serial_no`                    varchar(255)   NULL DEFAULT NULL COMMENT '开票流水号',
    `red_no`                       varchar(255)   NULL DEFAULT NULL COMMENT '冲红流水号',
    `invoice_code`                 varchar(255)   NULL DEFAULT NULL COMMENT '发票代码',
    `invoice_no`                   varchar(255)   NULL DEFAULT NULL COMMENT '发票号码',
    `bill_no`                      varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单编号',
    `bill_uuid`                    varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单uuid',
    `red_order_no`                 varchar(255)   NULL DEFAULT NULL COMMENT '冲红订单号',
    `all_electronic_invoice_numbe` varchar(255)   NULL DEFAULT NULL COMMENT '数电票号码',
    `invoice_kind`                 varchar(255)   NULL DEFAULT NULL COMMENT '发票种类',
    `order_amount`                 varchar(255)   NULL DEFAULT NULL COMMENT '开票金额',
    `bill_type`                    int NULL DEFAULT NULL COMMENT '开票类型0企业1个人',
    `payer_name`                   varchar(255)   NULL DEFAULT NULL COMMENT '购方名称',
    `payer_tax_no`                 varchar(255)   NULL DEFAULT NULL COMMENT '购方税号',
    `address`                      varchar(255)   NULL DEFAULT NULL COMMENT '购方地址',
    `telephone`                    varchar(255)   NULL DEFAULT NULL COMMENT '购方电话',
    `red_reason`                   int NULL DEFAULT NULL COMMENT '冲红原因 1:销货退回;2:开票有误;3:服务中止;4:发生销售折让',
    `remark`                       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `paper_pdf_url`                varchar(255)   NULL DEFAULT NULL COMMENT '含底图纸票pdf地址',
    `red_time`                     datetime NULL DEFAULT NULL COMMENT '冲红时间',
    `upload_api`                   int NULL DEFAULT 0 COMMENT '是否上传API，0否1是',
    `invoice_time`                 datetime NULL DEFAULT NULL COMMENT '开票时间',
    `img_urls`                     varchar(2048)   NULL DEFAULT NULL COMMENT '图片',
    `picture_url`                  varchar(255)   NULL DEFAULT NULL COMMENT '发票图片地址',
    `pdf_url`                      varchar(255)   NULL DEFAULT NULL COMMENT '发票pdf地址',
    `fail_cause`                   varchar(255)   NULL DEFAULT NULL COMMENT '失败原因',
    `status_msg`                   varchar(255)   NULL DEFAULT NULL COMMENT '发票状态描述',
    `status`                       int NULL DEFAULT 20 COMMENT '开票状态0未开始2 :开票完成（ 最终状 态），其他状态分别为: 20:开票中; 21:开票成功签章中;22:开票失败;24: 开票成功签章失败;3:发票已作废 31: 发票作废中 备注：22、24状态时，无需再查询，请确认开票失败原因以及签章失败原因； 注：请以该状态码区分发票状态',
    `red_status`                   varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单状态： 01 无需确认 02 销方录入待购方确认 03 购方录入待销方确认 04 购销双方已确认 05 作废（销方录入购方否认） 06 作废（购方录入销方否认） 07 作废（超72小时未确认） 08 作废（发起方已撤销） 09 作废（确认后撤销） 15 申请中 16 申请失败',
    `create_time`                  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`                    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`                    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`                  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `json`                         longtext   NULL COMMENT '数据',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单开票记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_bill_log_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_bill_log_scrm`;
CREATE TABLE `fs_store_order_bill_log_scrm`
(
    `id`                           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_id`                     bigint NULL DEFAULT NULL COMMENT '订单ID',
    `order_code`                   varchar(255)   NULL DEFAULT NULL COMMENT '药品订单号',
    `order_no`                     varchar(255)   NULL DEFAULT NULL COMMENT '开票订单号',
    `serial_no`                    varchar(255)   NULL DEFAULT NULL COMMENT '开票流水号',
    `red_no`                       varchar(255)   NULL DEFAULT NULL COMMENT '冲红流水号',
    `invoice_code`                 varchar(255)   NULL DEFAULT NULL COMMENT '发票代码',
    `invoice_no`                   varchar(255)   NULL DEFAULT NULL COMMENT '发票号码',
    `bill_no`                      varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单编号',
    `bill_uuid`                    varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单uuid',
    `red_order_no`                 varchar(255)   NULL DEFAULT NULL COMMENT '冲红订单号',
    `all_electronic_invoice_numbe` varchar(255)   NULL DEFAULT NULL COMMENT '数电票号码',
    `invoice_kind`                 varchar(255)   NULL DEFAULT NULL COMMENT '发票种类',
    `order_amount`                 varchar(255)   NULL DEFAULT NULL COMMENT '开票金额',
    `bill_type`                    int NULL DEFAULT NULL COMMENT '开票类型0企业1个人',
    `payer_name`                   varchar(255)   NULL DEFAULT NULL COMMENT '购方名称',
    `payer_tax_no`                 varchar(255)   NULL DEFAULT NULL COMMENT '购方税号',
    `address`                      varchar(255)   NULL DEFAULT NULL COMMENT '购方地址',
    `telephone`                    varchar(255)   NULL DEFAULT NULL COMMENT '购方电话',
    `red_reason`                   int NULL DEFAULT NULL COMMENT '冲红原因 1:销货退回;2:开票有误;3:服务中止;4:发生销售折让',
    `remark`                       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `paper_pdf_url`                varchar(255)   NULL DEFAULT NULL COMMENT '含底图纸票pdf地址',
    `red_time`                     datetime NULL DEFAULT NULL COMMENT '冲红时间',
    `upload_api`                   int NULL DEFAULT 0 COMMENT '是否上传API，0否1是',
    `invoice_time`                 datetime NULL DEFAULT NULL COMMENT '开票时间',
    `img_urls`                     varchar(2048)   NULL DEFAULT NULL COMMENT '图片',
    `picture_url`                  varchar(255)   NULL DEFAULT NULL COMMENT '发票图片地址',
    `pdf_url`                      varchar(255)   NULL DEFAULT NULL COMMENT '发票pdf地址',
    `fail_cause`                   varchar(255)   NULL DEFAULT NULL COMMENT '失败原因',
    `status_msg`                   varchar(255)   NULL DEFAULT NULL COMMENT '发票状态描述',
    `status`                       int NULL DEFAULT 20 COMMENT '开票状态0未开始2 :开票完成（ 最终状 态），其他状态分别为: 20:开票中; 21:开票成功签章中;22:开票失败;24: 开票成功签章失败;3:发票已作废 31: 发票作废中 备注：22、24状态时，无需再查询，请确认开票失败原因以及签章失败原因； 注：请以该状态码区分发票状态',
    `red_status`                   varchar(255)   NULL DEFAULT NULL COMMENT '红字确认单状态： 01 无需确认 02 销方录入待购方确认 03 购方录入待销方确认 04 购销双方已确认 05 作废（销方录入购方否认） 06 作废（购方录入销方否认） 07 作废（超72小时未确认） 08 作废（发起方已撤销） 09 作废（确认后撤销） 15 申请中 16 申请失败',
    `create_time`                  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`                    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`                    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`                  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `json`                         longtext   NULL COMMENT '数据',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单开票记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_df
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_df`;
CREATE TABLE `fs_store_order_df`
(
    `order_id`             bigint                                                        NOT NULL COMMENT '订单id',
    `order_code`           varchar(32)   NULL DEFAULT NULL COMMENT '订单编号',
    `app_key`              varchar(50)    NOT NULL,
    `app_secret`           varchar(50)    NOT NULL,
    `login_account`        varchar(255)   NOT NULL,
    `monthly_card`         varchar(255)   NOT NULL COMMENT '顺丰月结账户',
    `express_product_code` varchar(10)   NULL DEFAULT NULL COMMENT '物流产品编码:1-顺丰标快，2-顺丰标快（陆运）,204-陆运微小件,231-陆运包裹,208-特惠专配',
    `total_price`          decimal(10, 2) NULL DEFAULT NULL COMMENT '订单总价',
    `platform_price`       decimal(10, 2) NULL DEFAULT NULL COMMENT '平台收款',
    `status`               tinyint                                                       NOT NULL DEFAULT 0 COMMENT '0:默认 1下单 2取消订单',
    `create_time`          datetime                                                      NOT NULL,
    `update_time`          datetime NULL DEFAULT NULL,
    `fail_msg`             varchar(255)   NULL DEFAULT NULL COMMENT '失败原因',
    `parcel_quantity`      int NULL DEFAULT 1 COMMENT '包裹数量',
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_item
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_item`;
CREATE TABLE `fs_store_order_item`
(
    `item_id`               bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`              bigint UNSIGNED NOT NULL COMMENT '订单id',
    `order_code`            varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `cart_id`               bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '购物车ID',
    `product_id`            bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品ID',
    `product_attr_value_id` bigint NULL DEFAULT NULL COMMENT '商品规格ID',
    `json_info`             text   NULL,
    `num`                   int NULL DEFAULT NULL COMMENT '数量',
    `is_after_sales`        tinyint(1) NULL DEFAULT 0 COMMENT '是否申请售后 0否1是',
    `is_prescribe`          tinyint(1) NULL DEFAULT NULL COMMENT '是否为处方药',
    `store_id`              bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `is_gift`               tinyint(1) NULL DEFAULT NULL COMMENT '是否赠品',
    `is_drug`               tinyint(1) NULL DEFAULT 1 COMMENT '是否药品',
    PRIMARY KEY (`item_id`) USING BTREE,
    INDEX                   `cart_id`(`cart_id` ASC) USING BTREE,
    INDEX                   `product_id`(`product_id` ASC) USING BTREE,
    INDEX                   `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_item_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_item_scrm`;
CREATE TABLE `fs_store_order_item_scrm`
(
    `item_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `order_code`     varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `cart_id`        bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '购物车id 减数量用',
    `product_id`     bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品ID',
    `json_info`      text   NULL,
    `num`            int NULL DEFAULT NULL,
    `is_after_sales` tinyint(1) NULL DEFAULT 0 COMMENT '是否申请售后 0否1是',
    `is_prescribe`   tinyint(1) NULL DEFAULT NULL COMMENT '是否为处方药',
    PRIMARY KEY (`item_id`) USING BTREE,
    INDEX            `cart_id`(`cart_id` ASC) USING BTREE,
    INDEX            `product_id`(`product_id` ASC) USING BTREE,
    INDEX            `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_logs`;
CREATE TABLE `fs_store_order_logs`
(
    `logs_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    `operator`       varchar(200)   NULL DEFAULT NULL COMMENT '操作员',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_logs_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_logs_scrm`;
CREATE TABLE `fs_store_order_logs_scrm`
(
    `logs_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    `operator`       varchar(200)   NULL DEFAULT NULL COMMENT '操作员',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_notice_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_notice_scrm`;
CREATE TABLE `fs_store_order_notice_scrm`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `nick_name`   varchar(255)   NULL DEFAULT NULL COMMENT '用户昵称',
    `open_id`     varchar(32)   NULL DEFAULT NULL COMMENT 'openId',
    `remark`      varchar(128)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `is_del`      tinyint(1) NULL DEFAULT 0,
    `is_enable`   tinyint(1) NULL DEFAULT 1 COMMENT '是否启用',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '订单通知用户表 接收订单通知的用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_offline_item_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_offline_item_scrm`;
CREATE TABLE `fs_store_order_offline_item_scrm`
(
    `item_id`    bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`   bigint UNSIGNED NOT NULL COMMENT '订单id',
    `order_code` varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `product_id` bigint UNSIGNED NULL DEFAULT 0 COMMENT '商品ID',
    `json_info`  text   NULL,
    `num`        int NULL DEFAULT NULL,
    PRIMARY KEY (`item_id`) USING BTREE,
    INDEX        `product_id`(`product_id` ASC) USING BTREE,
    INDEX        `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '线下订单详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_offline_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_offline_scrm`;
CREATE TABLE `fs_store_order_offline_scrm`
(
    `order_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `crm_id`          bigint UNSIGNED NOT NULL COMMENT '订单id',
    `order_code`      varchar(32)   NULL DEFAULT NULL COMMENT '订单号',
    `status`          int NULL DEFAULT NULL COMMENT '状态',
    `pay_price`       decimal(10, 2) NULL DEFAULT NULL COMMENT '应付金额',
    `pay_money`       decimal(10, 2) NULL DEFAULT NULL COMMENT '实付金额',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `certificates`    varchar(255)   NULL DEFAULT NULL COMMENT '凭证小票',
    `upload_time`     datetime NULL DEFAULT NULL COMMENT '上传时间',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '员工id',
    `upload_user_id`  int NULL DEFAULT NULL COMMENT '上传小票员工id',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `audit_time`      datetime NULL DEFAULT NULL COMMENT '审核时间',
    `audit_by`        varchar(255)   NULL DEFAULT NULL COMMENT '审核人',
    `store_name`      varchar(255)   NULL DEFAULT NULL COMMENT '购买药店',
    `store_address`   varchar(255)   NULL DEFAULT NULL COMMENT '药店地址',
    `batch_no`        varchar(255)   NULL DEFAULT NULL COMMENT '批号',
    `business_code`   varchar(255)   NULL DEFAULT NULL COMMENT '监管码',
    PRIMARY KEY (`order_id`) USING BTREE,
    INDEX             `order_id`(`crm_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '线下订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_scrm`;
CREATE TABLE `fs_store_order_scrm`
(
    `id`                        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID',
    `order_code`                varchar(32)    NOT NULL COMMENT '订单号',
    `extend_order_id`           varchar(32)   NULL DEFAULT NULL COMMENT 'ERP订单号',
    `pay_order_id`              varchar(32)   NULL DEFAULT NULL,
    `bank_order_id`             varchar(32)   NULL DEFAULT NULL,
    `user_id`                   bigint UNSIGNED NOT NULL COMMENT '用户id',
    `real_name`                 varchar(32)    NOT NULL COMMENT '用户姓名',
    `user_phone`                varchar(18)    NOT NULL COMMENT '用户电话',
    `user_address`              varchar(100)   NOT NULL COMMENT '详细地址',
    `cart_id`                   varchar(256)   NOT NULL DEFAULT '[]' COMMENT '购物车id',
    `freight_price`             decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '运费金额',
    `total_num`                 int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单商品总数',
    `total_price`               decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '订单总价',
    `total_postage`             decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '邮费',
    `pay_price`                 decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '实际支付金额',
    `pay_postage`               decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '支付邮费',
    `pay_delivery`              decimal(8, 2) NULL DEFAULT 0.00 COMMENT '物流代收',
    `pay_money`                 decimal(8, 2) NULL DEFAULT 0.00 COMMENT '支付金额',
    `deduction_price`           decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '抵扣金额',
    `coupon_id`                 int UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券id',
    `coupon_price`              decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '优惠券金额',
    `paid`                      tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '支付状态 待支付 1已支付',
    `pay_time`                  datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`                  varchar(32)    NOT NULL COMMENT '支付方式 1微信 2物流代收 ',
    `create_time`               datetime                                                NOT NULL COMMENT '创建时间',
    `update_time`               datetime NULL DEFAULT NULL,
    `status`                    tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态（0 待支付 1 待发货 2 待收货 3 交易完成 -1退款中 -2已退款 -3已取消）',
    `refund_status`             tinyint UNSIGNED NULL DEFAULT 0 COMMENT '0 未退款 1 申请中 2 已退款',
    `refund_reason_wap_img`     varchar(255)   NULL DEFAULT NULL COMMENT '退款图片',
    `refund_reason_wap_explain` varchar(255)   NULL DEFAULT NULL COMMENT '退款用户说明',
    `refund_reason_time`        datetime NULL DEFAULT NULL COMMENT '退款时间',
    `refund_reason_wap`         varchar(255)   NULL DEFAULT NULL COMMENT '前台退款原因',
    `refund_reason`             varchar(255)   NULL DEFAULT NULL COMMENT '不退款的理由',
    `refund_price`              decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '退款金额',
    `delivery_sn`               varchar(100)   NULL DEFAULT '' COMMENT '快递公司编号',
    `delivery_name`             varchar(64)   NULL DEFAULT NULL COMMENT '快递名称',
    `delivery_type`             varchar(32)   NULL DEFAULT NULL COMMENT '发货类型',
    `delivery_id`               varchar(64)   NULL DEFAULT NULL COMMENT '快递单号',
    `gain_integral`             decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '消费赚取积分',
    `use_integral`              decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '使用积分',
    `pay_integral`              decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '实际支付积分',
    `back_integral`             decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '给用户退了多少积分',
    `mark`                      varchar(512)   NULL DEFAULT NULL COMMENT '备注',
    `is_del`                    tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除',
    `remark`                    varchar(512)   NULL DEFAULT NULL COMMENT '管理员备注',
    `cost`                      decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `verify_code`               varchar(50)   NULL DEFAULT '' COMMENT '核销码',
    `store_id`                  int NULL DEFAULT 0 COMMENT '门店id',
    `shipping_type`             tinyint(1) NULL DEFAULT 1 COMMENT '配送方式 1=快递 ，2=门店自提',
    `is_channel`                tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付渠道(1微信小程序)',
    `is_remind`                 tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否提醒',
    `is_sys_del`                tinyint(1) NULL DEFAULT 0 COMMENT '是否系统删除',
    `is_prescribe`              tinyint(1) NULL DEFAULT 0 COMMENT '是否开处方',
    `prescribe_id`              bigint NULL DEFAULT NULL COMMENT '处方ID',
    `company_id`                bigint NULL DEFAULT NULL,
    `company_user_id`           bigint NULL DEFAULT NULL,
    `is_package`                tinyint(1) NULL DEFAULT 0 COMMENT '是否为套餐',
    `package_json`              longtext   NULL,
    `order_type`                tinyint NULL DEFAULT 0 COMMENT '订单类型',
    `package_id`                bigint NULL DEFAULT NULL COMMENT '套餐ID',
    `finish_time`               datetime NULL DEFAULT NULL,
    `delivery_status`           tinyint(1) NULL DEFAULT NULL COMMENT '物流状态',
    `delivery_pay_status`       tinyint(1) NULL DEFAULT NULL COMMENT '物流代收结算状态',
    `delivery_time`             varchar(200)   NULL DEFAULT NULL COMMENT '快递帐单日期',
    `delivery_pay_time`         varchar(200)   NULL DEFAULT NULL COMMENT '快递结算日期',
    `delivery_pay_money`        decimal(10, 2) NULL DEFAULT 0.00,
    `tui_money`                 decimal(10, 2) NULL DEFAULT 0.00 COMMENT '推广佣金',
    `tui_money_status`          tinyint(1) NULL DEFAULT NULL COMMENT '推广佣金状态 1正常 0冻结',
    `delivery_import_time`      datetime NULL DEFAULT NULL COMMENT '回单导入时间',
    `tui_user_id`               bigint NULL DEFAULT NULL COMMENT '上级推荐人ID',
    `tui_user_money_status`     tinyint(1) NULL DEFAULT 0 COMMENT '会员佣金发放状态',
    `order_create_type`         tinyint NULL DEFAULT NULL COMMENT '订单创建类型',
    `store_house_code`          varchar(255)   NULL DEFAULT NULL COMMENT '仓库CODE',
    `dept_id`                   bigint NULL DEFAULT NULL,
    `is_edit_money`             tinyint(1) NULL DEFAULT 0 COMMENT '是否改价',
    `customer_id`               bigint NULL DEFAULT NULL COMMENT ' 客户ID',
    `is_pay_remain`             tinyint(1) NULL DEFAULT 0 COMMENT '0 默认 1已支付尾款 2已审核通过 ',
    `delivery_send_time`        datetime NULL DEFAULT NULL COMMENT '发货时间',
    `certificates`              varchar(2000)   NULL DEFAULT NULL COMMENT 'pingzheng',
    `upload_time`               datetime NULL DEFAULT NULL COMMENT '上传时间',
    `item_json`                 longtext   NULL,
    `schedule_id`               bigint NULL DEFAULT NULL COMMENT '档期id',
    `delivery_pay_type`         varchar(255)   NULL DEFAULT NULL,
    `order_visit`               varchar(255)   NULL DEFAULT NULL COMMENT '跟进阶段',
    `service_fee`               decimal(10, 2) NULL DEFAULT NULL COMMENT '服务费',
    `cycle`                     int NULL DEFAULT 0 COMMENT '用药周期',
    `prescribe_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '处方定价',
    `follow_doctor_id`          bigint NULL DEFAULT NULL COMMENT '随访医生id',
    `follow_time`               date NULL DEFAULT NULL COMMENT '下次随访日期',
    `user_coupon_id`            bigint NULL DEFAULT NULL COMMENT '用户优惠卷id',
    `order_medium`              tinyint NULL DEFAULT 0 COMMENT '媒体类型',
    `erp_phone`                 varchar(50)   NULL DEFAULT NULL COMMENT 'erp推送手机号',
    `is_audit`                  tinyint NULL DEFAULT 0 COMMENT '是否审核，1-是，0-否',
    `order_remark`              varchar(500)   NULL DEFAULT NULL COMMENT '订单总后台备注',
    `backend_edit_product_type` tinyint NULL DEFAULT 0 COMMENT '后台修改商品类型，0-未修改过；1-总后台；2-销售后台',
    `audit_time`                datetime NULL DEFAULT NULL COMMENT '审核时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `id`(`order_code` ASC, `user_id` ASC) USING BTREE,
    INDEX                       `uid`(`user_id` ASC) USING BTREE,
    INDEX                       `add_time`(`create_time` ASC) USING BTREE,
    INDEX                       `pay_price`(`pay_price` ASC) USING BTREE,
    INDEX                       `paid`(`paid` ASC) USING BTREE,
    INDEX                       `pay_time`(`pay_time` ASC) USING BTREE,
    INDEX                       `pay_type`(`pay_type` ASC) USING BTREE,
    INDEX                       `status`(`status` ASC) USING BTREE,
    INDEX                       `is_del`(`is_del` ASC) USING BTREE,
    INDEX                       `coupon_id`(`coupon_id` ASC) USING BTREE,
    INDEX                       `company_id`(`company_id` ASC) USING BTREE,
    INDEX                       `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                       `order_code_index`(`order_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_status
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_status`;
CREATE TABLE `fs_store_order_status`
(
    `id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_order_status_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_order_status_scrm`;
CREATE TABLE `fs_store_order_status_scrm`
(
    `id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_payment
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_payment`;
CREATE TABLE `fs_store_payment`
(
    `payment_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `pay_code`            varchar(50)   NULL DEFAULT NULL COMMENT '支付订单号',
    `pay_type_code`       varchar(50)   NULL DEFAULT NULL COMMENT '支付类型 weixin alipay',
    `pay_money`           decimal(10, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `pay_time`            datetime NULL DEFAULT NULL COMMENT '支付时间',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `trade_no`            varchar(100)   NULL DEFAULT NULL COMMENT '外部订单号',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户ID',
    `open_id`             varchar(32)   NULL DEFAULT NULL COMMENT 'OPENID',
    `business_type`       tinyint(1) NULL DEFAULT NULL COMMENT '业务类型 ',
    `business_id`         varchar(50)   NULL DEFAULT NULL COMMENT '关联业务ID',
    `status`              tinyint(1) NULL DEFAULT 0 COMMENT '状态 0未支付 1已支付 -1 已退款',
    `remark`              varchar(255)   NULL DEFAULT NULL,
    `bank_transaction_id` varchar(50)   NULL DEFAULT NULL COMMENT '交易单号',
    `bank_serial_no`      varchar(50)   NULL DEFAULT NULL COMMENT '银行流水号',
    `refund_money`        decimal(11, 2) NULL DEFAULT 0.00 COMMENT '退款金额',
    `refund_time`         datetime NULL DEFAULT NULL COMMENT '退款时间',
    `store_id`            bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '员工id',
    `business_code`       varchar(50)   NULL DEFAULT NULL COMMENT '关联业务编号',
    `pay_mode`            varchar(20)   NULL DEFAULT NULL COMMENT '支付方式: zb tz wx',
    `share_status`        tinyint(1) NULL DEFAULT 0 COMMENT '分账状态 0未分账 1已分账',
    `share_code`          varchar(50)   NULL DEFAULT NULL COMMENT '分账单号',
    `share_money`         decimal(10, 2) NULL DEFAULT NULL COMMENT '分账金额',
    `is_share`            tinyint(1) NULL DEFAULT 0 COMMENT '是否分账',
    `app_id`              varchar(50)   NULL DEFAULT NULL COMMENT '支付小程序的appId',
    `mer_config_id`       bigint NULL DEFAULT NULL COMMENT '商户配置id',
    PRIMARY KEY (`payment_id`) USING BTREE,
    INDEX                 `pay_code`(`pay_code` ASC) USING BTREE,
    INDEX                 `user_id`(`user_id` ASC) USING BTREE,
    INDEX                 `business_index`(`business_type` ASC, `business_id` ASC) USING BTREE,
    INDEX                 `company_id`(`company_id` ASC) USING BTREE,
    INDEX                 `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                 `business_code`(`business_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '支付明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_payment_error
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_payment_error`;
CREATE TABLE `fs_store_payment_error`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_flow_no` varchar(255)   NULL DEFAULT NULL COMMENT '外部单号',
    `order_no`      varchar(255)   NULL DEFAULT NULL COMMENT '订单编号',
    `msg`           text   NULL COMMENT '信息',
    `status`        int NULL DEFAULT NULL COMMENT '0未处理 1已处理',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `order_id`      bigint NULL DEFAULT NULL COMMENT '订单id',
    `business_type` tinyint NULL DEFAULT NULL COMMENT '业务类型',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_payment_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_payment_scrm`;
CREATE TABLE `fs_store_payment_scrm`
(
    `payment_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `pay_code`            varchar(50)   NULL DEFAULT NULL COMMENT '支付订单号',
    `pay_type_code`       varchar(20)   NULL DEFAULT NULL COMMENT '支付类型 weixin alipay',
    `pay_money`           decimal(10, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `pay_time`            datetime NULL DEFAULT NULL COMMENT '支付时间',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `trade_no`            varchar(100)   NULL DEFAULT NULL COMMENT '外部订单号',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户ID',
    `open_id`             varchar(32)   NULL DEFAULT NULL COMMENT 'OPENID',
    `business_type`       tinyint(1) NULL DEFAULT NULL COMMENT '业务类型 1收款',
    `business_order_id`   varchar(50)   NULL DEFAULT NULL COMMENT '关联业务ID',
    `status`              tinyint(1) NULL DEFAULT 0 COMMENT '状态 0未支付 1已支付 -1 已退款',
    `remark`              varchar(255)   NULL DEFAULT NULL,
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司ID',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '公司用户ID',
    `dept_id`             bigint NULL DEFAULT NULL,
    `bank_transaction_id` varchar(50)   NULL DEFAULT NULL COMMENT '交易单号',
    `bank_serial_no`      varchar(50)   NULL DEFAULT NULL COMMENT '银行流水号',
    `refund_money`        decimal(11, 2) NULL DEFAULT 0.00 COMMENT '退款金额',
    `refund_time`         datetime NULL DEFAULT NULL COMMENT '退款时间',
    `order_id`            bigint NULL DEFAULT NULL,
    `is_pay_remain`       tinyint(1) NULL DEFAULT 0 COMMENT '是否支付尾款',
    `pay_mode`            varchar(50)   NULL DEFAULT NULL COMMENT '服务商',
    `app_id`              varchar(50)   NULL DEFAULT NULL COMMENT '支付小程序的appId',
    `business_code`       varchar(50)   NULL DEFAULT NULL COMMENT '关联业务编号',
    `is_shipment`         tinyint NULL DEFAULT 0 COMMENT '是否发货0否1是',
    `mer_config_id`       bigint NULL DEFAULT NULL COMMENT '商户配置id',
    PRIMARY KEY (`payment_id`) USING BTREE,
    INDEX                 `pay_code`(`pay_code` ASC) USING BTREE,
    INDEX                 `user_id`(`user_id` ASC) USING BTREE,
    INDEX                 `company_id`(`company_id` ASC) USING BTREE,
    INDEX                 `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                 `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '支付明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product`;
CREATE TABLE `fs_store_product`
(
    `product_id`        bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '商品id',
    `store_id`          bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `img_url`           varchar(256)   NULL DEFAULT NULL,
    `images`            varchar(2000)   NULL DEFAULT NULL,
    `video_url`         varchar(256)   NULL DEFAULT NULL COMMENT '商品视频',
    `product_name`      varchar(128)   NULL DEFAULT NULL COMMENT '商品名称',
    `product_introduce` varchar(256)   NULL DEFAULT NULL COMMENT '商品介绍',
    `keyword`           varchar(256)   NULL DEFAULT NULL COMMENT '关键字',
    `bar_code`          varchar(50)   NULL DEFAULT '' COMMENT '产品条码（一维码）',
    `cate_id`           bigint NULL DEFAULT NULL COMMENT '分类id',
    `price`             decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '商品价格',
    `ot_price`          decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '市场价',
    `unit_name`         varchar(32)   NULL DEFAULT NULL COMMENT '单位名',
    `sort`              smallint NULL DEFAULT 0 COMMENT '排序',
    `sales`             mediumint UNSIGNED NULL DEFAULT 0 COMMENT '销量',
    `stock`             mediumint UNSIGNED NULL DEFAULT 0 COMMENT '库存',
    `is_show`           tinyint(1) NULL DEFAULT 1 COMMENT '状态（0：未上架，1：上架）',
    `is_hot`            tinyint(1) NULL DEFAULT 0 COMMENT '是否热卖',
    `is_benefit`        tinyint(1) NULL DEFAULT 0 COMMENT '是否优惠',
    `is_best`           tinyint(1) NULL DEFAULT 0 COMMENT '是否精品',
    `is_new`            tinyint(1) NULL DEFAULT 0 COMMENT '是否新品',
    `desc`              text   NULL COMMENT '产品描述',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`       datetime NULL DEFAULT NULL,
    `is_postage`        tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否包邮',
    `is_del`            tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除',
    `give_integral`     decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '获得积分',
    `is_good`           tinyint(1) NULL DEFAULT 0 COMMENT '是否优品推荐',
    `cost_price`        decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `views`             int NULL DEFAULT 0 COMMENT '浏览量',
    `code_url`          varchar(64)   NOT NULL DEFAULT '' COMMENT '产品二维码地址(用户小程序海报)',
    `spec_type`         tinyint(1) NULL DEFAULT 0 COMMENT '规格 0单 1多',
    `product_type`      tinyint(1) NULL DEFAULT 0 COMMENT '商品类型:1非处方 2处方',
    `prescribe_code`    varchar(50)   NULL DEFAULT NULL COMMENT '国药准字',
    `prescribe_spec`    varchar(200)   NULL DEFAULT NULL COMMENT '规格',
    `prescribe_factory` varchar(200)   NULL DEFAULT NULL COMMENT '生产厂家',
    `prescribe_name`    varchar(50)   NULL DEFAULT NULL COMMENT '处方名',
    `is_display`        tinyint(1) NULL DEFAULT 1 COMMENT '是否在商品展示',
    `temp_id`           int NULL DEFAULT NULL COMMENT '运费模板',
    `doctor_brokerage`  decimal(8, 2) NULL DEFAULT NULL,
    `is_prescribe`      tinyint(1) NULL DEFAULT NULL COMMENT '是否为处方药',
    `is_drug`           tinyint(1) NULL DEFAULT 1 COMMENT '是否药品',
    `company_ids`       varchar(200)   NULL DEFAULT NULL COMMENT '公司id',
    `brand`             varchar(100)   NULL DEFAULT '' COMMENT '商品品牌',
    PRIMARY KEY (`product_id`) USING BTREE,
    INDEX               `is_hot`(`is_hot` ASC) USING BTREE,
    INDEX               `is_benefit`(`is_benefit` ASC) USING BTREE,
    INDEX               `is_best`(`is_best` ASC) USING BTREE,
    INDEX               `is_new`(`is_new` ASC) USING BTREE,
    INDEX               `toggle_on_sale, is_del`(`is_del` ASC) USING BTREE,
    INDEX               `price`(`price` ASC) USING BTREE,
    INDEX               `is_show`(`is_show` ASC) USING BTREE,
    INDEX               `sort`(`sort` ASC) USING BTREE,
    INDEX               `sales`(`sales` ASC) USING BTREE,
    INDEX               `add_time`(`create_time` ASC) USING BTREE,
    INDEX               `is_postage`(`is_postage` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_attr
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_attr`;
CREATE TABLE `fs_store_product_attr`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `product_id`  bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品ID',
    `attr_name`   varchar(32)    NOT NULL COMMENT '属性名',
    `attr_values` varchar(256)   NOT NULL COMMENT '属性值',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `store_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品属性表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_attr_item_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_attr_item_scrm`;
CREATE TABLE `fs_store_product_attr_item_scrm`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `product_id`  bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `json_info`   longtext   NOT NULL COMMENT '商品属性参数',
    `change_time` datetime NOT NULL COMMENT '上次修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '商品属性详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_attr_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_attr_scrm`;
CREATE TABLE `fs_store_product_attr_scrm`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `product_id`  bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品ID',
    `attr_name`   varchar(256)   NOT NULL COMMENT '属性名',
    `attr_values` varchar(256)   NOT NULL COMMENT '属性值',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `store_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品属性表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_attr_value
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_attr_value`;
CREATE TABLE `fs_store_product_attr_value`
(
    `id`               bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `product_id`       bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `sku`              varchar(128)   NOT NULL COMMENT '商品属性索引值 (attr_value|attr_value[|....])',
    `stock`            int                                                     NOT NULL COMMENT '属性对应的库存',
    `sales`            int NULL DEFAULT 0 COMMENT '销量',
    `price`            decimal(8, 2) UNSIGNED NOT NULL COMMENT '属性金额',
    `image`            varchar(128)   NULL DEFAULT NULL COMMENT '图片',
    `cost_price`       decimal(8, 2) UNSIGNED NOT NULL COMMENT '成本价',
    `bar_code`         varchar(2000)   NULL DEFAULT NULL COMMENT '商品条码',
    `ot_price`         decimal(10, 2) NULL DEFAULT 0.00 COMMENT '原价',
    `weight`           decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '重量',
    `volume`           decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '体积',
    `brokerage`        decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '一级返佣',
    `brokerage_two`    decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '二级返佣',
    `brokerage_three`  decimal(8, 2) NULL DEFAULT 0.00 COMMENT '三级分佣金',
    `integral`         int(10) UNSIGNED ZEROFILL NULL DEFAULT 0000000000 COMMENT '需要多少积分兑换',
    `agent_price`      decimal(10, 2) NULL DEFAULT NULL,
    `group_bar_code`   varchar(2000)   NULL DEFAULT NULL COMMENT '组合码',
    `give_integral`    int NULL DEFAULT 0 COMMENT '获取积分',
    `doctor_brokerage` decimal(10, 0) NULL DEFAULT NULL COMMENT '医生佣金',
    `purchase_limit`   int NULL DEFAULT NULL COMMENT '限购量',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `store_id`(`product_id` ASC, `sku` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品属性值表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_attr_value_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_attr_value_scrm`;
CREATE TABLE `fs_store_product_attr_value_scrm`
(
    `id`                       bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `store_id`                 bigint NULL DEFAULT NULL,
    `product_id`               bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `sku`                      varchar(128)   NOT NULL COMMENT '商品属性索引值 (attr_value|attr_value[|....])',
    `stock`                    int                                                     NOT NULL COMMENT '属性对应的库存',
    `sales`                    int NULL DEFAULT 0 COMMENT '销量',
    `price`                    decimal(8, 2) UNSIGNED NOT NULL COMMENT '属性金额',
    `image`                    varchar(128)   NULL DEFAULT NULL COMMENT '图片',
    `cost`                     decimal(8, 2) UNSIGNED NOT NULL COMMENT '成本价',
    `bar_code`                 varchar(2000)   NULL DEFAULT NULL COMMENT '商品条码',
    `ot_price`                 decimal(10, 2) NULL DEFAULT 0.00 COMMENT '原价',
    `weight`                   decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '重量',
    `volume`                   decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '体积',
    `brokerage`                decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '一级返佣',
    `brokerage_two`            decimal(8, 2)                                           NOT NULL DEFAULT 0.00 COMMENT '二级返佣',
    `brokerage_three`          decimal(8, 2) NULL DEFAULT 0.00 COMMENT '三级分佣金',
    `integral`                 int(10) UNSIGNED ZEROFILL NULL DEFAULT 0000000000 COMMENT '需要多少积分兑换',
    `agent_price`              decimal(10, 2) NULL DEFAULT NULL,
    `group_bar_code`           varchar(2000)   NULL DEFAULT NULL COMMENT '组合码',
    `has_deposit_feature_type` tinyint(1) NULL DEFAULT 0 COMMENT '是否开启定金类型（0未开启，1开启）',
    `deposit_amount`           decimal(8, 2) NULL DEFAULT NULL COMMENT '定金金额',
    `on_behalf_payment_amount` decimal(8, 2) NULL DEFAULT NULL COMMENT '代付金额',
    `purchase_limit`           int NULL DEFAULT NULL COMMENT '限购数量，0表示不限购',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                      `store_id`(`product_id` ASC, `sku` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品属性值表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_category
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_category`;
CREATE TABLE `fs_store_product_category`
(
    `cate_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '商品分类表ID',
    `pid`         bigint                                                  NOT NULL COMMENT '父id',
    `cate_name`   varchar(100)   NOT NULL COMMENT '分类名称',
    `sort`        mediumint NULL DEFAULT NULL COMMENT '排序',
    `pic`         varchar(128)   NULL DEFAULT '' COMMENT '图标',
    `is_show`     tinyint(1) NULL DEFAULT 1 COMMENT '是否推荐',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
    PRIMARY KEY (`cate_id`) USING BTREE,
    INDEX         `pid`(`pid` ASC) USING BTREE,
    INDEX         `is_base`(`is_show` ASC) USING BTREE,
    INDEX         `sort`(`sort` ASC) USING BTREE,
    INDEX         `add_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_category_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_category_scrm`;
CREATE TABLE `fs_store_product_category_scrm`
(
    `cate_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '商品分类表ID',
    `pid`         bigint                                                  NOT NULL COMMENT '父id',
    `cate_name`   varchar(100)   NOT NULL COMMENT '分类名称',
    `sort`        mediumint NULL DEFAULT NULL COMMENT '排序',
    `pic`         varchar(128)   NULL DEFAULT '' COMMENT '图标',
    `is_show`     tinyint(1) NULL DEFAULT 1 COMMENT '是否推荐',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
    `store_id`    bigint NULL DEFAULT NULL COMMENT '店铺id',
    PRIMARY KEY (`cate_id`) USING BTREE,
    INDEX         `pid`(`pid` ASC) USING BTREE,
    INDEX         `is_base`(`is_show` ASC) USING BTREE,
    INDEX         `sort`(`sort` ASC) USING BTREE,
    INDEX         `add_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_details
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_details`;
CREATE TABLE `fs_store_product_details`
(
    `details_id` bigint NOT NULL,
    `product_id` bigint NULL DEFAULT NULL COMMENT '商品ID',
    `name`       varchar(20)   NULL DEFAULT NULL COMMENT '名称',
    `content`    text   NULL COMMENT '内容',
    PRIMARY KEY (`details_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '商品详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_details_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_details_scrm`;
CREATE TABLE `fs_store_product_details_scrm`
(
    `details_id` bigint NOT NULL,
    `product_id` bigint NULL DEFAULT NULL COMMENT '商品ID',
    `temp_id`    bigint NULL DEFAULT NULL COMMENT '模板ID',
    `name`       varchar(20)   NULL DEFAULT NULL COMMENT '名称',
    `code`       varchar(50)   NULL DEFAULT NULL COMMENT '编码',
    `content`    text   NULL COMMENT '内容',
    PRIMARY KEY (`details_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '商品详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_group
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_group`;
CREATE TABLE `fs_store_product_group`
(
    `group_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `bar_code`   varchar(200)   NULL DEFAULT NULL COMMENT 'code',
    `group_name` varchar(200)   NULL DEFAULT NULL COMMENT '名称',
    `products`   varchar(5000)   NULL DEFAULT NULL COMMENT '商品',
    PRIMARY KEY (`group_id`) USING BTREE,
    UNIQUE INDEX `bar_code`(`bar_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品组合表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_group_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_group_scrm`;
CREATE TABLE `fs_store_product_group_scrm`
(
    `group_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `bar_code`   varchar(200)   NULL DEFAULT NULL COMMENT 'code',
    `group_name` varchar(200)   NULL DEFAULT NULL COMMENT '名称',
    `products`   varchar(5000)   NULL DEFAULT NULL COMMENT '商品',
    PRIMARY KEY (`group_id`) USING BTREE,
    UNIQUE INDEX `bar_code`(`bar_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品组合表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_package
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_package`;
CREATE TABLE `fs_store_product_package`
(
    `package_id`  bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `descs`       varchar(2000)   NULL DEFAULT NULL COMMENT '描述',
    `content`     longtext   NULL COMMENT '内容',
    `img_url`     varchar(200)   NULL DEFAULT NULL COMMENT '封面',
    `images`      longtext   NULL,
    `money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '金额',
    `pay_money`   decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司ID',
    `dept_id`     bigint NULL DEFAULT NULL COMMENT '部门ID',
    `products`    longtext   NULL COMMENT '套餐商品',
    `pay_type`    tinyint(1) NULL DEFAULT NULL,
    `limit_count` int NULL DEFAULT 0,
    `cate_id`     tinyint NULL DEFAULT NULL COMMENT '套餐分类',
    `sort`        int NULL DEFAULT 1 COMMENT '排序',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常 0禁用',
    `store_id`    bigint NULL DEFAULT NULL COMMENT '商铺ID',
    PRIMARY KEY (`package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品组合套餐表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_package_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_package_scrm`;
CREATE TABLE `fs_store_product_package_scrm`
(
    `package_id`  bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `descs`       varchar(2000)   NULL DEFAULT NULL COMMENT '描述',
    `content`     longtext   NULL COMMENT '内容',
    `img_url`     varchar(200)   NULL DEFAULT NULL COMMENT '封面',
    `images`      longtext   NULL,
    `money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '金额',
    `pay_money`   decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司ID',
    `dept_id`     bigint NULL DEFAULT NULL COMMENT '部门ID',
    `products`    longtext   NULL COMMENT '套餐商品',
    `pay_type`    tinyint(1) NULL DEFAULT NULL,
    `limit_count` int NULL DEFAULT 0,
    `cate_id`     tinyint NULL DEFAULT NULL COMMENT '套餐分类',
    `sort`        int NULL DEFAULT 1 COMMENT '排序',
    `status`      tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常 0禁用',
    `store_id`    bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `integral`    int NULL DEFAULT NULL COMMENT '赠送积分',
    PRIMARY KEY (`package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品组合套餐表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_purchase_limit_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_purchase_limit_scrm`;
CREATE TABLE `fs_store_product_purchase_limit_scrm`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '限购ID',
    `product_id`  bigint NULL DEFAULT NULL COMMENT '商品ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户ID',
    `num`         int NULL DEFAULT NULL COMMENT '已购买数量',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_product_id`(`product_id` ASC) USING BTREE,
    INDEX         `idx_user_id`(`product_id` ASC, `user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '商品限购表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_relation
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_relation`;
CREATE TABLE `fs_store_product_relation`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`     bigint UNSIGNED NOT NULL COMMENT '用户ID',
    `product_id`  bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `type`        varchar(32)   NULL DEFAULT NULL COMMENT '类型(收藏(collect）、点赞(like))',
    `create_time` datetime NOT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `type`(`type` ASC) USING BTREE,
    INDEX         `user_id`(`user_id` ASC) USING BTREE,
    INDEX         `product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品点赞和收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_relation_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_relation_scrm`;
CREATE TABLE `fs_store_product_relation_scrm`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`     bigint UNSIGNED NOT NULL COMMENT '用户ID',
    `product_id`  bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `type`        varchar(32)   NULL DEFAULT NULL COMMENT '类型(收藏(collect）、点赞(like))',
    `create_time` datetime NOT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `type`(`type` ASC) USING BTREE,
    INDEX         `user_id`(`user_id` ASC) USING BTREE,
    INDEX         `product_id`(`product_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品点赞和收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_reply_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_reply_scrm`;
CREATE TABLE `fs_store_product_reply_scrm`
(
    `id`            bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '评论ID',
    `user_id`       bigint                                                        NOT NULL COMMENT '用户ID',
    `order_id`      bigint                                                        NOT NULL COMMENT '订单ID',
    `product_id`    bigint                                                        NOT NULL COMMENT '产品id',
    `reply_type`    varchar(32)          NOT NULL DEFAULT 'product' COMMENT '某种商品类型(普通商品、秒杀商品）',
    `product_score` tinyint(1) NOT NULL COMMENT '商品分数',
    `service_score` tinyint(1) NOT NULL COMMENT '服务分数',
    `comment`       varchar(512)   NOT NULL COMMENT '评论内容',
    `pics`          text   NOT NULL COMMENT '评论图片',
    `create_time`   datetime                                                      NOT NULL COMMENT '评论时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `reply_content` varchar(300)   NULL DEFAULT NULL COMMENT '管理员回复内容',
    `reply_time`    datetime NULL DEFAULT NULL COMMENT '管理员回复时间',
    `is_del`        tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '0未删除1已删除',
    `is_reply`      tinyint(1) NOT NULL DEFAULT 0 COMMENT '0未回复1已回复',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `add_time`(`create_time` ASC) USING BTREE,
    INDEX           `parent_id`(`reply_type` ASC) USING BTREE,
    INDEX           `is_del`(`is_del` ASC) USING BTREE,
    INDEX           `product_score`(`product_score` ASC) USING BTREE,
    INDEX           `service_score`(`service_score` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '评论表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_rule
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_rule`;
CREATE TABLE `fs_store_product_rule`
(
    `id`          int                                                    NOT NULL AUTO_INCREMENT,
    `rule_name`   varchar(32)   NOT NULL COMMENT '规格名称',
    `rule_value`  longtext   NOT NULL COMMENT '规格值',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品规则值(规格)表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_rule_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_rule_scrm`;
CREATE TABLE `fs_store_product_rule_scrm`
(
    `id`          int                                                    NOT NULL AUTO_INCREMENT,
    `rule_name`   varchar(32)   NOT NULL COMMENT '规格名称',
    `rule_value`  longtext   NOT NULL COMMENT '规格值',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品规则值(规格)表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_scrm`;
CREATE TABLE `fs_store_product_scrm`
(
    `product_id`                   bigint                                                   NOT NULL AUTO_INCREMENT COMMENT '商品id',
    `video`                        varchar(255)   NULL DEFAULT NULL COMMENT '商品视频',
    `image`                        varchar(256)    NOT NULL COMMENT '商品图片',
    `slider_image`                 varchar(2000)   NOT NULL COMMENT '轮播图',
    `product_name`                 varchar(128)   NULL DEFAULT NULL COMMENT '商品名称',
    `product_info`                 varchar(256)   NULL DEFAULT NULL COMMENT '商品简介',
    `keyword`                      varchar(256)   NULL DEFAULT NULL COMMENT '关键字',
    `bar_code`                     varchar(15)   NULL DEFAULT '' COMMENT '产品条码（一维码）',
    `cate_id`                      bigint NULL DEFAULT NULL COMMENT '分类id',
    `price`                        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '商品价格',
    `vip_price`                    decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '会员价格',
    `ot_price`                     decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '市场价',
    `agent_price`                  decimal(8, 2) NULL DEFAULT NULL,
    `postage`                      decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '邮费',
    `unit_name`                    varchar(200)   NULL DEFAULT NULL COMMENT '单位名',
    `sort`                         smallint NULL DEFAULT 0 COMMENT '排序',
    `sales`                        mediumint UNSIGNED NULL DEFAULT 0 COMMENT '销量',
    `stock`                        mediumint UNSIGNED NULL DEFAULT 0 COMMENT '库存',
    `is_show`                      tinyint(1) NULL DEFAULT 1 COMMENT '状态（0：未上架，1：上架）',
    `is_hot`                       tinyint(1) NULL DEFAULT 0 COMMENT '是否热卖',
    `is_benefit`                   tinyint(1) NULL DEFAULT 0 COMMENT '是否优惠',
    `is_best`                      tinyint(1) NULL DEFAULT 0 COMMENT '是否精品',
    `is_new`                       tinyint(1) NULL DEFAULT 0 COMMENT '是否新品',
    `description`                  text   NULL COMMENT '产品描述',
    `create_time`                  datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`                  datetime NULL DEFAULT NULL,
    `is_postage`                   tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否包邮',
    `is_del`                       tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除',
    `give_integral`                decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '获得积分',
    `cost`                         decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `is_good`                      tinyint(1) NULL DEFAULT 0 COMMENT '是否优品推荐',
    `browse`                       int NULL DEFAULT 0 COMMENT '浏览量',
    `code_path`                    varchar(64)   NULL DEFAULT '' COMMENT '产品二维码地址(用户小程序海报)',
    `temp_id`                      int NULL DEFAULT NULL COMMENT '运费模板ID',
    `spec_type`                    tinyint(1) NULL DEFAULT 0 COMMENT '规格 0单 1多',
    `is_integral`                  tinyint(1) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '是开启积分兑换',
    `integral`                     int NULL DEFAULT 0 COMMENT '需要多少积分兑换 只在开启积分兑换时生效',
    `product_type`                 tinyint(1) NULL DEFAULT 0 COMMENT '商品类型:1非处方 2处方',
    `prescribe_code`               varchar(50)   NULL DEFAULT NULL COMMENT '国药准字',
    `prescribe_spec`               varchar(200)   NULL DEFAULT NULL COMMENT '规格',
    `prescribe_factory`            varchar(200)   NULL DEFAULT NULL COMMENT '生产厂家',
    `prescribe_name`               varchar(50)   NULL DEFAULT NULL COMMENT '处方名',
    `is_display`                   tinyint(1) NULL DEFAULT 1 COMMENT '是否在商品展示',
    `tui_cate_id`                  tinyint(1) NULL DEFAULT NULL COMMENT '商品推广分类',
    `company_ids`                  varchar(255)   NULL DEFAULT NULL COMMENT '所属企业',
    `store_id`                     bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `is_drug`                      varchar(1)   NULL DEFAULT NULL COMMENT '是否药品(0否1是)',
    `drug_image`                   varchar(255)   NULL DEFAULT NULL COMMENT '药品展示图',
    `drug_reg_cert_no`             varchar(255)   NULL DEFAULT NULL COMMENT '药品注册证书编号',
    `common_name`                  varchar(255)   NULL DEFAULT NULL COMMENT '通用名称',
    `dosage_form`                  varchar(255)   NULL DEFAULT NULL COMMENT '剂型',
    `unit_price`                   varchar(255)   NULL DEFAULT NULL COMMENT '单价',
    `batch_number`                 varchar(255)   NULL DEFAULT NULL COMMENT '批号',
    `mah`                          varchar(255)   NULL DEFAULT NULL COMMENT '上市许可持有人',
    `mah_address`                  varchar(255)   NULL DEFAULT NULL COMMENT '上市许可持有人地址',
    `manufacturer`                 varchar(255)   NULL DEFAULT NULL COMMENT '生产企业',
    `manufacturer_address`         varchar(255)   NULL DEFAULT NULL COMMENT '生产企业地址',
    `indications`                  varchar(255)   NULL DEFAULT NULL COMMENT '功能主治',
    `dosage`                       varchar(255)   NULL DEFAULT NULL COMMENT '用法用量',
    `adverse_reactions`            varchar(255)   NULL DEFAULT NULL COMMENT '不良反应',
    `contraindications`            varchar(255)   NULL DEFAULT NULL COMMENT '禁忌',
    `precautions`                  varchar(3000)   NULL DEFAULT NULL COMMENT '注意事项',
    `is_audit`                     varchar(1)   NULL DEFAULT '0' COMMENT '审核状态(0未审核1审核通过2审核退回)',
    `return_address`               varchar(255)   NULL DEFAULT NULL COMMENT '退货地址',
    `brand`                        varchar(255)   NULL DEFAULT NULL COMMENT '品牌',
    `food_production_license_code` varchar(255)   NULL DEFAULT NULL COMMENT '食品生产许可证编码',
    `origin_place`                 varchar(255)   NULL DEFAULT NULL COMMENT '原产地',
    `net_content`                  varchar(255)   NULL DEFAULT NULL COMMENT '净含量',
    `shelf_life`                   datetime NULL DEFAULT NULL COMMENT '有效日期',
    `domestic_imported`            tinyint NULL DEFAULT NULL COMMENT '国产或进口',
    `app_ids`                      varchar(500)   NULL DEFAULT NULL COMMENT '所属小程序app_id，多个用逗号隔开',
    `purchase_limit`               bigint NULL DEFAULT NULL COMMENT '商品限购',
    PRIMARY KEY (`product_id`) USING BTREE,
    INDEX                          `is_hot`(`is_hot` ASC) USING BTREE,
    INDEX                          `is_benefit`(`is_benefit` ASC) USING BTREE,
    INDEX                          `is_best`(`is_best` ASC) USING BTREE,
    INDEX                          `is_new`(`is_new` ASC) USING BTREE,
    INDEX                          `toggle_on_sale, is_del`(`is_del` ASC) USING BTREE,
    INDEX                          `price`(`price` ASC) USING BTREE,
    INDEX                          `is_show`(`is_show` ASC) USING BTREE,
    INDEX                          `sort`(`sort` ASC) USING BTREE,
    INDEX                          `sales`(`sales` ASC) USING BTREE,
    INDEX                          `add_time`(`create_time` ASC) USING BTREE,
    INDEX                          `is_postage`(`is_postage` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_product_template_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_product_template_scrm`;
CREATE TABLE `fs_store_product_template_scrm`
(
    `temp_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `name`    varchar(200)   NULL DEFAULT NULL,
    `code`    varchar(50)   NULL DEFAULT NULL,
    `status`  tinyint(1) NULL DEFAULT 1 COMMENT '状态',
    `sort`    mediumint NULL DEFAULT 0,
    PRIMARY KEY (`temp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_recommend_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_recommend_scrm`;
CREATE TABLE `fs_store_recommend_scrm`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `store_id`         bigint NOT NULL COMMENT '店铺ID',
    `store_name`       varchar(255)   NULL DEFAULT NULL COMMENT '店铺名称',
    `sort_order`       int NULL DEFAULT 0 COMMENT '排序值，数值越小越靠前',
    `begin_time`       datetime NULL DEFAULT NULL COMMENT '推荐开始时间',
    `end_time`         datetime NULL DEFAULT NULL COMMENT '推荐结束时间',
    `recommend_type`   varchar(50)   NULL DEFAULT 'GENERAL' COMMENT '推荐类型(HOT热门,NEW新品,GENERAL普通推荐)',
    `status`           tinyint(1) NULL DEFAULT 1 COMMENT '状态(0禁用,1启用)',
    `weight`           int NULL DEFAULT 0 COMMENT '权重值，用于综合排序',
    `recommend_reason` varchar(500)   NULL DEFAULT NULL COMMENT '推荐理由',
    `create_by`        varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`      datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`        varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`      datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `remark`           varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_store_id`(`store_id` ASC) USING BTREE,
    INDEX              `idx_sort_order`(`sort_order` ASC) USING BTREE,
    INDEX              `idx_start_end_time`(`begin_time` ASC, `end_time` ASC) USING BTREE,
    INDEX              `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '店铺推荐表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_scrm`;
CREATE TABLE `fs_store_scrm`
(
    `store_id`                          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `city_ids`                          varchar(200)   NULL DEFAULT NULL COMMENT '所属城市ids',
    `store_name`                        varchar(50)   NULL DEFAULT NULL COMMENT '店铺名称',
    `descs`                             varchar(200)   NULL DEFAULT NULL COMMENT '店铺介绍',
    `logo_url`                          varchar(200)   NULL DEFAULT NULL COMMENT '店铺LOGO',
    `address`                           varchar(200)   NULL DEFAULT NULL COMMENT '地址',
    `lng`                               varchar(50)   NULL DEFAULT NULL COMMENT '经度',
    `lat`                               varchar(50)   NULL DEFAULT NULL COMMENT '维度',
    `phone`                             varchar(20)   NULL DEFAULT NULL COMMENT '店铺电话',
    `license_images`                    varchar(2000)   NULL DEFAULT NULL COMMENT '资质证书',
    `product_count`                     int NULL DEFAULT 0 COMMENT '商品总数',
    `status`                            tinyint(1) NULL DEFAULT 0 COMMENT '状态(0停用1正常)',
    `create_time`                       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`                       datetime NULL DEFAULT NULL COMMENT '更新时间',
    `sales_count`                       int NULL DEFAULT 0 COMMENT '销量',
    `balance`                           decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `total_money`                       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '累计金额',
    `is_audit`                          tinyint(1) NULL DEFAULT 0 COMMENT '审核状态(-1驳回0待审核1审核通过)',
    `account`                           varchar(200)   NULL DEFAULT NULL COMMENT '登录帐号',
    `password`                          varchar(50)   NULL DEFAULT NULL COMMENT '登录密码',
    `shipping_type`                     varchar(20)   NULL DEFAULT NULL COMMENT '配送方式 1=配送 ，2=到店自提',
    `brokerage_type`                    int NULL DEFAULT NULL,
    `brokerage_rate`                    int NULL DEFAULT NULL COMMENT '佣金比率%',
    `full_name`                         varchar(200)   NULL DEFAULT NULL COMMENT '机构全称',
    `refund_phone`                      varchar(255)   NULL DEFAULT NULL COMMENT '退货电话',
    `refund_address`                    varchar(255)   NULL DEFAULT NULL COMMENT '退货地址',
    `refund_consignee`                  varchar(255)   NULL DEFAULT NULL COMMENT '收件人',
    `delivery_type`                     tinyint(1) NULL DEFAULT NULL COMMENT '发货方式',
    `send_phone`                        varchar(255)   NULL DEFAULT NULL COMMENT '发货人电话',
    `enterprise_address`                varchar(255)   NULL DEFAULT NULL COMMENT '企业地址',
    `legal_person_name`                 varchar(255)   NULL DEFAULT NULL COMMENT '法人姓名',
    `unified_social_credit_code`        varchar(255)   NULL DEFAULT NULL COMMENT '统一社会信用代码',
    `business_scope`                    text   NULL COMMENT '营业范围',
    `business_license`                  varchar(255)   NULL DEFAULT NULL COMMENT '营业执照文件',
    `business_license_expire_start`     date NULL DEFAULT NULL COMMENT '营业执照失效日期',
    `business_license_expire_end`       date NULL DEFAULT NULL COMMENT '营业执照失效日期',
    `drug_license`                      varchar(255)   NULL DEFAULT NULL COMMENT '药品经营许可证文件',
    `drug_license_expiry_start`         date NULL DEFAULT NULL COMMENT '药品经营许可证有效期',
    `drug_license_expiry_end`           date NULL DEFAULT NULL COMMENT '药品经营许可证有效期',
    `medical_device1`                   varchar(255)   NULL DEFAULT NULL COMMENT '一类器械生产备案文件',
    `medical_device1_expiry_start`      date NULL DEFAULT NULL COMMENT '一类器械生产备有效期',
    `medical_device1_expiry_end`        date NULL DEFAULT NULL COMMENT '一类器械生产备有效期',
    `medicalDevice2`                    varchar(255)   NULL DEFAULT NULL COMMENT '二类医疗器械备案证书',
    `medical_device2_expiry_start`      date NULL DEFAULT NULL COMMENT '二类医疗器械备案有效期',
    `medical_device2_expiry_end`        date NULL DEFAULT NULL COMMENT '二类医疗器械备案有效期',
    `medicalDevice3`                    varchar(255)   NULL DEFAULT NULL COMMENT '三类器械经营许可证文件',
    `medical_device3_expiry_start`      date NULL DEFAULT NULL COMMENT '三类器械经营许可证有效期',
    `medical_device3_expiry_end`        date NULL DEFAULT NULL COMMENT '三类器械经营许可证有效期',
    `food_license`                      varchar(255)   NULL DEFAULT NULL COMMENT '食品经营许可证文件',
    `food_license_expiry_start`         date NULL DEFAULT NULL COMMENT '食品经营许可证有效期',
    `food_license_expiry_end`           date NULL DEFAULT NULL COMMENT '食品经营许可证有效期',
    `medical_license`                   varchar(255)   NULL DEFAULT NULL COMMENT '医疗机构执业许可证文件',
    `medical_license_expiry_start`      date NULL DEFAULT NULL COMMENT '医疗机构执业许可证有效期',
    `medical_license_expiry_end`        date NULL DEFAULT NULL COMMENT '医疗机构执业许可证有效期',
    `settlement_agreement`              varchar(255)   NULL DEFAULT NULL,
    `settlement_agreement_start`        date NULL DEFAULT NULL,
    `settlement_agreement_end`          date NULL DEFAULT NULL,
    `quality_assurance_agreement`       varchar(255)   NULL DEFAULT NULL,
    `quality_assurance_agreement_start` date NULL DEFAULT NULL,
    `quality_assurance_agreement_end`   date NULL DEFAULT NULL,
    `other_special_qualification`       varchar(255)   NULL DEFAULT NULL,
    `other_special_qualification_start` date NULL DEFAULT NULL,
    `other_special_qualification_end`   date NULL DEFAULT NULL,
    `is_business_license_permanent`     int NULL DEFAULT NULL,
    PRIMARY KEY (`store_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '店铺表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_shop_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_shop_scrm`;
CREATE TABLE `fs_store_shop_scrm`
(
    `id`               bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `name`             varchar(100)    NOT NULL DEFAULT '' COMMENT '门店名称',
    `introduction`     varchar(1000)   NOT NULL DEFAULT '' COMMENT '简介',
    `phone`            char(25)        NOT NULL DEFAULT '' COMMENT '手机号码',
    `address`          varchar(255)    NOT NULL DEFAULT '' COMMENT '省市区',
    `detailed_address` varchar(255)    NOT NULL DEFAULT '' COMMENT '详细地址',
    `image`            varchar(255)    NOT NULL DEFAULT '' COMMENT '门店logo',
    `latitude`         char(25)        NOT NULL DEFAULT '' COMMENT '纬度',
    `longitude`        char(25)        NOT NULL DEFAULT '' COMMENT '经度',
    `valid_time`       varchar(100)    NOT NULL DEFAULT '' COMMENT '核销有效日期',
    `day_time`         varchar(100)    NOT NULL DEFAULT '' COMMENT '每日营业开关时间',
    `create_time`      datetime                                                 NOT NULL COMMENT '添加时间',
    `update_time`      datetime NULL DEFAULT NULL,
    `is_show`          tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示',
    `is_del`           tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    `day_time_end`     datetime NULL DEFAULT NULL,
    `day_time_start`   datetime NULL DEFAULT NULL,
    `valid_time_end`   datetime NULL DEFAULT NULL,
    `valid_time_start` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `phone`(`phone` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '门店自提' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_shop_staff_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_shop_staff_scrm`;
CREATE TABLE `fs_store_shop_staff_scrm`
(
    `id`            int UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`       bigint UNSIGNED NOT NULL COMMENT '微信用户id',
    `nickname`      varchar(50)    NOT NULL,
    `avatar`        varchar(255)   NOT NULL DEFAULT '' COMMENT '店员头像',
    `store_id`      int                                                     NOT NULL COMMENT '门店id',
    `store_name`    varchar(50)   NULL DEFAULT NULL,
    `staff_name`    varchar(64)   NULL DEFAULT '' COMMENT '店员名称',
    `phone`         char(15)   NULL DEFAULT NULL COMMENT '手机号码',
    `verify_status` tinyint                                                 NOT NULL DEFAULT 0 COMMENT '核销开关',
    `status`        tinyint NULL DEFAULT 1 COMMENT '状态',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `is_del`        tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '门店店员表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_sub_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_sub_order`;
CREATE TABLE `fs_store_sub_order`
(
    `sub_order_id`              bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '子订单ID',
    `order_id`                  bigint NULL DEFAULT NULL COMMENT '订单id',
    `store_id`                  bigint NULL DEFAULT NULL COMMENT '店铺id',
    `sub_order_code`            varchar(32)   NOT NULL COMMENT '子订单号',
    `user_id`                   bigint UNSIGNED NOT NULL COMMENT '用户id',
    `user_name`                 varchar(32)   NULL DEFAULT NULL COMMENT '收货人',
    `user_phone`                varchar(18)   NULL DEFAULT NULL COMMENT '收货人电话',
    `user_address`              varchar(255)   NULL DEFAULT NULL COMMENT '详细地址',
    `total_num`                 int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单商品总数',
    `total_price`               decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '订单总价/商品合计',
    `pay_price`                 decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '支付金额/处方应付金额',
    `pay_money`                 decimal(8, 2) NULL DEFAULT 0.00 COMMENT '实际支付金额',
    `pay_remain`                decimal(10, 2) NULL DEFAULT 0.00 COMMENT '剩余金额/代收金额',
    `discount_money`            decimal(10, 2) NULL DEFAULT 0.00 COMMENT '优惠卷金额',
    `pay_time`                  datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`                  varchar(32)   NULL DEFAULT NULL COMMENT '支付方式',
    `prescribe_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '处方定价（套餐包价格)',
    `total_cost_price`          decimal(10, 2) NULL DEFAULT NULL COMMENT '总成本价',
    `inquiry_cost_price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '问诊成本价',
    `cost_discount_money`       decimal(10, 2) NULL DEFAULT NULL COMMENT '成本优惠金额 成本-定价',
    `cost_price`                decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `create_time`               datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`               datetime NULL DEFAULT NULL COMMENT '更改时间',
    `order_type`                tinyint(1) NULL DEFAULT NULL COMMENT '订单类型 1西药 2中药',
    `status`                    tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态（-1 : 申请退款 -2 : 退货成功 1：待支付 2：待发货；3：待收货；4：待评价；5：已完成）',
    `pay_delivery`              decimal(10, 2) NULL DEFAULT 0.00 COMMENT '支付运费',
    `finish_time`               datetime NULL DEFAULT NULL COMMENT '完成时间',
    `remark`                    varchar(512)   NULL DEFAULT NULL COMMENT '备注',
    `company_id`                bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`           bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `dept_id`                   bigint NULL DEFAULT NULL COMMENT '部门id',
    `package_id`                bigint NULL DEFAULT NULL COMMENT '套餐包id',
    `doctor_id`                 int NULL DEFAULT NULL COMMENT '医生id',
    `inquiry_order_id`          bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    `package_order_id`          bigint NULL DEFAULT NULL COMMENT '套餐包订单id',
    `cycle`                     int NULL DEFAULT 0 COMMENT '用药周期',
    `follow_doctor_id`          bigint NULL DEFAULT NULL COMMENT '随访医生id',
    `follow_num`                int NULL DEFAULT 0 COMMENT '随访次数',
    `package_name`              varchar(255)   NULL DEFAULT NULL COMMENT '套餐包名称 ',
    `package_second_name`       varchar(255)   NULL DEFAULT NULL COMMENT '套餐包别名',
    `icd_code`                  varchar(100)   NULL DEFAULT NULL COMMENT 'idc编码',
    `prescribe_json`            longtext   NULL COMMENT '处方json',
    `prescribe_drug_json`       longtext   NULL COMMENT '处方药品json',
    `diagnosis`                 varchar(255)   NULL DEFAULT NULL COMMENT '诊断',
    `patient_id`                bigint NULL DEFAULT NULL COMMENT '病人id',
    `patient_name`              varchar(255)   NULL DEFAULT NULL COMMENT '病人名称',
    `patient_idcard`            varchar(255)   NULL DEFAULT NULL COMMENT '病人身份证',
    `details_usage`             varchar(255)   NULL DEFAULT NULL COMMENT '药物使用方法（例如口服、局部）     中药必填',
    `is_push`                   int NULL DEFAULT NULL COMMENT '是否已经推送 1是 0否 ',
    `prescription_num`          int NULL DEFAULT NULL COMMENT '付数',
    `prescription_taking`       varchar(255)   NULL DEFAULT NULL COMMENT '中药参数',
    `prescription_requirements` varchar(255)   NULL DEFAULT NULL COMMENT '中药参数',
    `drug_doctor_id`            bigint NULL DEFAULT NULL,
    PRIMARY KEY (`sub_order_id`) USING BTREE,
    UNIQUE INDEX `id`(`sub_order_code` ASC, `user_id` ASC) USING BTREE,
    INDEX                       `uid`(`user_id` ASC) USING BTREE,
    INDEX                       `add_time`(`create_time` ASC) USING BTREE,
    INDEX                       `pay_price`(`pay_price` ASC) USING BTREE,
    INDEX                       `pay_time`(`pay_time` ASC) USING BTREE,
    INDEX                       `pay_type`(`pay_type` ASC) USING BTREE,
    INDEX                       `status`(`status` ASC) USING BTREE,
    INDEX                       `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                       `company_id`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '子订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_store_visit_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_store_visit_scrm`;
CREATE TABLE `fs_store_visit_scrm`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `product_id`   bigint NULL DEFAULT NULL COMMENT '产品ID',
    `product_type` varchar(32)   NULL DEFAULT NULL COMMENT '产品类型',
    `cate_id`      bigint NULL DEFAULT NULL COMMENT '产品分类ID',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '用户ID',
    `count`        int NULL DEFAULT 0 COMMENT '访问次数',
    `content`      varchar(255)   NULL DEFAULT NULL COMMENT '备注描述',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '产品浏览分析表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_tag_update_queue
-- ----------------------------
DROP TABLE IF EXISTS `fs_tag_update_queue`;
CREATE TABLE `fs_tag_update_queue`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `course_log_id`          bigint NULL DEFAULT NULL COMMENT '看课日志id',
    `is_first`               int NULL DEFAULT 0 COMMENT '0不是先导课 1是先导课',
    `course_id`              bigint NULL DEFAULT NULL COMMENT '课程ID',
    `operation_type`         int NULL DEFAULT 0 COMMENT '操作类型(0 ADD 1 REMOVE) 默认0',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '视频ID',
    `status`                 int NULL DEFAULT 0 COMMENT '0未处理 1处理中 2成功 3失败',
    `retry_count`            int NULL DEFAULT 0 COMMENT '重试次数',
    `corp_id`                varchar(255)   NULL DEFAULT NULL COMMENT '企微主体id',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企微user_id',
    `qw_external_contact_id` varchar(255)   NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `fail_msg`               text   NULL COMMENT '失败原因',
    `payload`                text   NULL COMMENT '请求参数',
    `response`               text   NULL COMMENT '返回结果',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '更新时间',
    `update_by`              bigint NULL DEFAULT NULL COMMENT '更新人',
    `create_by`              bigint NULL DEFAULT NULL COMMENT '创建人',
    `next_execute_time`      datetime NULL DEFAULT NULL COMMENT '下次执行时间',
    `log_type`               smallint NULL DEFAULT NULL COMMENT '0',
    `watching_tg_id`         bigint NULL DEFAULT NULL COMMENT '看课标签 表中的ID',
    `watched_tg_id`          bigint NULL DEFAULT NULL COMMENT '完课标签 表中的ID',
    `watching_tag_id`        varchar(255)   NULL DEFAULT NULL COMMENT '看课中标签ID',
    `watched_tag_id`         varchar(255)   NULL DEFAULT NULL COMMENT '完课标签ID',
    `watching_tg_group_id`   varchar(255)   NULL DEFAULT NULL COMMENT '看课标签组ID',
    `watched_tg_group_id`    varchar(255)   NULL DEFAULT NULL COMMENT '完课标签组ID',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `course_log_id`(`course_log_id` ASC, `video_id` ASC, `log_type` ASC, `qw_external_contact_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '标签更新对列表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_test_report
-- ----------------------------
DROP TABLE IF EXISTS `fs_test_report`;
CREATE TABLE `fs_test_report`
(
    `report_id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '会员ID',
    `patient_id`             bigint NULL DEFAULT NULL COMMENT '患者ID',
    `patient_json`           varchar(2000)   NULL DEFAULT NULL COMMENT '患者JSON',
    `report_sn`              varchar(50)   NULL DEFAULT NULL COMMENT '报告ID',
    `patient_descs`          varchar(500)   NULL DEFAULT NULL COMMENT '主诉',
    `illness_logs`           varchar(2000)   NULL DEFAULT NULL COMMENT '疾病历',
    `drug_logs`              varchar(2000)   NULL DEFAULT NULL COMMENT '用药史',
    `test_result`            varchar(500)   NULL DEFAULT NULL COMMENT '诊断结果',
    `form_json`              longtext   NULL COMMENT '表单JSON数据',
    `conditioning_plan_json` varchar(2000)   NULL DEFAULT NULL COMMENT '调理方案',
    `temp_id`                bigint NULL DEFAULT NULL COMMENT '模板ID',
    `score`                  int NULL DEFAULT NULL COMMENT '分数',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`                 varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `img_url`                varchar(255)   NULL DEFAULT NULL COMMENT '图片地址',
    PRIMARY KEY (`report_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '测试报告表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_test_temp
-- ----------------------------
DROP TABLE IF EXISTS `fs_test_temp`;
CREATE TABLE `fs_test_temp`
(
    `temp_id`        bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `name`           varchar(50)   NULL DEFAULT NULL COMMENT '名称',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`         tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `remark`         varchar(2000)   NULL DEFAULT NULL COMMENT '备注',
    `temp_code`      varchar(255)   NULL DEFAULT NULL COMMENT '模板编号',
    `item_type_json` longtext   NULL,
    `num`            bigint NULL DEFAULT NULL COMMENT '题目数量',
    `people_num`     bigint NULL DEFAULT NULL COMMENT '测试人数',
    `img`            varchar(200)   NULL DEFAULT NULL COMMENT '图片',
    `time`           int NULL DEFAULT NULL COMMENT '预计分钟数',
    `descs`          varchar(2000)   NULL DEFAULT NULL,
    `title`          varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `msg`            varchar(200)   NULL DEFAULT NULL COMMENT '测试提醒',
    `sort`           int NULL DEFAULT NULL COMMENT '排序',
    PRIMARY KEY (`temp_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '测一测模板表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_test_temp_item
-- ----------------------------
DROP TABLE IF EXISTS `fs_test_temp_item`;
CREATE TABLE `fs_test_temp_item`
(
    `item_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `temp_id`     bigint NULL DEFAULT NULL COMMENT '模板ID',
    `item_type`   varchar(50)   NULL DEFAULT NULL,
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `score_json`  varchar(2000)   NULL DEFAULT NULL COMMENT '分值JSON',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `sort`        int NULL DEFAULT NULL COMMENT '排序号',
    PRIMARY KEY (`item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '模板项目表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_tongue_info
-- ----------------------------
DROP TABLE IF EXISTS `fs_tongue_info`;
CREATE TABLE `fs_tongue_info`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `botai`        int NULL DEFAULT NULL COMMENT '剥苔',
    `houdu`        varchar(50)   NULL DEFAULT NULL COMMENT '厚度',
    `shemian_name` varchar(255)   NULL DEFAULT NULL COMMENT '舌质(舌头颜色)',
    `taise_name`   varchar(255)   NULL DEFAULT NULL COMMENT '苔色(舌苔颜色)',
    `type_name`    varchar(255)   NULL DEFAULT NULL COMMENT '体质',
    `type_json`    varchar(2000)   NULL DEFAULT NULL COMMENT '体质解析',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user
-- ----------------------------
DROP TABLE IF EXISTS `fs_user`;
CREATE TABLE `fs_user` (
    `user_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '用户id',
    `username` varchar(255) DEFAULT NULL COMMENT '用户账户(跟accout一样)',
    `nick_name` varchar(100) DEFAULT NULL COMMENT '用户昵称',
    `avatar` varchar(256) DEFAULT NULL COMMENT '用户头像',
    `phone` varchar(50) DEFAULT NULL COMMENT '手机号码',
    `integral` decimal(8,2) unsigned DEFAULT '0.00' COMMENT '用户积分',
    `status` tinyint(1) DEFAULT '1' COMMENT '1为正常，0为禁止',
    `level` tinyint unsigned DEFAULT '0' COMMENT '等级 0普通会员 1VIP会员',
    `spread_user_id` bigint unsigned NOT NULL DEFAULT '0' COMMENT '推广上级用户ID',
    `spread_time` datetime DEFAULT NULL COMMENT '推广员关联时间',
    `user_type` varchar(32) DEFAULT NULL COMMENT '用户类型',
    `is_promoter` tinyint unsigned DEFAULT '0' COMMENT '是否为推广员',
    `pay_count` int unsigned DEFAULT '0' COMMENT '用户购买次数',
    `spread_count` int DEFAULT '0' COMMENT '下级人数',
    `addres` varchar(255) DEFAULT '' COMMENT '详细地址',
    `tui_user_id` bigint unsigned DEFAULT '0' COMMENT '推广上级用户ID',
    `tui_time` datetime DEFAULT NULL COMMENT '推广员关联时间',
    `tui_user_count` int DEFAULT '0' COMMENT '下级人数',
    `ma_open_id` varchar(50) DEFAULT NULL COMMENT '微信小程序OPENID',
    `mp_open_id` varchar(50) DEFAULT NULL COMMENT '微信公众号OPENID',
    `union_id` varchar(50) DEFAULT NULL COMMENT '关联ID',
    `is_del` tinyint(1) DEFAULT '0',
    `user_code` varchar(50) DEFAULT NULL COMMENT '邀请码',
    `remark` varchar(255) DEFAULT '' COMMENT '用户备注',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time` datetime DEFAULT NULL COMMENT '最后一次登录时间',
    `last_ip` varchar(100) DEFAULT '' COMMENT '最后一次登录ip',
    `now_money` decimal(8,2) unsigned DEFAULT '0.00' COMMENT '用户余额',
    `brokerage_price` decimal(8,2) DEFAULT '0.00' COMMENT '佣金金额',
    `balance` decimal(11,2) DEFAULT '0.00' COMMENT '余额',
    `sign_num` int DEFAULT NULL COMMENT '连续签到天数',
    `integral_status` int DEFAULT '0' COMMENT '积分同步状态',
    `is_buy` int DEFAULT '0',
    `password` varchar(255) DEFAULT NULL,
    `real_name` varchar(25) DEFAULT '' COMMENT '真实姓名',
    `birthday` int DEFAULT '0' COMMENT '生日',
    `id_card` varchar(20) DEFAULT '' COMMENT '身份证号码',
    `jpush_id` varchar(255) DEFAULT NULL,
    `is_vip` tinyint DEFAULT '0',
    `vip_start_date` datetime DEFAULT NULL,
    `vip_end_date` datetime DEFAULT NULL,
    `vip_level` int DEFAULT NULL,
    `vip_status` int DEFAULT NULL,
    `sex` int DEFAULT NULL,
    `store_open_id` varchar(50) DEFAULT NULL,
    `is_official_account_auth` tinyint(1) DEFAULT '0' COMMENT '是否关注公众号',
    `is_push` tinyint DEFAULT '1' COMMENT '是否消息通知',
    `is_individuation_push` tinyint DEFAULT '1' COMMENT '是否个性化推送',
    `is_weixin_auth` tinyint(1) DEFAULT '0',
    `company_id` bigint DEFAULT NULL,
    `company_user_id` bigint DEFAULT NULL,
    `register_date` date DEFAULT NULL COMMENT '进线日期',
    `register_code` varchar(200) DEFAULT NULL COMMENT '进线编码',
    `test` varchar(255) DEFAULT NULL,
    `login_device` varchar(255) DEFAULT NULL COMMENT '用户app登陆设备',
    `source` varchar(255) DEFAULT NULL COMMENT 'app来源',
    `is_add_qw` tinyint DEFAULT '0' COMMENT '是否添加客服',
    `qw_user_id` bigint DEFAULT NULL COMMENT '所属销售企微id',
    `is_show` int DEFAULT '0' COMMENT '是否展示',
    `parent_id` bigint DEFAULT NULL COMMENT '邀请人id',
    `course_ma_open_id` varchar(255) DEFAULT NULL COMMENT '看课maOpenId',
    `history_app` varchar(10) DEFAULT NULL COMMENT 'app登录后不为null(表示是否下载app)',
    `qw_ext_id` bigint DEFAULT NULL COMMENT '外部联系人ID',
    `rank` varchar(255) DEFAULT NULL COMMENT '评级',
    `react` varchar(255) DEFAULT NULL COMMENT '互动数',
    `money` decimal(10,2) DEFAULT NULL COMMENT '用户余额',
    `user_repeat` int DEFAULT NULL,
    `qw_repeat` int DEFAULT NULL COMMENT '企微重粉',
    `order_count` int DEFAULT NULL COMMENT '下单次数',
    `total_amount` decimal(8,2) DEFAULT NULL COMMENT '下单总金额',
    `bind_company_user_id` bigint DEFAULT NULL COMMENT '销售id',
    `app_id` varchar(500) DEFAULT NULL COMMENT '小程序appid，多个用逗号分隔',
    `invited_by_sales_id` bigint DEFAULT NULL COMMENT '邀请该用户app下载的销售人员ID',
    PRIMARY KEY (`user_id`,`spread_user_id`) USING BTREE,
    KEY `spreaduid` (`tui_user_id`) USING BTREE,
    KEY `status` (`status`) USING BTREE,
    KEY `phone` (`phone`) USING BTREE,
    KEY `open_id` (`ma_open_id`) USING BTREE,
    KEY `index_union_id` (`union_id`) USING BTREE,
    KEY `chhy_open_id` (`course_ma_open_id`) USING BTREE,
    KEY `level` (`level`) USING BTREE,
    KEY `is_promoter` (`is_promoter`) USING BTREE,
    KEY `idx_fs_user_nick_phone` (`nick_name`,`phone`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='用户表';
-- ----------------------------
-- Table structure for fs_user_address
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_address`;
CREATE TABLE `fs_user_address`
(
    `address_id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`              bigint UNSIGNED NOT NULL COMMENT '用户id',
    `real_name`            varchar(32)          NOT NULL DEFAULT '' COMMENT '收货人姓名',
    `phone`                varchar(50)          NOT NULL DEFAULT '' COMMENT '收货人电话',
    `province`             varchar(64)          NOT NULL DEFAULT '' COMMENT '收货人所在省',
    `city`                 varchar(64)          NOT NULL DEFAULT '' COMMENT '收货人所在市',
    `district`             varchar(64)          NOT NULL DEFAULT '' COMMENT '收货人所在区',
    `city_ids`             varchar(200)   NULL DEFAULT NULL COMMENT '城市IDS',
    `detail`               varchar(256)   NOT NULL DEFAULT '' COMMENT '收货人详细地址',
    `post_code`            varchar(20)          NOT NULL DEFAULT '' COMMENT '邮编',
    `longitude`            varchar(16)          NOT NULL DEFAULT '0' COMMENT '经度',
    `latitude`             varchar(16)          NOT NULL DEFAULT '0' COMMENT '纬度',
    `is_default`           tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否默认',
    `is_del`               tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
    `create_time`          datetime                                                      NOT NULL COMMENT '添加时间',
    `update_time`          datetime NULL DEFAULT NULL,
    `is_confirm`           tinyint NULL DEFAULT 1 COMMENT '用户是否确认 0未确认 1已确认',
    `help_company_user_id` bigint NULL DEFAULT NULL COMMENT '帮填销售ID',
    PRIMARY KEY (`address_id`) USING BTREE,
    INDEX                  `uid`(`user_id` ASC) USING BTREE,
    INDEX                  `is_default`(`is_default` ASC) USING BTREE,
    INDEX                  `is_del`(`is_del` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户地址表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_app_version
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_app_version`;
CREATE TABLE `fs_user_app_version`
(
    `version_id`   int NOT NULL AUTO_INCREMENT,
    `version_name` varchar(200)   NULL DEFAULT NULL COMMENT '版本名称',
    `version_code` bigint NULL DEFAULT NULL COMMENT '版本CODE',
    `note`         varchar(1000)   NULL DEFAULT NULL COMMENT '更新描述',
    `url`          varchar(1000)   NULL DEFAULT NULL COMMENT '下载地址',
    `type`         tinyint(1) NULL DEFAULT 1 COMMENT 'APP类型 1android 2ios',
    `is_force`     tinyint(1) NULL DEFAULT 0 COMMENT '是否强制更新',
    `create_time`  datetime NULL DEFAULT NULL,
    `app_type`     tinyint(1) NULL DEFAULT NULL COMMENT 'APP 类型',
    PRIMARY KEY (`version_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '安卓版本' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_bill
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_bill`;
CREATE TABLE `fs_user_bill`
(
    `bill_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '会员ID',
    `title`       varchar(200)   NULL DEFAULT NULL COMMENT '标题',
    `money`       decimal(11, 2) NULL DEFAULT 0.00 COMMENT '金额',
    `balance`     decimal(11, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `bill_type`   tinyint(1) NULL DEFAULT NULL COMMENT '类型',
    `type`        varchar(200)   NULL DEFAULT NULL COMMENT '明细类型',
    `remark`      varchar(200)   NULL DEFAULT NULL COMMENT '备注',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL,
    `status`      tinyint(1) NOT NULL DEFAULT 1 COMMENT '0 = 带确定 1 = 有效 -1 = 无效',
    `tui_user_id` bigint NULL DEFAULT NULL COMMENT '分佣给此用户',
    `business_id` varchar(20)   NULL DEFAULT NULL COMMENT '关联ID',
    `category`    varchar(50)   NULL DEFAULT NULL COMMENT '明细分类 ',
    `number`      decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '明细数字',
    PRIMARY KEY (`bill_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '帐单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_black
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_black`;
CREATE TABLE `fs_user_black`
(
    `id`              int NOT NULL AUTO_INCREMENT,
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '群管id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `creat_time`      datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_bind
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_bind`;
CREATE TABLE `fs_user_company_bind`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `fs_user_id`             bigint NULL DEFAULT NULL COMMENT '用户id',
    `company_user_id`        bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             bigint NULL DEFAULT NULL COMMENT '公司ID',
    `project_id`             bigint NULL DEFAULT 0 COMMENT '课程项目ID',
    `qw_user_id`             bigint NULL DEFAULT NULL COMMENT '企微用户ID',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人ID',
    `qw_company_id`          bigint NULL DEFAULT NULL COMMENT '企微主体ID',
    `course_id`              bigint NULL DEFAULT NULL COMMENT '课程ID',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '视频ID',
    `watch_log_id`           bigint NULL DEFAULT NULL COMMENT '看课记录ID',
    `log_type`               int NULL DEFAULT NULL COMMENT '完课状态',
    `finish_time`            datetime NULL DEFAULT NULL COMMENT '完课时间',
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`              bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`              bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`                 varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `fs_user_id`(`fs_user_id` ASC) USING BTREE,
    INDEX                    `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                    `company_id`(`company_id` ASC) USING BTREE,
    INDEX                    `project_id`(`project_id` ASC) USING BTREE,
    INDEX                    `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `qw_external_contact_id`(`qw_external_contact_id` ASC) USING BTREE,
    INDEX                    `qw_company_id`(`qw_company_id` ASC) USING BTREE,
    INDEX                    `course_id`(`course_id` ASC) USING BTREE,
    INDEX                    `video_id`(`video_id` ASC) USING BTREE,
    INDEX                    `watch_log_id`(`watch_log_id` ASC) USING BTREE,
    INDEX                    `log_type`(`log_type` ASC) USING BTREE,
    INDEX                    `finish_time`(`finish_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户销售关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_package_scrm
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_package_scrm`;
CREATE TABLE `fs_user_company_package_scrm`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `company_id`      bigint NOT NULL COMMENT '销售公司id',
    `company_user_id` bigint NOT NULL COMMENT '销售id',
    `package_id`      bigint NOT NULL COMMENT '套餐id',
    `user_id`         bigint NOT NULL COMMENT '用户id',
    `create_time`     datetime NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_uniq_company_user_package`(`company_id` ASC, `company_user_id` ASC, `package_id` ASC, `user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '销售套餐用户绑定表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_user
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_user`;
CREATE TABLE `fs_user_company_user`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id（关联fs_user表user_id）',
    `company_user_id`        bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司ID',
    `is_repeat_fans`         tinyint NULL DEFAULT 0 COMMENT '是否重粉，1-是；0-否',
    `project_id`             bigint NULL DEFAULT NULL COMMENT '课程项目ID',
    `qw_user_id`             bigint NULL DEFAULT NULL COMMENT '企微用户ID',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人ID',
    `qw_company_id`          bigint NULL DEFAULT NULL COMMENT '企微主体ID',
    `create_by`              varchar(255)   NULL DEFAULT NULL,
    `update_by`              varchar(255)   NULL DEFAULT NULL,
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `status`                 tinyint NULL DEFAULT 1 COMMENT '状态 0小黑屋 1正常 2拉黑',
    `remark`                 varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `update_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_user_project`(`user_id` ASC, `project_id` ASC) USING BTREE,
    INDEX                    `user_id_index`(`user_id` ASC) USING BTREE,
    INDEX                    `company_user_id_index`(`company_user_id` ASC) USING BTREE,
    INDEX                    `idx_fs_user_company_user_comp`(`company_id` ASC, `company_user_id` ASC, `create_time` ASC) USING BTREE,
    INDEX                    `idx_fs_user_company_user_user`(`user_id` ASC, `company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信用户和销售关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_user_qw
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_user_qw`;
CREATE TABLE `fs_user_company_user_qw`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id（关联fs_user表user_id）',
    `company_user_id`        bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司ID',
    `is_repeat_fans`         tinyint NULL DEFAULT 0 COMMENT '是否重粉，1-是；0-否',
    `project_id`             bigint NULL DEFAULT NULL COMMENT '课程项目ID',
    `qw_user_id`             bigint NULL DEFAULT NULL COMMENT '企微用户ID',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人ID',
    `qw_company_id`          bigint NULL DEFAULT NULL COMMENT '企微主体ID',
    `create_by`              varchar(255)   NULL DEFAULT NULL,
    `update_by`              varchar(255)   NULL DEFAULT NULL,
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `status`                 tinyint NULL DEFAULT 1 COMMENT '状态 0小黑屋 1正常 2拉黑',
    `remark`                 varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `update_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_user_project`(`user_id` ASC, `project_id` ASC) USING BTREE,
    INDEX                    `user_id_index`(`user_id` ASC) USING BTREE,
    INDEX                    `company_user_id_index`(`company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信用户和销售关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_user_transfer_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_user_transfer_task`;
CREATE TABLE `fs_user_company_user_transfer_task`
(
    `id`               bigint  NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `status`           tinyint NOT NULL COMMENT '状态 1执行成功 2执行失败',
    `total_count`      int NULL DEFAULT NULL COMMENT '总条数',
    `success_count`    int NULL DEFAULT NULL COMMENT '成功条数',
    `fail_count`       int NULL DEFAULT NULL COMMENT '失败条数',
    `submit_user_id`   bigint NULL DEFAULT NULL COMMENT '提交人ID',
    `submit_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '提交人昵称',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '上传时间',
    `finish_time`      datetime NULL DEFAULT NULL COMMENT '执行完成时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '项目会员导入转移任务' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_company_user_transfer_task_detail
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_company_user_transfer_task_detail`;
CREATE TABLE `fs_user_company_user_transfer_task_detail`
(
    `id`                    bigint  NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `task_id`               bigint  NOT NULL COMMENT '任务ID',
    `old_company_id`        bigint  NOT NULL COMMENT '原归属销售公司ID',
    `old_company_name`      varchar(255)   NULL DEFAULT NULL COMMENT '原归属销售公司名称',
    `old_company_user_id`   bigint  NOT NULL COMMENT '原归属销售ID',
    `old_company_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '原归属销售名称',
    `project_id`            bigint NULL DEFAULT NULL COMMENT '项目ID',
    `project_name`          varchar(255)   NULL DEFAULT NULL COMMENT '项目名称',
    `user_id`               bigint  NOT NULL COMMENT '会员ID',
    `user_name`             varchar(255)   NULL DEFAULT NULL COMMENT '会员名称',
    `new_company_id`        bigint  NOT NULL COMMENT '新归属销售公司ID',
    `new_company_name`      varchar(255)   NULL DEFAULT NULL COMMENT '新归属销售公司名称',
    `new_company_user_id`   bigint  NOT NULL COMMENT '新归属销售ID',
    `new_company_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '新归属销售名称',
    `create_time`           datetime NULL DEFAULT NULL COMMENT '上传时间',
    `finish_time`           datetime NULL DEFAULT NULL COMMENT '执行完成时间',
    `status`                tinyint NOT NULL COMMENT '状态 1执行成功 2执行失败',
    `reason`                varchar(500)   NULL DEFAULT NULL COMMENT '失败原因',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                   `idx_task`(`task_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '项目会员导入转移任务明细' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_complaint
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_complaint`;
CREATE TABLE `fs_user_complaint`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `user_id`     bigint NOT NULL COMMENT '用户id',
    `user_name`   varchar(30)   NULL DEFAULT NULL COMMENT '用户名',
    `template_id` bigint NOT NULL COMMENT '投诉模板id',
    `content`     varchar(1000)   NULL DEFAULT NULL COMMENT '详细内容',
    `phone`       varchar(30)   NULL DEFAULT NULL COMMENT '联系方式',
    `urls`        text   NULL COMMENT '图片地址',
    `trade_image` text   NULL COMMENT '交易截图',
    `account`     varchar(255)   NULL DEFAULT NULL COMMENT '被投诉人信息',
    `create_time` datetime NULL DEFAULT NULL,
    `is_handle`   tinyint NULL DEFAULT 0 COMMENT '是否处理',
    `remarks`     varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户投诉表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_complaint_msg
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_complaint_msg`;
CREATE TABLE `fs_user_complaint_msg`
(
    `id`           bigint  NOT NULL AUTO_INCREMENT,
    `complaint_id` bigint  NOT NULL COMMENT '投诉id',
    `send_type`    tinyint NOT NULL COMMENT '回复者: 1用户 2平台 3 店铺',
    `user_id`      bigint  NOT NULL COMMENT '回复消息人id',
    `content`      varchar(500)   NULL DEFAULT NULL COMMENT '内容',
    `images`       varchar(500)   NULL DEFAULT NULL COMMENT '图片',
    `create_time`  datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `complaint_id`(`complaint_id` ASC) USING BTREE,
    INDEX          `user_id`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_coupon
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_coupon`;
CREATE TABLE `fs_user_coupon`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `coupon_id`       bigint NULL DEFAULT NULL,
    `coupon_code`     varchar(20)   NULL DEFAULT NULL COMMENT '券号',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '会员ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '领取时间',
    `use_time`        datetime NULL DEFAULT NULL COMMENT '使用时间',
    `business_id`     bigint NULL DEFAULT NULL COMMENT '关联订单ID',
    `business_type`   tinyint(1) NULL DEFAULT NULL COMMENT '订单类型 1问诊 2商城',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 0未使用 1已使用 2已过期',
    `send_user_id`    bigint NULL DEFAULT NULL COMMENT '发送人',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司发送人',
    `limit_time`      date NULL DEFAULT NULL COMMENT '有效期',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员优惠券表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course`;
CREATE TABLE `fs_user_course`
(
    `course_id`    bigint NOT NULL AUTO_INCREMENT COMMENT '课程id',
    `cate_id`      bigint NULL DEFAULT NULL COMMENT '分类ID',
    `sub_cate_id`  bigint NULL DEFAULT NULL COMMENT '子分类ID',
    `course_name`  varchar(255)   NULL DEFAULT NULL COMMENT '课程名称',
    `title`        varchar(2000)   NULL DEFAULT NULL COMMENT '标题',
    `img_url`      varchar(200)   NULL DEFAULT NULL COMMENT '课程封面',
    `sort`         int NULL DEFAULT NULL COMMENT '排序',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`       tinyint(1) NULL DEFAULT NULL COMMENT '状态',
    `is_vip`       tinyint NULL DEFAULT NULL COMMENT '是否会员课程',
    `is_hot`       tinyint NULL DEFAULT NULL COMMENT '是否热门',
    `is_show`      tinyint NULL DEFAULT NULL COMMENT '状态（上下架）',
    `views`        bigint NULL DEFAULT NULL COMMENT '播放量',
    `duration`     int NULL DEFAULT 0 COMMENT '播放时长',
    `description`  text   NULL COMMENT '课程描述',
    `hot_ranking`  int NULL DEFAULT NULL COMMENT '热力排行',
    `integral`     bigint NULL DEFAULT NULL COMMENT '单节课程积分',
    `price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '原价售价',
    `sell_price`   decimal(10, 2) NULL DEFAULT NULL COMMENT '售价',
    `project`      int NULL DEFAULT NULL COMMENT '归属项目',
    `tags`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `likes`        bigint NULL DEFAULT NULL COMMENT '点赞数',
    `favorite_num` bigint NULL DEFAULT NULL COMMENT '收藏数',
    `shares`       bigint NULL DEFAULT NULL COMMENT '分享数',
    `is_auto_play` tinyint NULL DEFAULT NULL COMMENT '是否自动播放',
    `is_fast`      tinyint NULL DEFAULT NULL COMMENT '是否允许快进',
    `is_best`      tinyint NULL DEFAULT NULL COMMENT '是否精选',
    `is_tui`       tinyint NULL DEFAULT NULL COMMENT '是否推荐',
    `hot_num`      bigint NULL DEFAULT NULL COMMENT '热度值',
    `is_integral`  tinyint NULL DEFAULT 0 COMMENT '是否允许积分兑换',
    `course_type`  int NULL DEFAULT NULL COMMENT '课程类型  1vip  2 积分',
    `talent_id`    bigint NULL DEFAULT NULL COMMENT '达人Id',
    `is_del`       tinyint NULL DEFAULT 0 COMMENT '删除标志',
    `second_img`   varchar(500)   NULL DEFAULT NULL COMMENT '小封面',
    `is_next`      tinyint NULL DEFAULT 0 COMMENT '是否逐级观看',
    `is_private`   tinyint NULL DEFAULT 0 COMMENT '是否私域',
    `company_ids`  varchar(255)   NULL DEFAULT NULL,
    `user_id`      bigint NULL DEFAULT NULL COMMENT '用户id',
    `config_json`  text   NULL COMMENT '过程页配置',
    PRIMARY KEY (`course_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_category
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_category`;
CREATE TABLE `fs_user_course_category`
(
    `cate_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '课堂分类表ID',
    `pid`         bigint                                                  NOT NULL COMMENT '父id',
    `cate_name`   varchar(100)   NOT NULL COMMENT '分类名称',
    `sort`        mediumint NULL DEFAULT NULL COMMENT '排序',
    `is_show`     tinyint(1) NULL DEFAULT 1 COMMENT '是否推荐',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
    `pic`         varchar(255)   NULL DEFAULT NULL COMMENT '图标',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '登录操作id',
    PRIMARY KEY (`cate_id`) USING BTREE,
    INDEX         `pid`(`pid` ASC) USING BTREE,
    INDEX         `is_base`(`is_show` ASC) USING BTREE,
    INDEX         `sort`(`sort` ASC) USING BTREE,
    INDEX         `add_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂分类表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_comment
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_comment`;
CREATE TABLE `fs_user_course_comment`
(
    `comment_id`  bigint NOT NULL AUTO_INCREMENT COMMENT '评论id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课堂id',
    `type`        int NULL DEFAULT NULL COMMENT '评论类型 1：评论，2：回复',
    `parent_id`   bigint NULL DEFAULT NULL COMMENT '父评论id',
    `content`     varchar(2000)   NULL DEFAULT NULL COMMENT '评论内容',
    `reply_count` int NULL DEFAULT 0 COMMENT '回复数量',
    `create_time` datetime NULL DEFAULT NULL COMMENT '评论时间',
    `update_time` datetime NULL DEFAULT NULL,
    `likes`       bigint NULL DEFAULT 0 COMMENT '点赞数',
    `to_user_id`  bigint NULL DEFAULT NULL COMMENT '目标用户id',
    `is_del`      tinyint NULL DEFAULT 0,
    PRIMARY KEY (`comment_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂评论表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_comment_like
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_comment_like`;
CREATE TABLE `fs_user_course_comment_like`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `comment_id`  bigint NULL DEFAULT NULL COMMENT '评论id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂评论点赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_company_statistics
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_company_statistics`;
CREATE TABLE `fs_user_course_company_statistics`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `project_id`           bigint NULL DEFAULT NULL COMMENT '项目ID',
    `complete_watch_count` int NULL DEFAULT NULL COMMENT '完播次数（人次）',
    `watch_count`          int NULL DEFAULT NULL COMMENT '观看次数（人次）',
    `answer_count`         int NULL DEFAULT NULL COMMENT '答题人次',
    `correct_count`        int NULL DEFAULT NULL COMMENT '正确人次',
    `receive_count`        int NULL DEFAULT NULL COMMENT '领取次数',
    `receive_amount`       decimal(10, 2) NULL DEFAULT NULL COMMENT '领取金额（元）',
    `user_count`           int NULL DEFAULT NULL COMMENT '会员数量',
    `user_blacklist_count` int NULL DEFAULT NULL COMMENT '会员黑名单数量',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司ID',
    `company_name`         varchar(100)   NULL DEFAULT NULL COMMENT '公司名称',
    `create_date`          date NULL DEFAULT NULL COMMENT '统计日期',
    `create_time`          datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `create_by`            varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`            varchar(50)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `idx_project_id`(`project_id` ASC) USING BTREE,
    INDEX                  `idx_create_date`(`create_date` ASC) USING BTREE,
    INDEX                  `fs_user_course_company_statistics_company_id_IDX`(`company_id` ASC) USING BTREE,
    INDEX                  `fs_user_course_company_statistics_company_name_IDX`(`company_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户看课统计表（含完播率、答题统计、领取信息等）' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_company_user_time
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_company_user_time`;
CREATE TABLE `fs_user_course_company_user_time`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期ID',
    `course_id`       bigint NULL DEFAULT NULL COMMENT '课程ID',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '视频ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `start_date_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_date_time`   datetime NULL DEFAULT NULL COMMENT '结束时间',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `period_id_index`(`period_id` ASC) USING BTREE,
    INDEX             `course_id_index`(`course_id` ASC) USING BTREE,
    INDEX             `video_id_index`(`video_id` ASC) USING BTREE,
    INDEX             `company_user_id_index`(`company_user_id` ASC) USING BTREE,
    INDEX             `company_id_index`(`company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '营期课程-销售课程时间表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_complaint_record
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_complaint_record`;
CREATE TABLE `fs_user_course_complaint_record`
(
    `record_id`         bigint NOT NULL AUTO_INCREMENT COMMENT '投诉记录id',
    `user_id`           bigint NULL DEFAULT NULL COMMENT '用户id，关联fs_user',
    `complaint_type_id` bigint NULL DEFAULT NULL COMMENT '投诉类型id',
    `complaint_content` varchar(255)   NULL DEFAULT NULL COMMENT '投诉内容',
    `complaint_url`     varchar(800)   NULL DEFAULT NULL COMMENT '投诉上传图片',
    `course_id`         bigint NULL DEFAULT NULL COMMENT '课程id',
    `video_id`          bigint NULL DEFAULT NULL COMMENT '视频小节id',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `record_status`     int NULL DEFAULT 0 COMMENT '记录状态 （0 未处理 1.已分配 2.已处理）',
    `handle_result`     varchar(255)   NULL DEFAULT NULL COMMENT '处理结果',
    PRIMARY KEY (`record_id`) USING BTREE,
    INDEX               `user_id_index`(`user_id` ASC) USING BTREE,
    INDEX               `complaint_type_id_index`(`complaint_type_id` ASC) USING BTREE,
    INDEX               `course_id_index`(`course_id` ASC) USING BTREE,
    INDEX               `video_id_index`(`video_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '看课投诉记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_complaint_type
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_complaint_type`;
CREATE TABLE `fs_user_course_complaint_type`
(
    `complaint_type_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '投诉类型id',
    `parent_id`           bigint NULL DEFAULT NULL COMMENT '父id，关联主键id',
    `complaint_type_name` varchar(50)   NULL DEFAULT NULL COMMENT '投诉类型名称',
    `type_level`          int NULL DEFAULT NULL COMMENT '级别（目前只有两级）',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`complaint_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '看课投诉类型表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_count
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_count`;
CREATE TABLE `fs_user_course_count`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '用户id',
    `watch_course_count`   int NULL DEFAULT NULL COMMENT '看课数量',
    `miss_course_count`    int NULL DEFAULT NULL COMMENT '缺课数量',
    `miss_course_status`   int NULL DEFAULT NULL COMMENT '缺课状态，1-已缺课；2-未缺课',
    `miss_course_days`     int NULL DEFAULT NULL COMMENT '缺课天数（暂时废弃）',
    `course_ids`           varchar(500)   NULL DEFAULT NULL COMMENT '关联课程（营期）id',
    `part_course_count`    varchar(255)   NULL DEFAULT NULL COMMENT '参与营期数量',
    `last_watch_date`      datetime NULL DEFAULT NULL COMMENT '最后一次看课时间',
    `status`               int NULL DEFAULT NULL COMMENT '用户状态，1-正常；2-停止；3-未看',
    `stop_watch_days`      int NULL DEFAULT NULL COMMENT '停课天数',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL COMMENT '更新时间 ',
    `create_by`            varchar(50)   NULL DEFAULT NULL,
    `update_by`            varchar(50)   NULL DEFAULT NULL,
    `complete_watch_date`  datetime NULL DEFAULT NULL COMMENT '完播时间',
    `complete_watch_count` int NULL DEFAULT NULL COMMENT '完播次数',
    `watch_times`          int NULL DEFAULT NULL COMMENT '观看次数',
    `create_date`          date NULL DEFAULT NULL COMMENT '创建日期，为了创建唯一索引',
    `project_id`           bigint NULL DEFAULT NULL COMMENT '项目id',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `user_unique_index`(`user_id` ASC, `create_date` ASC) USING BTREE,
    INDEX                  `user_id_index`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户看课统计表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_favorite
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_favorite`;
CREATE TABLE `fs_user_course_favorite`
(
    `favorite_id` bigint NOT NULL AUTO_INCREMENT COMMENT '收藏id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课程id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`favorite_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_follow
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_follow`;
CREATE TABLE `fs_user_course_follow`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '关注id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课堂id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂关注表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_like
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_like`;
CREATE TABLE `fs_user_course_like`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_id`   bigint NULL DEFAULT NULL COMMENT '课堂id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂点赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_live
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_live`;
CREATE TABLE `fs_user_course_live`
(
    `live_id`    int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `live_name`  varchar(255)   NULL DEFAULT NULL COMMENT '直播名称',
    `course_ids` varchar(255)   NULL DEFAULT NULL COMMENT '课程id',
    `company_id` int NULL DEFAULT NULL COMMENT '经销商id',
    `creat_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    `live_time`  datetime NULL DEFAULT NULL COMMENT '直播时间',
    PRIMARY KEY (`live_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_note
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_note`;
CREATE TABLE `fs_user_course_note`
(
    `note_id`      bigint NOT NULL AUTO_INCREMENT COMMENT '笔记id',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '用户id',
    `course_id`    bigint NULL DEFAULT NULL COMMENT '课堂id',
    `note_cate_id` int NULL DEFAULT NULL COMMENT '笔记分类id',
    `video_id`     bigint NULL DEFAULT NULL COMMENT '视频id',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_hot`       tinyint NULL DEFAULT NULL COMMENT '是否热门',
    `likes`        bigint NULL DEFAULT 0 COMMENT '点赞数',
    `status`       int NULL DEFAULT NULL COMMENT '状态：1：草稿，2：已发布',
    `is_show`      tinyint NULL DEFAULT NULL COMMENT '是否展示',
    `content`      varchar(2000)   NULL DEFAULT NULL COMMENT '笔记内容',
    `is_del`       tinyint NULL DEFAULT 0,
    PRIMARY KEY (`note_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂笔记表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_note_like
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_note_like`;
CREATE TABLE `fs_user_course_note_like`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `note_id`     bigint NULL DEFAULT NULL COMMENT '笔记id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂笔记点赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_note_save
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_note_save`;
CREATE TABLE `fs_user_course_note_save`
(
    `save_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `note_id`     bigint NULL DEFAULT NULL COMMENT '笔记id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`save_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂笔记保存表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_order`;
CREATE TABLE `fs_user_course_order`
(
    `order_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
    `order_code`      varchar(20)   NOT NULL COMMENT '订单号',
    `course_id`       bigint                                                 NOT NULL DEFAULT 0 COMMENT '课程ID',
    `course_name`     varchar(50)   NULL DEFAULT NULL COMMENT '课程名称',
    `course_video_id` bigint NULL DEFAULT NULL COMMENT '视频id',
    `user_id`         bigint                                                 NOT NULL COMMENT '用户id',
    `mobile`          varchar(11)   NULL DEFAULT NULL COMMENT '用户电话',
    `integral`        int NULL DEFAULT NULL COMMENT '使用积分',
    `pay_price`       decimal(11, 2) NULL DEFAULT NULL COMMENT '应付金额',
    `discount_price`  decimal(11, 2) NULL DEFAULT NULL COMMENT '优惠金额',
    `pay_money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '实付金额',
    `pay_time`        datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`        tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付方式：1线上支付，2积分兑换 ',
    `status`          tinyint NULL DEFAULT 0 COMMENT '订单状态：1待支付，2成功支付，3已评价，4退款中 5已退款',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`     datetime                                               NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_type`     int                                                    NOT NULL,
    `refund_reason`   varchar(2000)   NULL DEFAULT NULL COMMENT '退款原因',
    PRIMARY KEY (`order_id`) USING BTREE,
    UNIQUE INDEX `uk_order_no`(`order_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程订单信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_period
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_period`;
CREATE TABLE `fs_user_course_period`
(
    `period_id`               bigint NOT NULL AUTO_INCREMENT COMMENT '营期id',
    `period_name`             varchar(50)   NULL DEFAULT NULL COMMENT '营期名称',
    `company_id`              varchar(255)   NULL DEFAULT NULL COMMENT '公司id',
    `training_camp_id`        bigint NULL DEFAULT NULL COMMENT '训练营id',
    `create_time`             datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '修改时间',
    `course_style`            varchar(255)   NULL DEFAULT NULL COMMENT '课程风格url',
    `live_room_style`         varchar(255)   NULL DEFAULT NULL COMMENT '直播间风格url',
    `red_packet_grant_method` int NULL DEFAULT NULL COMMENT '红包发放方式，1-按课程，每个课程可得一个；2-按营期，每个营期可得一个',
    `period_type`             int NULL DEFAULT NULL COMMENT '营期类型，1-多课程营期；2-单课程营期',
    `period_starting_time`    date NULL DEFAULT NULL COMMENT '开营日期-开始时间',
    `period_end_time`         date NULL DEFAULT NULL COMMENT '开营日期-结束时间',
    `period_status`           int NULL DEFAULT 1 COMMENT '营期状态，1-未开始，2-进行中，3-已结束',
    `view_start_time`         time NULL DEFAULT NULL COMMENT '开始看课时间（暂弃）',
    `view_end_time`           time NULL DEFAULT NULL COMMENT '结束看课时间（暂弃）',
    `last_join_time`          time NULL DEFAULT NULL COMMENT '领取红包结束时间（暂弃）',
    `max_view_num`            int NULL DEFAULT 0 COMMENT '最可查看天数',
    `open_comment_status`     int NULL DEFAULT NULL COMMENT '开启评论或者弹幕，1-开启评论；2-开启弹幕；3-都关闭',
    `course_logo`             varchar(100)   NULL DEFAULT '' COMMENT '开启评论或者弹幕',
    `del_flag`                char(2)   NULL DEFAULT '0' COMMENT '删除状态0、正常，1、已删除',
    `period_line`             date NULL DEFAULT NULL COMMENT '营期线，即营期首次播放课程的日期',
    `course_id`               bigint NULL DEFAULT NULL COMMENT '课程ID',
    `free_mode`               int NULL DEFAULT 0 COMMENT '自由学习模式，0-未开启，1-开启（开启后学员不受',
    `is_need_register_member` varchar(255)   NULL DEFAULT '0' COMMENT '是否单独注册会员的绑定公司，存在就是开启，不存在就是关闭',
    `is_open_rest_flag`       varchar(1024)   NULL DEFAULT NULL COMMENT '控制休息提示是否打开要暂停  0-关闭 1-打开 Json串 key值为companyId',
    PRIMARY KEY (`period_id`) USING BTREE,
    INDEX                     `idx_camp`(`training_camp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员营期表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_period_company
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_period_company`;
CREATE TABLE `fs_user_course_period_company`
(
    `id`                       bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `period_id`                bigint NOT NULL COMMENT '营期ID',
    `company_id`               bigint NOT NULL COMMENT '公司ID',
    `open_red_packet`          tinyint(1) NULL DEFAULT 1 COMMENT '是否开启红包 0关闭 1开启',
    `open_registration_switch` int NULL DEFAULT 0 COMMENT '是否开启注册链接 0关闭 1开启',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_period_company`(`period_id` ASC, `company_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '营期公司关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_period_copy1
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_period_copy1`;
CREATE TABLE `fs_user_course_period_copy1`
(
    `period_id`               bigint NOT NULL AUTO_INCREMENT COMMENT '营期id',
    `period_name`             varchar(50)   NULL DEFAULT NULL COMMENT '营期名称',
    `company_id`              varchar(255)   NULL DEFAULT NULL COMMENT '公司id',
    `training_camp_id`        bigint NULL DEFAULT NULL COMMENT '训练营id',
    `create_time`             datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '修改时间',
    `course_style`            varchar(255)   NULL DEFAULT NULL COMMENT '课程风格url',
    `live_room_style`         varchar(255)   NULL DEFAULT NULL COMMENT '直播间风格url',
    `red_packet_grant_method` int NULL DEFAULT NULL COMMENT '红包发放方式，1-按课程，每个课程可得一个；2-按营期，每个营期可得一个',
    `period_type`             int NULL DEFAULT NULL COMMENT '营期类型，1-多课程营期；2-单课程营期',
    `period_starting_time`    date NULL DEFAULT NULL COMMENT '开营日期-开始时间',
    `period_end_time`         date NULL DEFAULT NULL COMMENT '开营日期-结束时间',
    `period_status`           int NULL DEFAULT 1 COMMENT '营期状态，1-未开始，2-进行中，3-已结束',
    `view_start_time`         time NULL DEFAULT NULL COMMENT '开始看课时间（暂弃）',
    `view_end_time`           time NULL DEFAULT NULL COMMENT '结束看课时间（暂弃）',
    `last_join_time`          time NULL DEFAULT NULL COMMENT '领取红包结束时间（暂弃）',
    `max_view_num`            int NULL DEFAULT 0 COMMENT '最可查看天数',
    `course_logo`             varchar(255)   NULL DEFAULT NULL COMMENT '课程logo',
    `open_comment_status`     int NULL DEFAULT NULL COMMENT '开启评论或者弹幕，1-开启评论；2-开启弹幕；3-都关闭',
    PRIMARY KEY (`period_id`) USING BTREE,
    INDEX                     `idx_camp`(`training_camp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员营期表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_period_days
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_period_days`;
CREATE TABLE `fs_user_course_period_days`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `period_id`           bigint NULL DEFAULT NULL COMMENT '营期ID',
    `lesson`              int NULL DEFAULT NULL COMMENT '第几节课',
    `day_date`            date NULL DEFAULT NULL COMMENT '日期',
    `start_date_time`     datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_date_time`       datetime NULL DEFAULT NULL COMMENT '结束时间',
    `last_join_time`      datetime NULL DEFAULT NULL COMMENT '领取红包结束时间',
    `course_id`           bigint NULL DEFAULT NULL COMMENT '课程ID',
    `video_id`            bigint NULL DEFAULT NULL COMMENT '视频ID',
    `money`               decimal(10, 2) NULL DEFAULT NULL COMMENT '红包金额',
    `status`              int NULL DEFAULT 0 COMMENT '开课状态;0未开始1一开始2已结束',
    `create_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`           bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`           bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`              varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `del_flag`            char(2)   NULL DEFAULT '0' COMMENT '删除状态0、正常，1、已删除',
    `registration_switch` int NULL DEFAULT 0 COMMENT '会员注册开关 0 未注册  1.已注册',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `index_video_id`(`video_id` ASC) USING BTREE,
    INDEX                 `index_del_flag`(`del_flag` ASC) USING BTREE,
    INDEX                 `index_period_id`(`period_id` ASC) USING BTREE,
    INDEX                 `index_course_id`(`course_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '营期课程' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_period_days_copy1
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_period_days_copy1`;
CREATE TABLE `fs_user_course_period_days_copy1`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `period_id`       bigint NULL DEFAULT NULL COMMENT '营期ID',
    `lesson`          int NULL DEFAULT NULL COMMENT '第几节课',
    `day_date`        date NULL DEFAULT NULL COMMENT '日期',
    `start_date_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_date_time`   datetime NULL DEFAULT NULL COMMENT '结束时间',
    `last_join_time`  datetime NULL DEFAULT NULL COMMENT '领取红包结束时间',
    `course_id`       bigint NULL DEFAULT NULL COMMENT '课程ID',
    `video_id`        bigint NULL DEFAULT NULL COMMENT '视频ID',
    `money`           decimal(10, 2) NULL DEFAULT NULL COMMENT '红包金额',
    `status`          int NULL DEFAULT 0 COMMENT '开课状态;0未开始1一开始2已结束',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '营期课程' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_study
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_study`;
CREATE TABLE `fs_user_course_study`
(
    `study_id`     bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
    `video_id`     bigint NULL DEFAULT NULL COMMENT '视频id',
    `course_id`    bigint   NOT NULL DEFAULT 0 COMMENT '课程ID',
    `user_id`      bigint   NOT NULL COMMENT '用户ID',
    `period_total` int      NOT NULL DEFAULT 0 COMMENT '总课时数',
    `period_study` int      NOT NULL DEFAULT 0 COMMENT '已学习课时数',
    `status`       tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1待学习，2正在学习 、3已结课)',
    `sort`         int      NOT NULL DEFAULT 1 COMMENT '排序',
    `create_time`  datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`  datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `is_exam`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`study_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程用户关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_study_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_study_log`;
CREATE TABLE `fs_user_course_study_log`
(
    `log_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
    `course_id`     bigint NULL DEFAULT NULL COMMENT '课程id',
    `course_name`   varchar(255)   NULL DEFAULT NULL COMMENT '课程名称',
    `video_id`      bigint NULL DEFAULT 0 COMMENT '视频id',
    `video_name`    varchar(255)   NULL DEFAULT NULL COMMENT '视频名称',
    `user_id`       bigint NULL DEFAULT 0 COMMENT '用户id',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `study_id`      bigint NULL DEFAULT NULL,
    `times`         bigint NULL DEFAULT 0 COMMENT '学时 秒',
    `rate`          smallint NULL DEFAULT 0 COMMENT '百分比',
    `current_times` bigint NULL DEFAULT 0 COMMENT '当前观看时间点 秒',
    `is_buy`        int NULL DEFAULT 0,
    `status`        int NULL DEFAULT 0,
    `total_times`   bigint NULL DEFAULT 0 COMMENT '累计观看时长',
    PRIMARY KEY (`log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程用户学习日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_training_camp
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_training_camp`;
CREATE TABLE `fs_user_course_training_camp`
(
    `training_camp_id`   bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `training_camp_name` varchar(50)   NULL DEFAULT NULL COMMENT '训练营名称',
    `order_number`       int NULL DEFAULT NULL COMMENT '序号',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `del_flag`           char(2)   NULL DEFAULT '0' COMMENT '删除状态0、正常，1、已删除',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    PRIMARY KEY (`training_camp_id`) USING BTREE,
    INDEX                `idx_sort`(`order_number` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员训练营表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_video
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_video`;
CREATE TABLE `fs_user_course_video`
(
    `video_id`                bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `file_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '腾讯文件id',
    `title`                   varchar(255)   NULL DEFAULT NULL COMMENT '视频标题',
    `description`             text   NULL COMMENT '视频描述',
    `video_url`               varchar(255)   NULL DEFAULT NULL COMMENT '视频URL',
    `thumbnail`               varchar(255)   NULL DEFAULT NULL COMMENT '视频缩略图',
    `duration`                int NULL DEFAULT NULL COMMENT '视频时长',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `talent_id`               bigint NULL DEFAULT NULL COMMENT '达人id',
    `course_id`               bigint NULL DEFAULT NULL COMMENT '课程ID',
    `status`                  int NULL DEFAULT NULL COMMENT '视频状态 1：草稿，2：待审核，3：发布',
    `course_sort`             bigint NULL DEFAULT NULL COMMENT '课程排序',
    `file_name`               varchar(255)   NULL DEFAULT NULL COMMENT '视频文件名',
    `is_del`                  tinyint NULL DEFAULT 0,
    `question_bank_id`        varchar(255)   NULL DEFAULT NULL COMMENT '课题数组',
    `answer_rate`             int NULL DEFAULT NULL COMMENT '可答题进度百分比',
    `line_one`                varchar(255)   NULL DEFAULT NULL COMMENT '线路1 腾讯云pcdn',
    `line_two`                varchar(255)   NULL DEFAULT NULL COMMENT '线路2 电信',
    `line_three`              varchar(255)   NULL DEFAULT NULL COMMENT '线路3 华为云obs',
    `upload_type`             int NULL DEFAULT NULL COMMENT '上传类型',
    `red_packet_money`        varchar(255)   NULL DEFAULT '0.0',
    `random_red_packet_rules` longtext   NULL COMMENT '随机红包配置',
    `file_size`               bigint NULL DEFAULT NULL COMMENT '文件大小  字节',
    `file_key`                varchar(255)   NULL DEFAULT NULL COMMENT '文件key',
    `round`                   varchar(255)   NULL DEFAULT NULL COMMENT '轮次',
    `package_json`            varchar(1000)   NULL DEFAULT NULL COMMENT '套餐包 弹出时间',
    `is_transcode`            tinyint NULL DEFAULT 0 COMMENT '是否转码',
    `transcode_file_key`      varchar(255)   NULL DEFAULT NULL COMMENT '转码文件key',
    `is_first`                tinyint NULL DEFAULT 0 COMMENT '是否先导课',
    `view_start_time`         time NULL DEFAULT NULL COMMENT '开始看课时间',
    `view_end_time`           time NULL DEFAULT NULL COMMENT '结束看课时间',
    `last_join_time`          time NULL DEFAULT NULL COMMENT '领取红包结束时间',
    `is_product`              tinyint NULL DEFAULT 0 COMMENT '是否关联商品 0不关联 1关联',
    `product_id`              bigint NULL DEFAULT NULL COMMENT '商品id',
    `listing_start_time`      bigint NULL DEFAULT NULL COMMENT '商品售卖时间',
    `listing_end_time`        bigint NULL DEFAULT NULL COMMENT '商品结束售卖时间',
    `project_id`              bigint NULL DEFAULT NULL COMMENT '项目ID',
    `user_id`                 bigint NULL DEFAULT NULL COMMENT '用户id',
    `watching_tag_id`         varchar(200)   NULL DEFAULT NULL COMMENT '看课中标签ID',
    `watched_tag_id`          varchar(200)   NULL DEFAULT NULL COMMENT '完课标签ID',
    `tag_group_id`            varchar(200)   NULL DEFAULT NULL COMMENT '标签组ID',
    `tg_id`                   bigint NULL DEFAULT NULL COMMENT '标签组表中的ID',
    `watching_tg_id`          bigint NULL DEFAULT NULL COMMENT '看课标签中表中的ID',
    `watched_tg_id`           bigint NULL DEFAULT NULL COMMENT '完课标签表中的ID',
    `fast_forward_flag`       tinyint NULL DEFAULT 0 COMMENT '是否允许快进标志(0-不允许,1-允许)',
    `is_speed`                tinyint NULL DEFAULT 0 COMMENT '是否启用倍速（0：否；1：是）',
    `is_on_put`               tinyint NULL DEFAULT 0 COMMENT '是否上架（0-上架,1-下架）',
    `job_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '火山云jobId',
    `vid`                     varchar(255)   NULL DEFAULT NULL COMMENT '火山云vid',
    `is_pause`                tinyint NULL DEFAULT 0 COMMENT '是否暂停',
    `ai_video_title`          varchar(255)   NULL DEFAULT NULL COMMENT 'AI识别视频标题',
    `note`                    text   NULL COMMENT '课堂笔记',
    `remark`                  varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`video_id`) USING BTREE,
    INDEX                     `video_id`(`video_id` ASC, `is_first` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_video_red_package
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_video_red_package`;
CREATE TABLE `fs_user_course_video_red_package`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `video_id`         bigint NULL DEFAULT NULL COMMENT '课程id',
    `red_packet_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '红包价格',
    `period_id`        bigint NULL DEFAULT 0 COMMENT '营期ID',
    `data_type`        int NULL DEFAULT 1 COMMENT '类型，1-课程；2-营期；3-sop模板',
    `rule_id`          bigint NULL DEFAULT 0 COMMENT 'SOP规则ID',
    `del_flag`         char(2)   NULL DEFAULT '0' COMMENT '删除状态0、正常，1、已删除',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_company_video`(`company_id` ASC, `video_id` ASC, `data_type` ASC, `period_id` ASC, `rule_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课程公司红包表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_course_video_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_course_video_task`;
CREATE TABLE `fs_user_course_video_task`
(
    `id`                      bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `video_id`                bigint UNSIGNED NOT NULL COMMENT 'video_id',
    `file_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '腾讯文件id',
    `title`                   varchar(255)   NULL DEFAULT NULL COMMENT '视频标题',
    `description`             text   NULL COMMENT '视频描述',
    `video_url`               varchar(255)   NULL DEFAULT NULL COMMENT '视频URL',
    `thumbnail`               varchar(255)   NULL DEFAULT NULL COMMENT '视频缩略图',
    `duration`                int NULL DEFAULT NULL COMMENT '视频时长',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `talent_id`               bigint NULL DEFAULT NULL COMMENT '达人id',
    `course_id`               bigint NULL DEFAULT NULL COMMENT '课程ID',
    `status`                  int NULL DEFAULT NULL COMMENT '视频状态 1：草稿，2：待审核，3：发布',
    `course_sort`             bigint NULL DEFAULT NULL COMMENT '课程排序',
    `file_name`               varchar(255)   NULL DEFAULT NULL COMMENT '视频文件名',
    `is_del`                  tinyint NULL DEFAULT 0,
    `question_bank_id`        varchar(255)   NULL DEFAULT NULL COMMENT '课题数组',
    `answer_rate`             int NULL DEFAULT NULL COMMENT '可答题进度百分比',
    `line_one`                varchar(255)   NULL DEFAULT NULL COMMENT '线路1 腾讯云pcdn',
    `line_two`                varchar(255)   NULL DEFAULT NULL COMMENT '线路2 电信',
    `line_three`              varchar(255)   NULL DEFAULT NULL COMMENT '线路3 华为云obs',
    `upload_type`             int NULL DEFAULT NULL COMMENT '上传类型',
    `red_packet_money`        varchar(255)   NULL DEFAULT '0.1',
    `random_red_packet_rules` longtext   NULL COMMENT '随机红包配置',
    `file_size`               bigint NULL DEFAULT NULL COMMENT '文件大小  字节',
    `file_key`                varchar(255)   NULL DEFAULT NULL COMMENT '文件key',
    `round`                   varchar(255)   NULL DEFAULT NULL COMMENT '轮次',
    `package_json`            varchar(1000)   NULL DEFAULT NULL COMMENT '套餐包 弹出时间',
    `is_transcode`            tinyint NULL DEFAULT 0 COMMENT '是否转码',
    `transcode_file_key`      varchar(255)   NULL DEFAULT NULL COMMENT '转码文件key',
    `is_first`                tinyint NULL DEFAULT 0 COMMENT '是否先导课',
    `view_start_time`         time NULL DEFAULT NULL COMMENT '开始看课时间',
    `view_end_time`           time NULL DEFAULT NULL COMMENT '结束看课时间',
    `last_join_time`          time NULL DEFAULT NULL COMMENT '领取红包结束时间',
    `is_product`              tinyint NULL DEFAULT 0 COMMENT '是否关联商品 0不关联 1关联',
    `product_id`              bigint NULL DEFAULT NULL COMMENT '商品id',
    `listing_start_time`      bigint NULL DEFAULT NULL COMMENT '商品售卖时间',
    `listing_end_time`        bigint NULL DEFAULT NULL COMMENT '商品结束售卖时间',
    `project_id`              bigint NULL DEFAULT NULL COMMENT '项目ID',
    `user_id`                 bigint NULL DEFAULT NULL COMMENT '用户id',
    `watching_tag_id`         varchar(200)   NULL DEFAULT NULL COMMENT '看课中标签ID',
    `watched_tag_id`          varchar(200)   NULL DEFAULT NULL COMMENT '完课标签ID',
    `tag_group_id`            varchar(200)   NULL DEFAULT NULL COMMENT '标签组ID',
    `tg_id`                   bigint NULL DEFAULT NULL COMMENT '标签组表中的ID',
    `watching_tg_id`          bigint NULL DEFAULT NULL COMMENT '看课标签中表中的ID',
    `watched_tg_id`           bigint NULL DEFAULT NULL COMMENT '完课标签表中的ID',
    `fast_forward_flag`       tinyint NULL DEFAULT 0 COMMENT '是否允许快进标志(0-不允许,1-允许)',
    `is_speed`                tinyint NULL DEFAULT 0 COMMENT '是否启用倍速（0：否；1：是）',
    `is_on_put`               tinyint NULL DEFAULT 0 COMMENT '是否上架（0-上架,1-下架）',
    `job_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '火山云jobId',
    `vid`                     varchar(255)   NULL DEFAULT NULL COMMENT '火山云vid',
    `is_pause`                tinyint NULL DEFAULT 0 COMMENT '是否暂停',
    `ai_video_title`          varchar(255)   NULL DEFAULT NULL COMMENT 'AI识别视频标题',
    `note`                    text   NULL COMMENT '课堂笔记',
    `remark`                  varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `release_status`          int NULL DEFAULT 1 COMMENT '发布状态 1：待发布，2：已发布，3：已作废',
    `task_create_time`        datetime NOT NULL COMMENT '任务创建时间',
    `plan_release_time`       datetime NOT NULL COMMENT '计划发布时间',
    `release_time`            datetime NULL DEFAULT NULL COMMENT '实际发布时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                     `video_id`(`video_id` ASC, `is_first` ASC) USING BTREE,
    INDEX                     `idx_release_status`(`release_status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_doctor
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_doctor`;
CREATE TABLE `fs_user_doctor`
(
    `id`        bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `doctor_id` bigint NULL DEFAULT NULL COMMENT '医生ID',
    `user_id`   bigint NULL DEFAULT NULL COMMENT '会员ID',
    `type`      tinyint(1) NULL DEFAULT NULL COMMENT '类型 1关注，2签约',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员医生表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_extract
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_extract`;
CREATE TABLE `fs_user_extract`
(
    `extract_id`     bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`        bigint UNSIGNED NULL DEFAULT NULL COMMENT 'userID',
    `extract_type`   varchar(32)   NULL DEFAULT 'bank' COMMENT 'bank = 银行卡 alipay = 支付宝 weixin=微信',
    `user_name`      varchar(200)   NULL DEFAULT NULL COMMENT '用户姓名',
    `phone`          varchar(20)   NULL DEFAULT NULL COMMENT '联系电话',
    `bank_no`        varchar(32)   NULL DEFAULT '0' COMMENT '银行卡',
    `bank_name`      varchar(256)   NULL DEFAULT '' COMMENT '开户行',
    `bank_sub_name`  varchar(256)   NULL DEFAULT NULL COMMENT '支行',
    `alipay_name`    varchar(50)   NULL DEFAULT NULL COMMENT '支付宝姓名',
    `alipay_account` varchar(64)   NULL DEFAULT '' COMMENT '支付宝账号',
    `wechat`         varchar(15)   NULL DEFAULT NULL COMMENT '微信号',
    `extract_price`  decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '提现金额',
    `balance`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00,
    `fail_msg`       varchar(128)   NULL DEFAULT NULL COMMENT '无效原因',
    `fail_time`      datetime NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time`    datetime NULL DEFAULT NULL,
    `status`         tinyint NULL DEFAULT 0 COMMENT '-1 未通过 0 审核中 1 已提现',
    `remark`         varchar(512)   NULL DEFAULT NULL,
    `is_del`         tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`extract_id`) USING BTREE,
    INDEX            `extract_type`(`extract_type` ASC) USING BTREE,
    INDEX            `status`(`status` ASC) USING BTREE,
    INDEX            `add_time`(`create_time` ASC) USING BTREE,
    INDEX            `openid`(`user_id` ASC) USING BTREE,
    INDEX            `fail_time`(`fail_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '提现表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_information_collection
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_information_collection`;
CREATE TABLE `fs_user_information_collection`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `question_id`         bigint NULL DEFAULT NULL COMMENT '问答id',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户id',
    `json_info`           text   NULL COMMENT '信息采集json数据',
    `user_confirm`        tinyint(1) NULL DEFAULT 0 COMMENT '用户确认状态 0-未确认 1-已确认',
    `doctor_confirm`      tinyint(1) NULL DEFAULT 0 COMMENT '医生确认状态 0-未确认 1-已确认',
    `create_time`         datetime NULL DEFAULT NULL,
    `update_time`         datetime NULL DEFAULT NULL,
    `doctor_id`           bigint NULL DEFAULT NULL COMMENT '医生id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '销售id',
    `package_id`          bigint NULL DEFAULT NULL COMMENT '套餐包id',
    `pay_type`            tinyint(1) NULL DEFAULT NULL COMMENT '付款方式 1-全款 2-货到付款',
    `amount`              decimal(10, 2) NULL DEFAULT NULL COMMENT '物流代收金额',
    `user_advice`         varchar(2000)   NULL DEFAULT NULL COMMENT '用户补充说明',
    `doctor_advice`       varchar(2000)   NULL DEFAULT NULL COMMENT '医生建议',
    `doctor_sign`         varchar(255)   NULL DEFAULT NULL COMMENT '医生签名',
    `is_package`          tinyint(1) NULL DEFAULT 0 COMMENT '是否关联套餐包 0否 1是',
    `user_confirm2`       tinyint(1) NULL DEFAULT 0 COMMENT '用户第二次确认 0-未确认 1-已确认',
    `package_order_id`    bigint NULL DEFAULT NULL COMMENT '订单id',
    `package_order_code`  varchar(255)   NULL DEFAULT NULL COMMENT '套餐包订单号',
    `status`              tinyint(1) NULL DEFAULT 1 COMMENT '确认状态 1第一次确认 2第二次确认',
    `doctor_confirm_time` datetime NULL DEFAULT NULL COMMENT '医生确认时间',
    `sex`                 int NULL DEFAULT NULL COMMENT '用户性别 0女 1男',
    `user_name`           varchar(255)   NULL DEFAULT NULL COMMENT '用户姓名',
    `user_phone_four`     varchar(255)   NULL DEFAULT NULL COMMENT '用户电话后四位',
    `allergy`             varchar(255)   NULL DEFAULT NULL COMMENT '是否过敏',
    `remark`              varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `patient_id`          bigint NULL DEFAULT NULL COMMENT '就诊人id',
    `store_order_id`      bigint NULL DEFAULT NULL COMMENT '药品订单id',
    `user_confirm_time`   datetime NULL DEFAULT NULL COMMENT '用户确认时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户信息采集' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_information_collection_copy1
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_information_collection_copy1`;
CREATE TABLE `fs_user_information_collection_copy1`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT,
    `question_id`        bigint NULL DEFAULT NULL COMMENT '问答id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `json_info`          text   NULL COMMENT '信息采集json数据',
    `user_confirm`       tinyint(1) NULL DEFAULT 0 COMMENT '用户确认状态 0-未确认 1-已确认',
    `doctor_confirm`     tinyint(1) NULL DEFAULT 0 COMMENT '医生确认状态 0-未确认 2-已确认',
    `create_time`        datetime NULL DEFAULT NULL,
    `update_time`        datetime NULL DEFAULT NULL,
    `doctor_id`          bigint NULL DEFAULT NULL COMMENT '医生id',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '销售id',
    `package_id`         bigint NULL DEFAULT NULL COMMENT '套餐包id',
    `pay_type`           tinyint(1) NULL DEFAULT NULL COMMENT '付款方式 1-全款 2-货到付款',
    `amount`             decimal(10, 2) NULL DEFAULT NULL COMMENT '物流代收金额',
    `user_advice`        varchar(2000)   NULL DEFAULT NULL COMMENT '用户补充说明',
    `doctor_advice`      varchar(2000)   NULL DEFAULT NULL COMMENT '医生建议',
    `is_package`         tinyint(1) NULL DEFAULT 0 COMMENT '是否关联套餐包 0否 1是',
    `user_confirm2`      tinyint(1) NULL DEFAULT NULL COMMENT '用户第二次确认 0-未确认 1-已确认',
    `package_order_code` varchar(255)   NULL DEFAULT NULL COMMENT '套餐包订单号',
    `status`             tinyint(1) NULL DEFAULT 1 COMMENT '确认状态 1第一次确认 2第二次确认',
    `inquiry_order_id`   bigint NULL DEFAULT NULL COMMENT '问诊订单id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户信息采集' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_information_collection_schedule
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_information_collection_schedule`;
CREATE TABLE `fs_user_information_collection_schedule`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `collection_id`   bigint NULL DEFAULT NULL COMMENT '用户信息采集表id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `doctor_id`       bigint NULL DEFAULT NULL COMMENT '医生id',
    `package_id`      bigint NULL DEFAULT NULL COMMENT '套餐包Id',
    `package_name`    varchar(255)   NULL DEFAULT NULL COMMENT '挂载商品名称',
    `current_step`    int NULL DEFAULT NULL COMMENT '当前流程节点:(1:待用户第一次确认、2：待开方、3：待药师审核、4：待建议、5：待用户二次确认、6：已完成)；其中带疗法模式有1，2，3，5，6；无疗法模式只有1，4，5，6',
    `status`          int NULL DEFAULT NULL COMMENT '整体任务状态：1-进行中，2-已完成，3-已中止',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `completed_time`  datetime NULL DEFAULT NULL COMMENT '完成时间',
    `terminated_time` datetime NULL DEFAULT NULL COMMENT '中止时间',
    `terminated_by`   bigint NULL DEFAULT NULL COMMENT '中止操作人id',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注（如中止原因）',
    `order_code`      varchar(32)   NULL DEFAULT NULL COMMENT '订单号(医生确认处方时添加)',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户信息采集进度' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_integral_logs
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_integral_logs`;
CREATE TABLE `fs_user_integral_logs`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`       bigint NULL DEFAULT NULL COMMENT '用户id',
    `log_type`      tinyint(1) NULL DEFAULT NULL COMMENT '1问诊订单积分 2药品订单积分',
    `integral`      int NULL DEFAULT NULL COMMENT '积分 正数表示增加积分，负数表示减少积分',
    `balance`       int NULL DEFAULT NULL COMMENT '积分余额',
    `business_id`   varchar(255)   NULL DEFAULT NULL COMMENT '订单关联id',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `business_type` int NULL DEFAULT NULL,
    `status`        tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `index_log_type`(`log_type` ASC) USING BTREE COMMENT '记录类型索引',
    INDEX           `index_user_id`(`user_id` ASC) USING BTREE COMMENT 'userId索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '积分记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_invited
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_invited`;
CREATE TABLE `fs_user_invited`
(
    `id`              bigint   NOT NULL AUTO_INCREMENT,
    `user_id`         bigint   NOT NULL DEFAULT 0 COMMENT '用户uid',
    `invited_user_id` bigint   NOT NULL DEFAULT 0 COMMENT '被邀请用户uid',
    `create_time`     datetime NOT NULL COMMENT '添加时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`          tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `uid`(`user_id` ASC) USING BTREE,
    INDEX             `iuid`(`invited_user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户填写邀请码记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_login_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_login_log`;
CREATE TABLE `fs_user_login_log`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `ma_open_id`         varchar(50)   NULL DEFAULT NULL COMMENT 'openId',
    `phone`              varchar(50)   NULL DEFAULT NULL COMMENT '用户手机号',
    `status`             int NULL DEFAULT NULL COMMENT '状态 1授权成功',
    `code`               varchar(255)   NULL DEFAULT NULL COMMENT '授权码',
    `login_json`         varchar(500)   NULL DEFAULT NULL,
    `user_register_json` longtext   NULL COMMENT '用户授权协议内容',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '授权时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户授权登录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_new_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_new_task`;
CREATE TABLE `fs_user_new_task`
(
    `task_id`     bigint   NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`     bigint   NOT NULL COMMENT '用户id',
    `create_time` datetime NOT NULL COMMENT 'app首次登录时间',
    `task_one`    tinyint NULL DEFAULT 0 COMMENT '任务一完成情况',
    `task_two`    tinyint NULL DEFAULT 0 COMMENT '任务二完成情况',
    `task_three`  tinyint NULL DEFAULT 0 COMMENT '任务三完成情况',
    PRIMARY KEY (`task_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户新手任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_online_state
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_online_state`;
CREATE TABLE `fs_user_online_state`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `nickname`           varchar(100)   NULL DEFAULT NULL COMMENT '用户昵称',
    `avatar`             varchar(256)   NULL DEFAULT NULL COMMENT '用户头像',
    `phone`              varbinary(50) NULL DEFAULT NULL COMMENT '手机号码',
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户注册时间',
    `ma_open_id`         varchar(50)   NULL DEFAULT NULL COMMENT '微信小程序OPENID',
    `mp_open_id`         varchar(50)   NULL DEFAULT NULL COMMENT '微信公众号OPENID',
    `union_id`           varchar(50)   NULL DEFAULT NULL COMMENT '关联ID',
    `status`             tinyint(1) NULL DEFAULT NULL COMMENT '用户状态，1-正常，0-禁止',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_name`       varchar(255)   NULL DEFAULT NULL COMMENT '公司名称',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_user_name`  varchar(255)   NULL DEFAULT NULL COMMENT '销售名称',
    `online_status`      tinyint NULL DEFAULT NULL COMMENT '上线状态，1-已上线；2-未上线',
    `online_time`        datetime NULL DEFAULT NULL COMMENT '上线时间（第一次看课的时间）',
    `watch_course_count` int NULL DEFAULT NULL COMMENT '看课数量',
    `part_course_count`  int NULL DEFAULT NULL COMMENT '参与营期数量',
    `last_watch_date`    datetime NULL DEFAULT NULL COMMENT '最后一次看课时间',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `userId_unique`(`user_id` ASC) USING BTREE COMMENT '用户id唯一键'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户上线情况表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log`;
CREATE TABLE `fs_user_operation_log`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_0
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_0`;
CREATE TABLE `fs_user_operation_log_0`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_1
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_1`;
CREATE TABLE `fs_user_operation_log_1`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_2
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_2`;
CREATE TABLE `fs_user_operation_log_2`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_3
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_3`;
CREATE TABLE `fs_user_operation_log_3`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_4
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_4`;
CREATE TABLE `fs_user_operation_log_4`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_5
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_5`;
CREATE TABLE `fs_user_operation_log_5`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_6
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_6`;
CREATE TABLE `fs_user_operation_log_6`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_7
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_7`;
CREATE TABLE `fs_user_operation_log_7`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_8
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_8`;
CREATE TABLE `fs_user_operation_log_8`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_operation_log_9
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_operation_log_9`;
CREATE TABLE `fs_user_operation_log_9`
(
    `log_id`         bigint                                                       NOT NULL AUTO_INCREMENT,
    `user_id`        bigint                                                       NOT NULL COMMENT '用户id',
    `operation_type` varchar(32)   NOT NULL COMMENT '操作类型',
    `create_time`    datetime                                                     NOT NULL COMMENT '操作时间',
    `details`        varchar(255)   NULL DEFAULT NULL COMMENT '详情',
    `param`          text   NULL COMMENT '参数',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX            `user_id`(`user_id` ASC) USING BTREE,
    INDEX            `operation_type`(`operation_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户操作日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_pop
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_pop`;
CREATE TABLE `fs_user_pop`
(
    `id`          bigint   NOT NULL AUTO_INCREMENT,
    `user_id`     bigint   NOT NULL COMMENT '用户id',
    `choose`      tinyint NULL DEFAULT NULL COMMENT '1:付邮费领取 2:加粉领取',
    `order_id`    bigint NULL DEFAULT NULL COMMENT '订单id',
    `update_time` datetime NULL DEFAULT NULL,
    `create_time` datetime NOT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `user_id`(`user_id` ASC) USING BTREE,
    INDEX         `create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户礼品弹窗记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_project_tag
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_project_tag`;
CREATE TABLE `fs_user_project_tag`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_company_user_id` bigint NULL DEFAULT NULL COMMENT '用户项目ID',
    `tag_id`               bigint NULL DEFAULT NULL COMMENT '标签ID',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `idx_user_company_user_id`(`user_company_user_id` ASC) USING BTREE,
    INDEX                  `idx_tag_id`(`tag_id` ASC) USING BTREE,
    INDEX                  `idx_fs_user_project_tag_user`(`user_company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户项目标签表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_promoter_apply
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_promoter_apply`;
CREATE TABLE `fs_user_promoter_apply`
(
    `apply_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '会员ID',
    `content_json` longtext   NULL COMMENT '提交内容',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`apply_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '推广员申请表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_recharge
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_recharge`;
CREATE TABLE `fs_user_recharge`
(
    `recharge_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '会员ID',
    `money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `free_money`  decimal(11, 2) NULL DEFAULT NULL COMMENT '增送金额',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `pay_time`    datetime NULL DEFAULT NULL COMMENT '支付时间',
    `is_pay`      tinyint(1) NULL DEFAULT 0 COMMENT '是否支付',
    `trade_no`    varchar(50)   NULL DEFAULT NULL COMMENT '外部订单号',
    PRIMARY KEY (`recharge_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '会员充值表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_sign
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_sign`;
CREATE TABLE `fs_user_sign`
(
    `id`          bigint                                                  NOT NULL AUTO_INCREMENT,
    `user_id`     bigint                                                  NOT NULL DEFAULT 0 COMMENT '用户uid',
    `title`       varchar(255)   NOT NULL DEFAULT '' COMMENT '签到说明',
    `number`      int                                                     NOT NULL DEFAULT 0 COMMENT '获得积分',
    `balance`     int                                                     NOT NULL DEFAULT 0 COMMENT '剩余积分',
    `create_time` datetime                                                NOT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `uid`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '签到记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_talent
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_talent`;
CREATE TABLE `fs_user_talent`
(
    `talent_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '达人id',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '所属用户',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '更新时间',
    `nick_name`          varchar(255)   NULL DEFAULT NULL COMMENT '昵称',
    `phone`              varchar(255)   NULL DEFAULT NULL COMMENT '电话',
    `avatar`             varchar(2000)   NULL DEFAULT NULL COMMENT '头像',
    `title`              varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `sex`                int NULL DEFAULT NULL COMMENT '性别',
    `birth_day`          varchar(255)   NULL DEFAULT NULL COMMENT '生日',
    `address`            varchar(255)   NULL DEFAULT NULL COMMENT '位置',
    `tags`               varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `level`              int NULL DEFAULT NULL COMMENT '达人等级',
    `talent_type`        varchar(255)   NULL DEFAULT NULL COMMENT '达人类别1:普通达人2:带货达人',
    `fans`               bigint NULL DEFAULT NULL COMMENT '粉丝数',
    `likes`              bigint NULL DEFAULT NULL COMMENT '获赞数',
    `is_del`             tinyint NULL DEFAULT NULL COMMENT '删除标志',
    `tiktok_link`        varchar(2000)   NULL DEFAULT NULL COMMENT '抖音链接',
    `kwai_link`          varchar(2000)   NULL DEFAULT NULL COMMENT '快手链接',
    `is_audit`           int NULL DEFAULT 0 COMMENT '是否审核',
    `audit_time`         datetime NULL DEFAULT NULL COMMENT '审核时间',
    `certificate_code`   varchar(255)   NULL DEFAULT NULL COMMENT '证书编号',
    `certificate_images` varchar(2000)   NULL DEFAULT NULL COMMENT '证书图片',
    `balance`            decimal(10, 2) NULL DEFAULT 0.00 COMMENT '余额',
    `total_money`        decimal(10, 2) NULL DEFAULT 0.00 COMMENT '累计佣金',
    `freeze_money`       decimal(10, 2) NULL DEFAULT 0.00 COMMENT '冻结佣金',
    `extract_money`      decimal(10, 2) NULL DEFAULT 0.00 COMMENT '已提现佣金',
    `status`             int NULL DEFAULT NULL COMMENT '状态',
    `remark`             varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `back_ground`        varchar(255)   NULL DEFAULT NULL COMMENT '背景图片',
    `province`           varchar(64)   NULL DEFAULT '' COMMENT '收货人所在省',
    `city`               varchar(64)   NULL DEFAULT '' COMMENT '收货人所在市',
    `district`           varchar(64)   NULL DEFAULT '' COMMENT '收货人所在区',
    `company_id`         bigint NULL DEFAULT NULL,
    PRIMARY KEY (`talent_id`) USING BTREE,
    INDEX                `1`(`talent_id` ASC) USING BTREE,
    INDEX                `2`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '达人表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_talent_follow
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_talent_follow`;
CREATE TABLE `fs_user_talent_follow`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `talent_id`   bigint NULL DEFAULT NULL COMMENT '达人id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '关注时间',
    `update_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '达人关注表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_talent_wallet
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_talent_wallet`;
CREATE TABLE `fs_user_talent_wallet`
(
    `wallet_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '钱包id',
    `talent_id`     bigint NULL DEFAULT NULL COMMENT '达人id',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '更新时间',
    `balance`       decimal(10, 2) NULL DEFAULT NULL COMMENT '可提现佣金',
    `total_money`   decimal(10, 2) NULL DEFAULT NULL COMMENT '累计总佣金',
    `lock_money`    decimal(10, 2) NULL DEFAULT NULL COMMENT '冻结佣金',
    `extract_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '已提现佣金',
    PRIMARY KEY (`wallet_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '达人钱包表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_tui_money_rank
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_tui_money_rank`;
CREATE TABLE `fs_user_tui_money_rank`
(
    `id`        bigint NOT NULL,
    `sort`      int NULL DEFAULT NULL COMMENT '排序',
    `type`      tinyint NULL DEFAULT NULL COMMENT '1 周榜 2月榜 3总榜',
    `user_id`   bigint NULL DEFAULT NULL COMMENT '用户id',
    `nickname`  varchar(255)   NULL DEFAULT NULL COMMENT '昵称',
    `phone`     varchar(255)   NULL DEFAULT NULL COMMENT '用户电话',
    `tui_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '推广佣金',
    `avatar`    varchar(255)   NULL DEFAULT NULL COMMENT '头像',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX       `sort`(`sort` ASC) USING BTREE,
    INDEX       `type`(`type` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video`;
CREATE TABLE `fs_user_video`
(
    `video_id`     bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `file_id`      varchar(255)   NULL DEFAULT NULL COMMENT '腾讯vod文件id',
    `title`        varchar(2000)   NULL DEFAULT NULL COMMENT '视频标题',
    `description`  text   NULL COMMENT '视频描述',
    `url`          varchar(2000)   NULL DEFAULT NULL COMMENT '视频URL',
    `thumbnail`    varchar(2000)   NULL DEFAULT NULL COMMENT '视频缩略图',
    `duration`     int NULL DEFAULT NULL COMMENT '视频时长',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `talent_id`    bigint NULL DEFAULT NULL COMMENT '达人id',
    `cate_id`      bigint NULL DEFAULT NULL COMMENT '分类id',
    `likes`        bigint NULL DEFAULT 0 COMMENT '点赞数',
    `views`        bigint NULL DEFAULT 0 COMMENT '观看次数',
    `comments`     bigint NULL DEFAULT 0 COMMENT '评论数',
    `status`       int NULL DEFAULT NULL COMMENT '视频状态 1：草稿，2、待审核3：发布',
    `is_hot`       tinyint NULL DEFAULT NULL COMMENT '是否热门',
    `is_audit`     tinyint NULL DEFAULT NULL COMMENT '是否审核',
    `audit_by`     bigint NULL DEFAULT NULL COMMENT '审核人',
    `audit_time`   datetime NULL DEFAULT NULL COMMENT '审核时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `source`       int NULL DEFAULT NULL COMMENT '来源 1:后台 2：App',
    `is_del`       tinyint NULL DEFAULT 0 COMMENT '删除标志',
    `shares`       bigint NULL DEFAULT 0 COMMENT '分享次数',
    `tags`         varchar(255)   NULL DEFAULT NULL COMMENT '视频标签',
    `product_id`   bigint NULL DEFAULT NULL COMMENT '精选商品id',
    `product_json` text   NULL COMMENT '精选商品json',
    `favorite_num` bigint NULL DEFAULT NULL COMMENT '收藏数',
    `upload_type`  int NULL DEFAULT NULL,
    `tx_cdn_url`   varchar(255)   NULL DEFAULT NULL COMMENT '腾讯cdn地址',
    `tx_pcdn_url`  varchar(255)   NULL DEFAULT NULL COMMENT '腾讯pcdn地址',
    `tx_vod_url`   varchar(255)   NULL DEFAULT NULL COMMENT '腾讯vod地址',
    `hw_obs_url`   varchar(255)   NULL DEFAULT NULL COMMENT '华为obs地址',
    `hw_vod_url`   varchar(255)   NULL DEFAULT NULL COMMENT '华为vod地址',
    `add_num`      varchar(20)   NULL DEFAULT NULL COMMENT '点赞、收藏、分享添加数1000-20000(例子:3000,2000,1000)',
    PRIMARY KEY (`video_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_comment
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_comment`;
CREATE TABLE `fs_user_video_comment`
(
    `comment_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '评论id',
    `user_id`      bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`     bigint NULL DEFAULT NULL COMMENT '视频id',
    `comment_code` varchar(255)   NULL DEFAULT NULL,
    `type`         int NULL DEFAULT NULL COMMENT '评论类型 1：评论，2：回复',
    `parent_id`    varchar(255)   NULL DEFAULT NULL COMMENT '父评论id',
    `content`      varchar(2000)   NULL DEFAULT NULL COMMENT '评论内容',
    `reply_count`  int NULL DEFAULT NULL COMMENT '回复数量',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '评论时间',
    `update_time`  datetime NULL DEFAULT NULL,
    `likes`        bigint NULL DEFAULT NULL COMMENT '点赞数',
    `synced`       tinyint NULL DEFAULT NULL COMMENT '是否同步',
    PRIMARY KEY (`comment_id`) USING BTREE,
    INDEX          `index_comment_code`(`comment_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频评论表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_comment_like
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_comment_like`;
CREATE TABLE `fs_user_video_comment_like`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `comment_id`  bigint NULL DEFAULT NULL COMMENT '评论id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `index_comment_code`(`comment_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂评论点赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_favorite
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_favorite`;
CREATE TABLE `fs_user_video_favorite`
(
    `favorite_id` bigint NOT NULL AUTO_INCREMENT COMMENT '收藏id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`    bigint NULL DEFAULT NULL COMMENT '视频id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '收藏时间',
    `update_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`favorite_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_like
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_like`;
CREATE TABLE `fs_user_video_like`
(
    `like_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `video_id`    bigint NULL DEFAULT NULL COMMENT '视频id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '点赞时间',
    `update_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`like_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '课堂视频点赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_tags
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_tags`;
CREATE TABLE `fs_user_video_tags`
(
    `tag_id`      bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '视频标签表ID',
    `pid`         bigint                                                  NOT NULL COMMENT '父id',
    `tag_name`    varchar(100)   NOT NULL COMMENT '标签名称',
    `sort`        mediumint NULL DEFAULT NULL COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '删除状态',
    PRIMARY KEY (`tag_id`) USING BTREE,
    INDEX         `pid`(`pid` ASC) USING BTREE,
    INDEX         `sort`(`sort` ASC) USING BTREE,
    INDEX         `add_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '短视频标签表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_video_view
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_video_view`;
CREATE TABLE `fs_user_video_view`
(
    `view_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '观看id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `duration`    bigint NULL DEFAULT NULL COMMENT '时长',
    `video_id`    bigint NULL DEFAULT NULL COMMENT '视频id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '观看时间',
    `update_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`view_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '课堂视频观看记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_vip_order
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_vip_order`;
CREATE TABLE `fs_user_vip_order`
(
    `order_id`      bigint         NOT NULL AUTO_INCREMENT COMMENT '订单id',
    `user_id`       bigint         NOT NULL COMMENT '用户id',
    `package_id`    bigint         NOT NULL COMMENT '会员套餐id',
    `purchase_date` datetime       NOT NULL COMMENT '开始时间',
    `expire_date`   datetime NULL DEFAULT NULL COMMENT '过期时间',
    `pay_money`     decimal(10, 2) NULL DEFAULT NULL,
    `price`         decimal(10, 2) NOT NULL COMMENT '支付金额',
    `status`        int            NOT NULL COMMENT '状态',
    `create_time`   datetime       NOT NULL COMMENT '创建时间',
    `order_code`    varchar(255)   NULL DEFAULT NULL COMMENT '订单编码',
    `update_time`   datetime NULL DEFAULT NULL,
    `pay_type`      int NULL DEFAULT NULL COMMENT '支付类型',
    `pay_time`      datetime NULL DEFAULT NULL COMMENT '支付时间',
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '购买会员订单' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_vip_package
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_vip_package`;
CREATE TABLE `fs_user_vip_package`
(
    `package_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '套餐id',
    `package_name` varchar(255)   NULL DEFAULT NULL COMMENT '套餐名称',
    `months`       int NULL DEFAULT NULL COMMENT '有效期（月） -1为永久',
    `price`        decimal(10, 2) NULL DEFAULT NULL COMMENT '原价',
    `sell_price`   decimal(10, 2) NULL DEFAULT NULL COMMENT '售价',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`       int NULL DEFAULT NULL COMMENT '状态',
    `sort`         int NULL DEFAULT NULL COMMENT '排序',
    PRIMARY KEY (`package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_watch
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_watch`;
CREATE TABLE `fs_user_watch`
(
    `id`              int NOT NULL COMMENT 'id',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `doctor_id`       bigint NULL DEFAULT NULL COMMENT '医生id',
    `store_order_id`  int NULL DEFAULT NULL COMMENT '订单id',
    `status`          int NULL DEFAULT NULL COMMENT '状态 1 发货  3 已绑定 -1已退货',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间 ',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户腕表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_watch_course_statistics
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_watch_course_statistics`;
CREATE TABLE `fs_user_watch_course_statistics`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `period_id`              bigint NULL DEFAULT NULL COMMENT '营期id',
    `period_name`            varchar(50)   NULL DEFAULT NULL COMMENT '营期名称',
    `course_id`              bigint NULL DEFAULT NULL COMMENT '课程id',
    `course_name`            varchar(50)   NULL DEFAULT NULL COMMENT '课程名称',
    `video_id`               bigint NULL DEFAULT NULL COMMENT '视频id',
    `video_title`            varchar(255)   NULL DEFAULT NULL COMMENT '视频标题',
    `company_id`             bigint NULL DEFAULT NULL COMMENT '销售公司id',
    `company_name`           varchar(255)   NULL DEFAULT NULL COMMENT '销售公司名称',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_user_name`      varchar(255)   NULL DEFAULT NULL COMMENT '销售名称',
    `course_start_date_time` datetime NULL DEFAULT NULL COMMENT '课程开始日期',
    `period_starting_time`   datetime NULL DEFAULT NULL COMMENT '营期开始日期',
    `new_user_num`           int NULL DEFAULT NULL COMMENT '新增会员数量',
    `user_num`               int NULL DEFAULT NULL COMMENT '会员数量',
    `watch_num`              int NULL DEFAULT NULL COMMENT '观看人数',
    `complete_watch_num`     int NULL DEFAULT NULL COMMENT '完播人数',
    `online_rate`            decimal(6, 2) NULL DEFAULT NULL COMMENT '上线率',
    `complete_watch_rate`    decimal(6, 2) NULL DEFAULT NULL COMMENT '完播率',
    `answer_num`             int NULL DEFAULT NULL COMMENT '答题人数',
    `answer_right_num`       int NULL DEFAULT NULL COMMENT '答题正确人数',
    `answer_right_rate`      decimal(6, 2) NULL DEFAULT NULL COMMENT '答题正确率',
    `red_packet_num`         int NULL DEFAULT NULL COMMENT '红包领取数量',
    `red_packet_amount`      decimal(12, 2) NULL DEFAULT NULL COMMENT '红包领取总额',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`            datetime NULL DEFAULT NULL COMMENT '修改时间',
    `company_belong_owner`   varchar(50)   NULL DEFAULT NULL COMMENT '经销售归属',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_index`(`period_id` ASC, `video_id` ASC, `company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员看课统计表-按课程统计' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_watch_statistics
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_watch_statistics`;
CREATE TABLE `fs_user_watch_statistics`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `period_id`            bigint NULL DEFAULT NULL COMMENT '营期id',
    `period_name`          varchar(50)   NULL DEFAULT NULL COMMENT '营期名称',
    `period_starting_time` datetime NULL DEFAULT NULL COMMENT '营期开始日期',
    `new_user_num`         int NULL DEFAULT NULL COMMENT '新增会员数量',
    `user_num`             int NULL DEFAULT NULL COMMENT '会员数量',
    `watch_num`            int NULL DEFAULT NULL COMMENT '观看人数',
    `complete_watch_num`   int NULL DEFAULT NULL COMMENT '完播人数',
    `online_rate`          decimal(6, 2) NULL DEFAULT NULL COMMENT '上线率',
    `complete_watch_rate`  decimal(6, 2) NULL DEFAULT NULL COMMENT '完播率',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL COMMENT '修改时间',
    `company_id`           varchar(100)   NULL DEFAULT NULL COMMENT '销售公司id',
    `company_name`         varchar(255)   NULL DEFAULT NULL COMMENT '销售公司名称',
    `company_belong_owner` varchar(50)   NULL DEFAULT NULL COMMENT '经销售归属',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `period_id_unique`(`period_id` ASC, `company_id` ASC) USING BTREE COMMENT '唯一索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '会员看课统计表-按营期统计（定时任务）' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_user_wx
-- ----------------------------
DROP TABLE IF EXISTS `fs_user_wx`;
CREATE TABLE `fs_user_wx`
(
    `id`          bigint                                                       NOT NULL AUTO_INCREMENT,
    `fs_user_id`  bigint                                                       NOT NULL COMMENT '用户ID',
    `app_id`      varchar(50)   NOT NULL COMMENT '小程序/公众号appId',
    `union_id`    varchar(50)   NULL DEFAULT NULL COMMENT '微信unionId',
    `open_id`     varchar(50)   NOT NULL COMMENT '微信openId',
    `create_time` datetime                                                     NOT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `type`        int NULL DEFAULT 1 COMMENT '类型1:小程序 2：服务号',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司ID',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_user_app_id`(`fs_user_id` ASC, `app_id` ASC) USING BTREE,
    INDEX         `idk_union_id`(`union_id` ASC) USING BTREE,
    INDEX         `idk_open_id`(`open_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户微信绑定信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_vessel
-- ----------------------------
DROP TABLE IF EXISTS `fs_vessel`;
CREATE TABLE `fs_vessel`
(
    `id`           bigint                                                   NOT NULL AUTO_INCREMENT,
    `vessel_name`  varchar(200)    NOT NULL COMMENT '筋络穴位名称',
    `img_url`      varchar(2000)   NULL DEFAULT NULL COMMENT '图片',
    `sort`         int NULL DEFAULT NULL COMMENT '排序',
    `vessel`       varchar(2000)   NULL DEFAULT NULL COMMENT '经络',
    `region`       varchar(255)   NULL DEFAULT NULL COMMENT '部位',
    `descs`        varchar(4000)   NOT NULL COMMENT '描述',
    `create_time`  datetime NULL DEFAULT NULL,
    `status`       int NULL DEFAULT NULL COMMENT '状态',
    `pinyin`       varchar(200)   NULL DEFAULT NULL COMMENT '拼音',
    `action_title` varchar(50)   NULL DEFAULT NULL COMMENT '功效概述',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '经络' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_video_barrage
-- ----------------------------
DROP TABLE IF EXISTS `fs_video_barrage`;
CREATE TABLE `fs_video_barrage`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '弹幕ID',
    `video_id`    bigint                                                        NOT NULL COMMENT '视频ID',
    `content`     varchar(500)   NOT NULL COMMENT '弹幕内容',
    `time_point`  int                                                           NOT NULL COMMENT '弹幕对应视频时间点（秒）',
    `user_id`     bigint NULL DEFAULT 0 COMMENT '用户ID',
    `username`    varchar(100)   NULL DEFAULT '' COMMENT '用户名',
    `platform`    varchar(20)   NULL DEFAULT NULL COMMENT '发送平台（如 app / mini_app）',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发送时间',
    `status`      tinyint NULL DEFAULT 1 COMMENT '状态：1-正常 0-隐藏',
    `duration`    bigint NULL DEFAULT 5 COMMENT '弹幕持续时间，最低5秒',
    `is_prior`    tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否优先显示1是0否，默认为0',
    `is_color`    tinyint                                                       NOT NULL DEFAULT 0 COMMENT '是否彩色弹幕1是0否，默认为0',
    `color`       varchar(255)   NULL DEFAULT NULL COMMENT '颜色',
    `mode`        varchar(255)   NULL DEFAULT NULL COMMENT '例:\' top\'，显示模式，top顶部居中，bottom底部居中，scro1l滚动，默认为scro11',
    `font_size`   varchar(255)   NULL DEFAULT NULL COMMENT '字号',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_video_time`(`video_id` ASC, `time_point` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '视频弹幕表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_video_course_tag
-- ----------------------------
DROP TABLE IF EXISTS `fs_video_course_tag`;
CREATE TABLE `fs_video_course_tag`
(
    `id`                    int NOT NULL AUTO_INCREMENT,
    `corp_id`               varchar(50)   NULL DEFAULT NULL COMMENT '企微公司',
    `video_id`              bigint NULL DEFAULT NULL COMMENT '视频ID',
    `watching_group_id`     bigint NULL DEFAULT NULL COMMENT '看课中-标签组ID',
    `watched_group_id`      bigint NULL DEFAULT NULL COMMENT '完课-标签组ID',
    `watching_tg_id`        bigint NULL DEFAULT NULL COMMENT '看课中-标签组ID',
    `watched_tg_id`         bigint NULL DEFAULT NULL COMMENT '完课-标签组ID',
    `watching_group_tag_id` varchar(255)   NULL DEFAULT NULL COMMENT '看课中-标签组ID',
    `watched_group_tag_id`  varchar(255)   NULL DEFAULT NULL COMMENT '完课-标签组ID',
    `watching_tag_id`       varchar(255)   NULL DEFAULT NULL COMMENT '看课中-标签组ID',
    `watched_tag_id`        varchar(255)   NULL DEFAULT NULL COMMENT '完课-标签组',
    `create_time`           datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`           datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_by`             bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`             bigint NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `corp_id`(`corp_id` ASC, `video_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '视频小节看课标签关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_video_resource
-- ----------------------------
DROP TABLE IF EXISTS `fs_video_resource`;
CREATE TABLE `fs_video_resource`
(
    `id`                 bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `resource_name`      varchar(255)   NOT NULL COMMENT '素材名称',
    `type_id`            bigint NULL DEFAULT NULL COMMENT '视频素材类型',
    `type_sub_id`        bigint NULL DEFAULT NULL COMMENT '视频素材子类型',
    `file_name`          varchar(255)   NOT NULL COMMENT '文件名称',
    `thumbnail`          varchar(255)   NULL DEFAULT NULL COMMENT '缩略图',
    `video_url`          varchar(2000)   NULL DEFAULT NULL COMMENT '视频URL',
    `line1`              varchar(500)   NULL DEFAULT NULL COMMENT '访问路径1',
    `line2`              varchar(500)   NULL DEFAULT NULL COMMENT '访问路径2',
    `line3`              varchar(500)   NULL DEFAULT NULL COMMENT '访问路径3',
    `duration`           int NULL DEFAULT NULL COMMENT '视频时长',
    `file_size`          bigint NULL DEFAULT NULL COMMENT '文件大小 字节',
    `file_key`           varchar(255)   NULL DEFAULT NULL COMMENT '文件key',
    `create_time`        datetime                                                      NOT NULL COMMENT '创建时间',
    `is_del`             tinyint NULL DEFAULT 0 COMMENT '是否已删除 0未删除 1已删除',
    `project_ids`        varchar(255)   NULL DEFAULT NULL COMMENT '课程ID  多个以逗号分隔',
    `is_transcode`       int NULL DEFAULT 0 COMMENT '是否转码 0未转码，1转码',
    `transcode_file_key` varchar(255)   NULL DEFAULT NULL COMMENT '转码后文件key',
    `sort`               int NULL DEFAULT 0 COMMENT '排序',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户id',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '修改时间',
    `hsy_vid`            varchar(255)   NULL DEFAULT NULL COMMENT '火山云vid',
    `job_id`             varchar(255)   NULL DEFAULT NULL COMMENT '火山云JobId',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '视频素材库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_watch_device_info
-- ----------------------------
DROP TABLE IF EXISTS `fs_watch_device_info`;
CREATE TABLE `fs_watch_device_info`
(
    `device_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '设备id',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '公司id',
    `device_number` varchar(64)   NULL DEFAULT NULL COMMENT '设备编号',
    `battery`       int NULL DEFAULT NULL COMMENT '电量',
    `rssi`          int NULL DEFAULT NULL COMMENT '信号',
    `status`        int NULL DEFAULT NULL COMMENT '设备状态',
    `create_by`     varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`     varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`   datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`        tinyint NULL DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (`device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '腕表设备信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_watch_user
-- ----------------------------
DROP TABLE IF EXISTS `fs_watch_user`;
CREATE TABLE `fs_watch_user`
(
    `user_id`                 bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户id',
    `username`                varchar(255)   NULL DEFAULT NULL COMMENT '用户账户(跟accout一样)',
    `password`                varchar(255)   NULL DEFAULT NULL COMMENT '用户密码（跟pwd）',
    `real_name`               varchar(25)   NULL DEFAULT '' COMMENT '真实姓名',
    `sex`                     tinyint NULL DEFAULT NULL COMMENT '性别 0:未知 1:男 2:女',
    `birthday`                datetime NULL DEFAULT NULL COMMENT '生日',
    `id_card`                 varchar(20)   NULL DEFAULT '' COMMENT '身份证号码',
    `remark`                  varchar(255)   NULL DEFAULT '' COMMENT '用户备注',
    `nickname`                varchar(100)   NULL DEFAULT NULL COMMENT '用户昵称',
    `avatar`                  varchar(256)   NULL DEFAULT NULL COMMENT '用户头像',
    `phone`                   char(15)   NULL DEFAULT NULL COMMENT '手机号码',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '最后一次登录时间',
    `last_ip`                 varchar(100)   NULL DEFAULT '' COMMENT '最后一次登录ip',
    `status`                  tinyint(1) NULL DEFAULT 1 COMMENT '1为正常，0为禁止',
    `addres`                  varchar(255)   NULL DEFAULT '' COMMENT '详细地址',
    `is_del`                  tinyint(1) NULL DEFAULT 0 COMMENT '删除标志',
    `is_weixin_auth`          tinyint(1) NULL DEFAULT 0 COMMENT '是否授权',
    `company_id`              bigint NULL DEFAULT NULL COMMENT '公司id',
    `union_id`                varchar(50)   NULL DEFAULT NULL COMMENT '关联id',
    `height`                  int NULL DEFAULT NULL COMMENT '身高(单位:厘米)',
    `weight`                  int NULL DEFAULT NULL COMMENT '体重(单位:千克)',
    `target_step`             varchar(10)   NULL DEFAULT NULL COMMENT '目标步数',
    `target_calorie`          varchar(10)   NULL DEFAULT NULL COMMENT '目标卡路里',
    `device_id`               varchar(255)   NULL DEFAULT NULL COMMENT '预警设备id(自己)',
    `other_device`            json NULL COMMENT '其余预警设备',
    `monitor_data_type_order` varchar(255)   NULL DEFAULT '1,2,3,4,5,6,7,8,9,10' COMMENT '监测数据类型排序',
    `ma_open_id`              varchar(50)   NULL DEFAULT NULL COMMENT '微信小程序OPENID',
    `mp_open_id`              varchar(50)   NULL DEFAULT NULL COMMENT '微信公众号OPENID',
    PRIMARY KEY (`user_id`) USING BTREE,
    INDEX                     `status`(`status` ASC) USING BTREE,
    INDEX                     `phone`(`phone` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '腕表用户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_wechat_template
-- ----------------------------
DROP TABLE IF EXISTS `fs_wechat_template`;
CREATE TABLE `fs_wechat_template`
(
    `id`          int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '模板id',
    `tempkey`     char(50)        NOT NULL DEFAULT '' COMMENT '模板编号',
    `name`        char(100)       NOT NULL DEFAULT '' COMMENT '模板名',
    `content`     varchar(1000)   NOT NULL DEFAULT '' COMMENT '回复内容',
    `temp_id`     char(100)   NULL DEFAULT NULL COMMENT '模板ID',
    `create_time` datetime                                                 NOT NULL COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL,
    `status`      tinyint                                                  NOT NULL DEFAULT 0 COMMENT '状态',
    `is_del`      tinyint(1) NULL DEFAULT 0,
    `type`        varchar(30)   NULL DEFAULT NULL COMMENT '类型：template:模板消息 subscribe:订阅消息',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `tempkey`(`tempkey` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_wx_express_task
-- ----------------------------
DROP TABLE IF EXISTS `fs_wx_express_task`;
CREATE TABLE `fs_wx_express_task`
(
    `id`              bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '任务ID，唯一标识',
    `order_code`      varchar(30)   NOT NULL COMMENT '订单code',
    `user_id`         varchar(30)   NOT NULL COMMENT '用户id',
    `data`            json NULL COMMENT '消息内容，JSON格式。',
    `status`          tinyint                                                      NOT NULL DEFAULT 0 COMMENT '任务状态：0=待执行, 1=执行中, 2=执行成功, 3=执行失败, 4=已取消',
    `retry_count`     tinyint                                                      NOT NULL DEFAULT 0 COMMENT '当前重试次数',
    `max_retries`     tinyint NULL DEFAULT 3 COMMENT '最大重试次数',
    `request_params`  text   NULL COMMENT '请求参数（JSON格式，主要记录 access_token 获取方式）',
    `request_body`    text   NULL COMMENT '完整的请求体 (JSON格式)',
    `response_body`   text   NULL COMMENT 'API 响应结果 (JSON格式)',
    `error_message`   text   NULL COMMENT '错误信息 (如果执行失败)',
    `create_time`     timestamp                                                    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间',
    `update_time`     timestamp                                                    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `express_company` varchar(30)   NULL DEFAULT NULL COMMENT '快递公司',
    `express_no`      varchar(30)   NULL DEFAULT NULL COMMENT '快递编号',
    `type`            smallint NULL DEFAULT 0 COMMENT '0商城订单 1直播订单 默认0',
    `appid`           varchar(255)   NULL DEFAULT NULL COMMENT 'appid',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `order_code`(`order_code` ASC, `user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信同步发货信息定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS `gen_table`;
CREATE TABLE `gen_table`
(
    `table_id`          bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `table_name`        varchar(200)   NULL DEFAULT '' COMMENT '表名称',
    `table_comment`     varchar(500)   NULL DEFAULT '' COMMENT '表描述',
    `sub_table_name`    varchar(64)   NULL DEFAULT NULL COMMENT '关联子表的表名',
    `sub_table_fk_name` varchar(64)   NULL DEFAULT NULL COMMENT '子表关联的外键名',
    `class_name`        varchar(100)   NULL DEFAULT '' COMMENT '实体类名称',
    `tpl_category`      varchar(200)   NULL DEFAULT 'crud' COMMENT '使用的模板（crud单表操作 tree树表操作）',
    `package_name`      varchar(100)   NULL DEFAULT NULL COMMENT '生成包路径',
    `module_name`       varchar(30)   NULL DEFAULT NULL COMMENT '生成模块名',
    `business_name`     varchar(30)   NULL DEFAULT NULL COMMENT '生成业务名',
    `function_name`     varchar(50)   NULL DEFAULT NULL COMMENT '生成功能名',
    `function_author`   varchar(50)   NULL DEFAULT NULL COMMENT '生成功能作者',
    `gen_type`          char(1)   NULL DEFAULT '0' COMMENT '生成代码方式（0zip压缩包 1自定义路径）',
    `gen_path`          varchar(200)   NULL DEFAULT '/' COMMENT '生成路径（不填默认项目路径）',
    `options`           varchar(1000)   NULL DEFAULT NULL COMMENT '其它生成选项',
    `create_by`         varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`         varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`       datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`            varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
DROP TABLE IF EXISTS `gen_table_column`;
CREATE TABLE `gen_table_column`
(
    `column_id`      bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `table_id`       varchar(64)   NULL DEFAULT NULL COMMENT '归属表编号',
    `column_name`    varchar(200)   NULL DEFAULT NULL COMMENT '列名称',
    `column_comment` varchar(500)   NULL DEFAULT NULL COMMENT '列描述',
    `column_type`    varchar(100)   NULL DEFAULT NULL COMMENT '列类型',
    `java_type`      varchar(500)   NULL DEFAULT NULL COMMENT 'JAVA类型',
    `java_field`     varchar(200)   NULL DEFAULT NULL COMMENT 'JAVA字段名',
    `is_pk`          char(1)   NULL DEFAULT NULL COMMENT '是否主键（1是）',
    `is_increment`   char(1)   NULL DEFAULT NULL COMMENT '是否自增（1是）',
    `is_required`    char(1)   NULL DEFAULT NULL COMMENT '是否必填（1是）',
    `is_insert`      char(1)   NULL DEFAULT NULL COMMENT '是否为插入字段（1是）',
    `is_edit`        char(1)   NULL DEFAULT NULL COMMENT '是否编辑字段（1是）',
    `is_list`        char(1)   NULL DEFAULT NULL COMMENT '是否列表字段（1是）',
    `is_query`       char(1)   NULL DEFAULT NULL COMMENT '是否查询字段（1是）',
    `query_type`     varchar(200)   NULL DEFAULT 'EQ' COMMENT '查询方式（等于、不等于、大于、小于、范围）',
    `html_type`      varchar(200)   NULL DEFAULT NULL COMMENT '显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）',
    `dict_type`      varchar(200)   NULL DEFAULT '' COMMENT '字典类型',
    `sort`           int NULL DEFAULT NULL COMMENT '排序',
    `create_by`      varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`      varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for hy_watch_log
-- ----------------------------
DROP TABLE IF EXISTS `hy_watch_log`;
CREATE TABLE `hy_watch_log`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `ext_id`          bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT 'qw用户id',
    `status`          int NULL DEFAULT 0 COMMENT '先导课  0 待看 1看课中/中断 2完课 ',
    `day`             int NULL DEFAULT NULL COMMENT '天数',
    `project`         int NULL DEFAULT NULL COMMENT '项目',
    `create_time`     date NULL DEFAULT NULL COMMENT '创建时间',
    `line_time`       date NULL DEFAULT NULL COMMENT '进线时间',
    `fs_user_id`      bigint NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `course_id`       bigint NULL DEFAULT NULL,
    `video_id`        bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `project`(`project` ASC) USING BTREE,
    INDEX             `day`(`day` ASC) USING BTREE,
    INDEX             `line_time`(`line_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微看课' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for hy_work_task
-- ----------------------------
DROP TABLE IF EXISTS `hy_work_task`;
CREATE TABLE `hy_work_task`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `ext_id`          bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `status`          int NULL DEFAULT NULL COMMENT '状态 0 待处理 1 已处理 3 过期',
    `track_type`      int NULL DEFAULT NULL COMMENT '处理状态 1正常处理 2 未接听 3 已接听 ',
    `type`            int NULL DEFAULT NULL COMMENT '类别 1先导 2 课程 3 大小转 4 转人工',
    `title`           varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `score`           int NULL DEFAULT NULL COMMENT '分值',
    `sop_id`          varchar(255)   NULL DEFAULT NULL COMMENT 'sopid',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更改时间',
    `user_logs_id`    varchar(100)   NULL DEFAULT NULL COMMENT '营期',
    `user_id`         varchar(100)   NULL DEFAULT NULL COMMENT '用户id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `type`(`type` ASC) USING BTREE,
    INDEX             `sop_id`(`sop_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` DESC) USING BTREE,
    INDEX             `title`(`title` ASC) USING BTREE,
    INDEX             `track_type`(`track_type` ASC) USING BTREE,
    INDEX             `idx_comp_user_status_time_score`(`company_id` ASC, `company_user_id` ASC, `status` ASC, `create_time` ASC, `score` DESC, `id` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微任务看板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live
-- ----------------------------
DROP TABLE IF EXISTS `live`;
CREATE TABLE `live`
(
    `live_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `talent_id`       bigint NULL DEFAULT NULL COMMENT '达人ID',
    `live_name`       varchar(200)   NULL DEFAULT NULL COMMENT '直播名称',
    `live_desc`       longtext   NULL COMMENT '直播描述',
    `show_type`       tinyint(1) NULL DEFAULT NULL COMMENT '显示类型 1横屏 2竖屏',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '1待支付 2直播中 3已结束',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `anchor_id`       bigint NULL DEFAULT NULL COMMENT '直播ID',
    `live_type`       tinyint(1) NULL DEFAULT NULL COMMENT '直播类型 1直播，2录播',
    `start_time`      datetime NULL DEFAULT NULL COMMENT '开始时间',
    `finish_time`     datetime NULL DEFAULT NULL COMMENT '结束时间',
    `live_img_url`    varchar(200)   NULL DEFAULT NULL COMMENT '直播封面',
    `live_config`     varchar(2000)   NULL DEFAULT NULL COMMENT '直播配置 JOSN',
    `is_show`         tinyint(1) NULL DEFAULT NULL COMMENT '上下架',
    `is_del`          tinyint(1) NULL DEFAULT NULL COMMENT '是否删除',
    `qw_qr_code`      varchar(200)   NULL DEFAULT NULL COMMENT '企业微信二维码',
    `rtmp_url`        varchar(200)   NULL DEFAULT NULL COMMENT '直播地址',
    `config_json`     longtext   NULL COMMENT '直播配置',
    `is_audit`        tinyint(1) NULL DEFAULT NULL COMMENT '直播审核状态，销售端修改后需要总后台审核',
    `flv_hls_url`     varchar(255)   NULL DEFAULT NULL COMMENT '直播播放地址',
    `id_card_url`     varchar(255)   NULL DEFAULT NULL COMMENT '直播身份证地址',
    `global_visible`  int NULL DEFAULT NULL COMMENT '全局用户消息自见',
    PRIMARY KEY (`live_id`) USING BTREE,
    INDEX             `live_id_idx`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_after_sales
-- ----------------------------
DROP TABLE IF EXISTS `live_after_sales`;
CREATE TABLE `live_after_sales`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `live_id`         bigint NULL DEFAULT NULL COMMENT '直播ID',
    `store_id`        bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `order_id`        bigint NULL DEFAULT NULL COMMENT '订单ID',
    `refund_amount`   decimal(11, 2) NULL DEFAULT NULL COMMENT '退款金额',
    `refund_type`     tinyint(1) NULL DEFAULT NULL COMMENT '服务类型0仅退款1退货退款',
    `reasons`         text   NULL COMMENT '申请原因',
    `explains`        text   NULL COMMENT '说明',
    `explain_img`     text   NULL COMMENT '说明图片->多个用逗号分割',
    `delivery_code`   varchar(255)   NULL DEFAULT NULL COMMENT '物流公司编码',
    `delivery_sn`     varchar(32)   NULL DEFAULT NULL COMMENT '物流单号',
    `delivery_name`   varchar(32)   NULL DEFAULT NULL COMMENT '物流名称',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 0已提交等待平台审核 1平台已审核 等待用户发货 2 用户已发货待仓库审核 3财务审核 4退款成功',
    `sales_status`    tinyint(1) NULL DEFAULT NULL COMMENT '售后状态 0售后中 1用户取消2商家拒绝 3已完成',
    `order_status`    tinyint(1) NULL DEFAULT NULL COMMENT '订单状态',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '添加时间',
    `is_del`          tinyint UNSIGNED NULL DEFAULT NULL COMMENT '逻辑删除',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `consignee`       varchar(255)   NULL DEFAULT NULL COMMENT '商家收货人',
    `phone_number`    varchar(255)   NULL DEFAULT NULL COMMENT '商家手机号',
    `address`         varchar(255)   NULL DEFAULT NULL COMMENT '商家地址',
    `company_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_after_sales_item
-- ----------------------------
DROP TABLE IF EXISTS `live_after_sales_item`;
CREATE TABLE `live_after_sales_item`
(
    `id`                    bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `after_sales_id`        bigint NULL DEFAULT NULL COMMENT '售后id',
    `goods_id`              bigint NULL DEFAULT NULL COMMENT '直播商品ID',
    `product_id`            bigint NULL DEFAULT NULL COMMENT '商品id',
    `json_info`             text   NOT NULL COMMENT '退货东西的详情信息',
    `is_del`                tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除',
    `product_attr_value_id` bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后子表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_after_sales_logs
-- ----------------------------
DROP TABLE IF EXISTS `live_after_sales_logs`;
CREATE TABLE `live_after_sales_logs`
(
    `logs_id`              bigint NOT NULL AUTO_INCREMENT,
    `store_after_sales_id` bigint NULL DEFAULT NULL COMMENT '售后id',
    `change_type`          tinyint(1) NULL DEFAULT NULL COMMENT '操作类型',
    `change_message`       varchar(128)   NULL DEFAULT NULL COMMENT '操作备注',
    `change_time`          datetime NULL DEFAULT NULL COMMENT '操作时间',
    `operator`             varchar(200)   NULL DEFAULT NULL COMMENT '操作人',
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `store_id`             bigint NULL DEFAULT NULL COMMENT '店铺id',
    PRIMARY KEY (`logs_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '售后订单操作表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_anchor
-- ----------------------------
DROP TABLE IF EXISTS `live_anchor`;
CREATE TABLE `live_anchor`
(
    `anchor_id`         bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `nick_name`         varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `password`          varchar(50)   NULL DEFAULT NULL COMMENT '密码',
    `mobile`            varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `open_id`           varchar(50)   NULL DEFAULT NULL COMMENT '微信OPENID',
    `id_card_back_url`  varchar(200)   NULL DEFAULT NULL COMMENT '身份证反面',
    `id_card_front_url` varchar(200)   NULL DEFAULT NULL COMMENT '身份证正面',
    `status`            tinyint(1) NULL DEFAULT NULL COMMENT '状态  1正常 0禁用',
    `create_time`       datetime NULL DEFAULT NULL,
    `create_by`         bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`         bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`       datetime NULL DEFAULT NULL,
    `remark`            varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`anchor_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '主播表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_answer_red_packet
-- ----------------------------
DROP TABLE IF EXISTS `live_answer_red_packet`;
CREATE TABLE `live_answer_red_packet`
(
    `id`                       bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`                     varchar(255)   NOT NULL COMMENT '活动名称',
    `action`                   tinyint                                                       NOT NULL COMMENT '奖励类型 1现金红包 2积分红包',
    `red_packet_type`          tinyint NULL DEFAULT NULL COMMENT '红包发放方式 1固定金额 2随机金额',
    `red_packet_amount`        decimal(12, 2) NULL DEFAULT NULL COMMENT '红包金额',
    `red_packet_random_amount` varchar(255)   NULL DEFAULT NULL COMMENT '红包随机规则',
    `score_amount`             int NULL DEFAULT NULL COMMENT '积分值',
    `max_receiver`             int NULL DEFAULT NULL COMMENT '最大领取人数',
    `receive_time_limit`       int NULL DEFAULT NULL COMMENT '领取时限 分钟',
    `participate_condition`    tinyint                                                       NOT NULL COMMENT '参与条件  1无条件 2达到指定观看时长',
    `watch_duration`           int NULL DEFAULT NULL COMMENT '观看时长',
    `receive_condition`        tinyint                                                       NOT NULL COMMENT '领取条件 1无条件 2添加过员工企微才可领取 ',
    `max_error_count`          int NULL DEFAULT NULL COMMENT '错误次数限制',
    `status`                   tinyint NULL DEFAULT 0 COMMENT '状态 0停用 1启用',
    `create_time`              datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`                varchar(255)   NOT NULL COMMENT '创建人',
    `update_time`              datetime NULL DEFAULT NULL COMMENT '修改时间',
    `update_by`                varchar(255)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '答题红包活动' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_answer_red_packet_live
-- ----------------------------
DROP TABLE IF EXISTS `live_answer_red_packet_live`;
CREATE TABLE `live_answer_red_packet_live`
(
    `id`                   bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`              bigint                                                        NOT NULL COMMENT '直播ID',
    `answer_red_packet_id` bigint                                                        NOT NULL COMMENT '答题红包ID',
    `send_state`           tinyint NULL DEFAULT 0 COMMENT '发送状态 0未发送 1已发送',
    `create_time`          datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`            varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `idx_live`(`live_id` ASC) USING BTREE,
    INDEX                  `idx_answer`(`answer_red_packet_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播答题红包' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_auto_task
-- ----------------------------
DROP TABLE IF EXISTS `live_auto_task`;
CREATE TABLE `live_auto_task`
(
    `id`            bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '任务ID',
    `live_id`       bigint                                                        NOT NULL COMMENT '直播间ID',
    `task_name`     varchar(100)   NOT NULL COMMENT '任务名称',
    `task_type`     tinyint                                                       NOT NULL COMMENT '任务类型：1-定时发送消息 2-定时发送红包 3-定时开启互动',
    `trigger_type`  tinyint                                                       NOT NULL COMMENT '触发类型：1-绝对时间 2-相对直播开始时间',
    `trigger_value` datetime(6) NOT NULL COMMENT '触发值：相对时间',
    `content`       text   NULL COMMENT '任务内容：如消息文本、红包配置等JSON格式',
    `status`        tinyint                                                       NOT NULL DEFAULT 1 COMMENT '状态：0-禁用 1-启用',
    `create_time`   datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`   datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `abs_value`     datetime(6) NOT NULL COMMENT '绝对时间用yyyy-MM-dd HH:mm:ss，相对时间用分钟数',
    `finish_status` tinyint NULL DEFAULT NULL COMMENT '执行状态 1执行完 0 未执行',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `idx_live_id`(`live_id` ASC) USING BTREE COMMENT '直播间ID索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播间自动化任务配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_cart
-- ----------------------------
DROP TABLE IF EXISTS `live_cart`;
CREATE TABLE `live_cart`
(
    `cart_id`               bigint   NOT NULL AUTO_INCREMENT COMMENT '购物车表ID',
    `live_id`               bigint NULL DEFAULT NULL COMMENT '直播间ID',
    `user_id`               bigint UNSIGNED NOT NULL COMMENT '用户ID',
    `goods_id`              bigint NULL DEFAULT NULL COMMENT '直播商品ID',
    `product_id`            bigint UNSIGNED NOT NULL COMMENT '商品ID',
    `product_attr_value_id` bigint NULL DEFAULT NULL,
    `cart_num`              smallint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品数量',
    `create_time`           datetime NOT NULL COMMENT '添加时间',
    `update_time`           datetime NULL DEFAULT NULL,
    `is_pay`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '0 = 未购买 1 = 已购买',
    `is_del`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    `is_buy`                tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为立即购买',
    `checked`               tinyint(1) NULL DEFAULT NULL COMMENT '是否选中',
    PRIMARY KEY (`cart_id`) USING BTREE,
    INDEX                   `user_id`(`user_id` ASC) USING BTREE,
    INDEX                   `goods_id`(`product_id` ASC) USING BTREE,
    INDEX                   `uid`(`user_id` ASC, `is_pay` ASC) USING BTREE,
    INDEX                   `uid_2`(`user_id` ASC, `is_del` ASC) USING BTREE,
    INDEX                   `uid_3`(`user_id` ASC, `is_buy` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '购物车表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_company_code
-- ----------------------------
DROP TABLE IF EXISTS `live_company_code`;
CREATE TABLE `live_company_code`
(
    `id`              bigint   NOT NULL AUTO_INCREMENT COMMENT '主键',
    `live_id`         bigint   NOT NULL COMMENT '直播间唯一标识',
    `company_id`      bigint   NOT NULL COMMENT '企业唯一标识',
    `company_user_id` bigint   NOT NULL COMMENT '企业用户唯一标识',
    `live_code_url`   varchar(255)   NULL DEFAULT NULL COMMENT '直播间代码URL',
    `create_time`     datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`     datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_live_company_user`(`live_id` ASC, `company_id` ASC, `company_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播间销售小程序二维码' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_completion_points_record
-- ----------------------------
DROP TABLE IF EXISTS `live_completion_points_record`;
CREATE TABLE `live_completion_points_record`
(
    `id`                      bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`                 bigint NOT NULL COMMENT '直播ID',
    `user_id`                 bigint NOT NULL COMMENT '用户ID',
    `watch_duration`          bigint NULL DEFAULT 0 COMMENT '观看时长(秒)',
    `video_duration`          bigint NULL DEFAULT 0 COMMENT '视频总时长(秒)',
    `completion_rate`         decimal(5, 2) NULL DEFAULT 0.00 COMMENT '完课比例(%)',
    `continuous_days`         int NULL DEFAULT 1 COMMENT '连续完课天数',
    `points_awarded`          int NULL DEFAULT 0 COMMENT '获得积分',
    `last_completion_date`    date NULL DEFAULT NULL COMMENT '上次完课日期',
    `current_completion_date` date   NOT NULL COMMENT '本次完课日期',
    `receive_status`          tinyint(1) NULL DEFAULT 0 COMMENT '领取状态 0-未领取 1-已领取',
    `receive_time`            datetime NULL DEFAULT NULL COMMENT '领取时间',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_live_user_date`(`live_id` ASC, `user_id` ASC, `current_completion_date` ASC) USING BTREE,
    INDEX                     `idx_live_id`(`live_id` ASC) USING BTREE,
    INDEX                     `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX                     `idx_receive_status`(`receive_status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播完课积分领取记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_config
-- ----------------------------
DROP TABLE IF EXISTS `live_config`;
CREATE TABLE `live_config`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `watch_score` tinyint NULL DEFAULT 0 COMMENT '观看积分 0关闭 1开启',
    `watch`       tinyint NULL DEFAULT 0 COMMENT '观看奖励 0关闭 1开启',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `update_by`   varchar(255)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_live`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_coupon
-- ----------------------------
DROP TABLE IF EXISTS `live_coupon`;
CREATE TABLE `live_coupon`
(
    `coupon_id`           bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '优惠券表ID',
    `title`               varchar(64)   NOT NULL COMMENT '优惠券名称',
    `integral`            int UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换消耗积分值',
    `coupon_price`        decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '兑换的优惠券面值',
    `use_min_price`       decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '最低消费多少金额可用优惠券',
    `coupon_time`         int UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券有效期限（单位：天）',
    `sort`                int UNSIGNED NOT NULL DEFAULT 1 COMMENT '排序',
    `status`              tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '状态（0：关闭，1：开启）',
    `product_ids`         varchar(200)   NULL DEFAULT NULL COMMENT '商品ids',
    `package_cate_ids`    varchar(200)   NULL DEFAULT NULL COMMENT '套餐分类ids',
    `type`                tinyint NULL DEFAULT 0 COMMENT '优惠券类型 0-通用 1-商品券',
    `create_time`         datetime                                               NOT NULL COMMENT '兑换项目添加时间',
    `update_time`         datetime NULL DEFAULT NULL,
    `is_del`              tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
    `limit_receive_count` int NULL DEFAULT NULL COMMENT '限制领取次数',
    PRIMARY KEY (`coupon_id`) USING BTREE,
    INDEX                 `state`(`status` ASC) USING BTREE,
    INDEX                 `add_time`(`create_time` ASC) USING BTREE,
    INDEX                 `coupon_time`(`coupon_time` ASC) USING BTREE,
    INDEX                 `is_del`(`is_del` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_coupon_issue
-- ----------------------------
DROP TABLE IF EXISTS `live_coupon_issue`;
CREATE TABLE `live_coupon_issue`
(
    `id`                  bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `coupon_name`         varchar(200)   NULL DEFAULT '',
    `coupon_id`           bigint NULL DEFAULT NULL COMMENT '优惠券ID',
    `coupon_type`         tinyint(1) NULL DEFAULT NULL COMMENT '优惠券类型 0-通用 1-商品券',
    `start_time`          datetime NULL DEFAULT NULL COMMENT '优惠券领取开启时间',
    `limit_time`          datetime NULL DEFAULT NULL COMMENT '优惠券领取结束时间',
    `total_count`         int NULL DEFAULT NULL COMMENT '优惠券领取数量',
    `remain_count`        int NULL DEFAULT NULL COMMENT '优惠券剩余领取数量',
    `is_permanent`        tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否无限张数',
    `status`              tinyint(1) NOT NULL DEFAULT 1 COMMENT '1 正常 0 未开启 -1 已无效',
    `is_del`              tinyint UNSIGNED NOT NULL DEFAULT 0,
    `create_time`         datetime NULL DEFAULT NULL COMMENT '优惠券添加时间',
    `update_time`         datetime NULL DEFAULT NULL,
    `limit_receive_count` int NULL DEFAULT NULL COMMENT '优惠券领取次数',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `coupon_type`(`coupon_type` ASC) USING BTREE,
    INDEX                 `remain_count`(`remain_count` ASC) USING BTREE,
    INDEX                 `is_permanent`(`is_permanent` ASC) USING BTREE,
    INDEX                 `is_del`(`is_del` ASC) USING BTREE,
    INDEX                 `idx_coupon_status_del`(`coupon_id` ASC, `status` ASC, `is_del` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '已发布优惠券' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_coupon_issue_relation
-- ----------------------------
DROP TABLE IF EXISTS `live_coupon_issue_relation`;
CREATE TABLE `live_coupon_issue_relation`
(
    `live_id`         bigint NOT NULL,
    `coupon_issue_id` bigint NOT NULL,
    `is_show`         tinyint NULL DEFAULT NULL,
    `goods_id`        bigint NULL DEFAULT NULL,
    UNIQUE INDEX `live_ids`(`live_id` ASC, `coupon_issue_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_coupon_issue_user
-- ----------------------------
DROP TABLE IF EXISTS `live_coupon_issue_user`;
CREATE TABLE `live_coupon_issue_user`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_id`     bigint NULL DEFAULT NULL COMMENT '领取优惠券用户ID',
    `issue_id`    bigint NULL DEFAULT NULL COMMENT '优惠券领取ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '领取时间',
    `update_time` datetime NULL DEFAULT NULL,
    `is_del`      tinyint(1) NULL DEFAULT 0,
    `goods_id`    bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `uid`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券用户领取记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_coupon_user
-- ----------------------------
DROP TABLE IF EXISTS `live_coupon_user`;
CREATE TABLE `live_coupon_user`
(
    `id`            bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '优惠券发放记录id',
    `coupon_id`     bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '兑换的项目id',
    `user_id`       bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券所属用户',
    `coupon_title`  varchar(32)   NOT NULL COMMENT '优惠券名称',
    `coupon_price`  decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '优惠券的面值',
    `use_min_price` decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '最低消费多少金额可用优惠券',
    `create_time`   datetime                                               NOT NULL COMMENT '优惠券创建时间',
    `update_time`   datetime NULL DEFAULT NULL,
    `limit_time`    datetime                                               NOT NULL COMMENT '优惠券结束时间',
    `use_time`      datetime NULL DEFAULT NULL COMMENT '使用时间',
    `type`          varchar(32)   NOT NULL DEFAULT 'send' COMMENT '获取方式',
    `status`        tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态（0：未使用，1：已使用, 2:已过期）',
    `is_fail`       tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有效',
    `is_del`        tinyint(1) NULL DEFAULT 0,
    `goods_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `cid`(`coupon_id` ASC) USING BTREE,
    INDEX           `uid`(`user_id` ASC) USING BTREE,
    INDEX           `add_time`(`create_time` ASC) USING BTREE,
    INDEX           `end_time`(`limit_time` ASC) USING BTREE,
    INDEX           `status`(`status` ASC) USING BTREE,
    INDEX           `is_fail`(`is_fail` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '优惠券发放记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_data
-- ----------------------------
DROP TABLE IF EXISTS `live_data`;
CREATE TABLE `live_data`
(
    `live_id`                 bigint NOT NULL COMMENT '直播id',
    `page_views`              int NULL DEFAULT 0 COMMENT '浏览量',
    `unique_visitors`         int NULL DEFAULT 0 COMMENT '访客数',
    `total_views`             int NULL DEFAULT 0 COMMENT '累计观看人次',
    `unique_viewers`          int NULL DEFAULT 0 COMMENT '累计观看人数',
    `peak_concurrent_viewers` int NULL DEFAULT 0 COMMENT '最高在线人数',
    `likes`                   int NULL DEFAULT 0 COMMENT '点赞数',
    `favourite_num`           int NULL DEFAULT 0 COMMENT '收藏数',
    `follow_num`              int NULL DEFAULT 0 COMMENT '关注数',
    `replay_view_num`         int NULL DEFAULT NULL COMMENT '回放观看数据',
    `replay_like_num`         int NULL DEFAULT NULL COMMENT '回放点赞数据',
    PRIMARY KEY (`live_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '直播数据表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_event_conf
-- ----------------------------
DROP TABLE IF EXISTS `live_event_conf`;
CREATE TABLE `live_event_conf`
(
    `event_id`      bigint   NOT NULL AUTO_INCREMENT,
    `live_id`       bigint   NOT NULL COMMENT '直播间ID',
    `event_type`    int      NOT NULL COMMENT '事件类型 (0:用户进入直播间, 1:用户发言, 2:用户点赞, 3:用户关注)',
    `trigger_count` int      NOT NULL COMMENT '触发阈值',
    `red_id`        bigint   NOT NULL COMMENT '关联红包ID',
    `create_time`   datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改日期',
    `create_by`     varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`     varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`event_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '直播触发事件配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_gift
-- ----------------------------
DROP TABLE IF EXISTS `live_gift`;
CREATE TABLE `live_gift`
(
    `gift_id`     int                                                           NOT NULL AUTO_INCREMENT COMMENT '礼物唯一标识',
    `gift_name`   varchar(255)   NOT NULL COMMENT '礼物名称',
    `description` text   NULL COMMENT '礼物描述',
    `icon_url`    varchar(255)   NULL DEFAULT NULL COMMENT '礼物图标链接地址',
    `price`       decimal(10, 2)                                                NOT NULL COMMENT '礼物价格',
    `status`      enum('0','1')   NULL DEFAULT '0' COMMENT '礼物当前状态',
    PRIMARY KEY (`gift_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播间礼物配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_goods
-- ----------------------------
DROP TABLE IF EXISTS `live_goods`;
CREATE TABLE `live_goods`
(
    `goods_id`        bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `live_id`         bigint NULL DEFAULT NULL COMMENT '直播ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `store_id`        bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `product_id`      bigint NULL DEFAULT NULL COMMENT '商品ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 1上架 0下架',
    `stock`           int NULL DEFAULT NULL COMMENT '库存表',
    `sort`            int NULL DEFAULT NULL COMMENT '排序号',
    `keywords`        varchar(64)   NULL DEFAULT NULL COMMENT '产品名称搜索关键字',
    `is_show`         tinyint(1) NULL DEFAULT NULL COMMENT '卡片推荐状态 0不展示 1展示',
    `sales`           bigint NULL DEFAULT NULL COMMENT '销量',
    PRIMARY KEY (`goods_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播商品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_goods_order
-- ----------------------------
DROP TABLE IF EXISTS `live_goods_order`;
CREATE TABLE `live_goods_order`
(
    `order_id`        bigint NOT NULL,
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `order_sn`        varchar(20)   NULL DEFAULT NULL COMMENT '订单号',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户ID',
    `user_name`       varchar(20)   NULL DEFAULT NULL COMMENT '收货人',
    `mobile`          varchar(20)   NULL DEFAULT NULL COMMENT '手机号',
    `address`         varchar(200)   NULL DEFAULT NULL COMMENT '地址',
    `pay_money`       decimal(11, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `order_money`     decimal(11, 2) NULL DEFAULT NULL COMMENT '订单金额',
    `delivery_code`   varchar(20)   NULL DEFAULT NULL COMMENT '物流编号',
    `delivery_name`   varchar(20)   NULL DEFAULT NULL COMMENT '物流名称',
    `delivery_sn`     varchar(20)   NULL DEFAULT NULL COMMENT '物流单号',
    `pay_time`        datetime NULL DEFAULT NULL COMMENT '支付时间',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `finish_time`     datetime NULL DEFAULT NULL COMMENT '完成时间',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款',
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_goods_order_items
-- ----------------------------
DROP TABLE IF EXISTS `live_goods_order_items`;
CREATE TABLE `live_goods_order_items`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `goods_id`        bigint NULL DEFAULT NULL COMMENT '商品ID',
    `order_id`        bigint NULL DEFAULT NULL COMMENT '订单ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `goods_json`      varchar(2000)   NULL DEFAULT NULL COMMENT '商品JSON',
    `goods_name`      varchar(200)   NULL DEFAULT NULL COMMENT '商品名',
    `price`           decimal(11, 2) NULL DEFAULT NULL COMMENT '单价',
    `num`             int NULL DEFAULT NULL COMMENT '数量',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 1正常 2已退款',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '订单商品表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_lottery_conf
-- ----------------------------
DROP TABLE IF EXISTS `live_lottery_conf`;
CREATE TABLE `live_lottery_conf`
(
    `lottery_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '抽奖ID',
    `live_id`        bigint                                                  NOT NULL COMMENT '直播间ID',
    `require`        int                                                     NOT NULL COMMENT '参与抽奖方式 0:在线观众参与 1:关注参与 2:送礼参与 3:下单参与',
    `require_conf`   varchar(255)   NULL DEFAULT NULL COMMENT '参与抽奖方式 2/3对应的配置，2：送礼数量，以最低档位礼物为单位 3:指定商品Id及数量，|竖线分割',
    `duration`       int                                                     NOT NULL COMMENT '持续时间 单位：分',
    `desc`           varchar(255)   NOT NULL COMMENT '描述',
    `create_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改日期',
    `create_by`      varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`      varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    `lottery_status` varchar(1)     NOT NULL DEFAULT '0' COMMENT '抽奖状态 0:未开始 1:进行中 2:已结束',
    PRIMARY KEY (`lottery_id`) USING BTREE,
    INDEX            `idx_live_id`(`live_id` ASC) USING BTREE,
    INDEX            `live_id_idx`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播抽奖配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_lottery_product_conf
-- ----------------------------
DROP TABLE IF EXISTS `live_lottery_product_conf`;
CREATE TABLE `live_lottery_product_conf`
(
    `id`              bigint   NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `lottery_id`      bigint   NOT NULL COMMENT '抽奖ID',
    `live_id`         bigint   NOT NULL COMMENT '直播间ID',
    `product_id`      bigint   NOT NULL COMMENT '商品ID',
    `prize_level`     int      NOT NULL COMMENT '奖品等级',
    `per_lottery_num` int      NOT NULL COMMENT '单次中奖商品数量',
    `total_lots`      int      NOT NULL COMMENT '奖励总份数',
    `total_send`      int      NOT NULL COMMENT '实际发放奖励份数',
    `create_time`     datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改日期',
    `create_by`       varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播抽奖记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_lottery_registration
-- ----------------------------
DROP TABLE IF EXISTS `live_lottery_registration`;
CREATE TABLE `live_lottery_registration`
(
    `registration_id` bigint   NOT NULL AUTO_INCREMENT COMMENT '登记ID',
    `live_id`         bigint   NOT NULL COMMENT '直播间ID',
    `user_id`         bigint   NOT NULL COMMENT '用户ID',
    `is_win`          int NULL DEFAULT 0 COMMENT '是否中奖 0否1是',
    `rize_level`      int NULL DEFAULT NULL COMMENT '奖品等级',
    `create_time`     datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '修改日期',
    `create_by`       varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    `lottery_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`registration_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播抽奖登记表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_msg
-- ----------------------------
DROP TABLE IF EXISTS `live_msg`;
CREATE TABLE `live_msg`
(
    `msg_id`      bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `live_id`     bigint NULL DEFAULT NULL COMMENT '直播ID',
    `user_id123`  bigint NULL DEFAULT NULL COMMENT '用户ID',
    `nick_name`   varchar(255)   NULL DEFAULT NULL,
    `avatar`      varchar(255)   NULL DEFAULT NULL,
    `msg`         varchar(200)   NULL DEFAULT NULL COMMENT '消息',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `live_flag`   tinyint NULL DEFAULT NULL COMMENT '直播标识',
    `replay_flag` tinyint NULL DEFAULT NULL COMMENT '回放标识',
    `user_id`     bigint NULL DEFAULT NULL,
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX         `idx_live_id`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播讨论表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order
-- ----------------------------
DROP TABLE IF EXISTS `live_order`;
CREATE TABLE `live_order`
(
    `order_id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID',
    `live_id`              bigint NULL DEFAULT NULL COMMENT '直播ID',
    `store_id`             bigint NULL DEFAULT NULL,
    `order_code`           varchar(50)   NOT NULL COMMENT '订单号',
    `user_id`              bigint UNSIGNED NOT NULL COMMENT '用户id',
    `user_name`            varchar(32)   NULL DEFAULT NULL COMMENT '收货人',
    `user_phone`           varchar(50)   NULL DEFAULT NULL COMMENT '收货人电话',
    `user_address`         varchar(255)   NULL DEFAULT NULL COMMENT '详细地址',
    `cart_id`              varchar(256)   NULL DEFAULT '[]' COMMENT '购物车id',
    `total_num`            int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单商品总数',
    `total_price`          decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '订单总价',
    `pay_price`            decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '实际支付金额',
    `pay_money`            decimal(8, 2) NULL DEFAULT 0.00 COMMENT '支付金额',
    `is_pay`               tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付状态 待支付 1已支付',
    `pay_time`             datetime NULL DEFAULT NULL COMMENT '支付时间',
    `pay_type`             varchar(32)   NULL DEFAULT NULL COMMENT '支付方式 1微信',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL,
    `status`               tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态（-1 : 申请退款 -2 : 退货成功 1：待支付 2：待发货；3：待收货；4：待评价；5：已完成）',
    `refund_status`        tinyint UNSIGNED NULL DEFAULT 0 COMMENT '0 未退款 1 申请中 2 已退款',
    `refund_img`           varchar(255)   NULL DEFAULT NULL COMMENT '退款图片',
    `refund_explain`       varchar(255)   NULL DEFAULT NULL COMMENT '退款用户说明',
    `refund_time`          datetime NULL DEFAULT NULL COMMENT '退款时间',
    `refund_reason`        varchar(255)   NULL DEFAULT NULL COMMENT '不退款的理由',
    `refund_money`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '退款金额',
    `delivery_code`        varchar(100)   NULL DEFAULT '' COMMENT '快递公司编号',
    `delivery_name`        varchar(64)   NULL DEFAULT NULL COMMENT '快递名称',
    `delivery_sn`          varchar(32)   NULL DEFAULT NULL COMMENT '快递单号',
    `remark`               varchar(512)   NULL DEFAULT NULL COMMENT '备注',
    `is_del`               tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除',
    `cost_price`           decimal(8, 2) UNSIGNED NULL DEFAULT NULL COMMENT '成本价',
    `verify_code`          varchar(50)   NULL DEFAULT '' COMMENT '核销码',
    `shipping_type`        tinyint(1) NULL DEFAULT 1 COMMENT '配送方式 1=快递 ，2=门店自提',
    `is_channel`           tinyint UNSIGNED NULL DEFAULT 0 COMMENT '支付渠道(1微信小程序)',
    `finish_time`          datetime NULL DEFAULT NULL,
    `delivery_time`        varchar(50)   NULL DEFAULT NULL COMMENT '发货时间',
    `tui_money`            decimal(10, 2) NULL DEFAULT 0.00 COMMENT '推广佣金',
    `tui_money_status`     tinyint(1) NULL DEFAULT 0 COMMENT '推广佣金状态 1已发放 0待发放',
    `tui_user_id`          bigint NULL DEFAULT NULL COMMENT '上级推荐人ID',
    `item_json`            longtext   NULL COMMENT 'orderItem字符串',
    `discount_money`       decimal(10, 2) NULL DEFAULT 0.00 COMMENT '优惠金额',
    `user_coupon_id`       bigint NULL DEFAULT NULL,
    `company_id`           bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`      bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `store_house_code`     varchar(255)   NULL DEFAULT NULL COMMENT '仓库代码',
    `extend_order_id`      varchar(255)   NULL DEFAULT NULL COMMENT '扩展订单ID',
    `pay_delivery`         decimal(10, 2) NULL DEFAULT 0.00 COMMENT '支付运费',
    `pay_remain`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '剩余金额',
    `delivery_status`      tinyint(1) NULL DEFAULT NULL COMMENT '物流状态',
    `delivery_pay_status`  tinyint(1) NULL DEFAULT NULL COMMENT '物流结算状态',
    `delivery_pay_time`    varchar(50)   NULL DEFAULT NULL,
    `delivery_type`        varchar(32)   NULL DEFAULT NULL COMMENT '物流跟踪状态',
    `delivery_pay_money`   decimal(10, 2) NULL DEFAULT NULL COMMENT '物流结算金额',
    `delivery_import_time` datetime NULL DEFAULT NULL COMMENT '回单导入时间',
    `delivery_send_time`   datetime NULL DEFAULT NULL COMMENT '发货时间',
    `is_after_sales`       tinyint(1) NULL DEFAULT 1 COMMENT '是否可售后',
    `dept_id`              bigint NULL DEFAULT NULL COMMENT '部门id',
    `channel`              varchar(255)   NULL DEFAULT NULL COMMENT '渠道',
    `source`               int NULL DEFAULT NULL COMMENT '订单来源',
    `bill_price`           decimal(10, 2) NULL DEFAULT 0.00 COMMENT '开票金额',
    `total_postage`        decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '邮费',
    `pay_postage`          decimal(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '支付邮费',
    `gain_integral`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '消费赚取积分',
    `use_integral`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '使用积分',
    `pay_integral`         decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '实际支付积分',
    `back_integral`        decimal(8, 2) UNSIGNED NULL DEFAULT 0.00 COMMENT '给用户退了多少积分',
    `is_edit_money`        tinyint(1) NULL DEFAULT 0 COMMENT '是否改价',
    `cancel_reason`        varchar(255)   NULL DEFAULT NULL,
    `order_name`           varchar(255)   NULL DEFAULT NULL COMMENT '订单名称',
    `product_id`           bigint NULL DEFAULT NULL COMMENT '商品ID',
    `customer_id`          bigint(20) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '客户id',
    `coupon_price`         decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券金额',
    `real_name`            varchar(32)   NULL DEFAULT NULL,
    `app_id`               varchar(255)   NULL DEFAULT NULL COMMENT '小程序Id',
    PRIMARY KEY (`order_id`) USING BTREE,
    UNIQUE INDEX `id`(`order_code` ASC, `user_id` ASC) USING BTREE,
    INDEX                  `uid`(`user_id` ASC) USING BTREE,
    INDEX                  `paid`(`is_pay` ASC) USING BTREE,
    INDEX                  `pay_type`(`pay_type` ASC) USING BTREE,
    INDEX                  `status`(`status` ASC) USING BTREE,
    INDEX                  `is_del`(`is_del` ASC) USING BTREE,
    INDEX                  `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                  `company_id`(`company_id` ASC) USING BTREE,
    INDEX                  `deslivery_sn`(`delivery_sn` ASC) USING BTREE,
    INDEX                  `store_id`(`store_id` ASC) USING BTREE,
    INDEX                  `add_time`(`create_time` ASC) USING BTREE,
    INDEX                  `pay_price`(`pay_price` ASC) USING BTREE,
    INDEX                  `pay_time`(`pay_time` ASC) USING BTREE,
    INDEX                  `user_phone`(`user_phone` ASC) USING BTREE,
    INDEX                  `delivery_sn`(`delivery_sn` ASC) USING BTREE,
    INDEX                  `user_name`(`user_name` ASC) USING BTREE,
    INDEX                  `live_id`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_df
-- ----------------------------
DROP TABLE IF EXISTS `live_order_df`;
CREATE TABLE `live_order_df`
(
    `order_id`             bigint                                                        NOT NULL COMMENT '订单id',
    `order_code`           varchar(32)   NULL DEFAULT NULL COMMENT '订单编号',
    `app_key`              varchar(50)    NOT NULL,
    `app_secret`           varchar(50)    NOT NULL,
    `login_account`        varchar(255)   NOT NULL,
    `monthly_card`         varchar(255)   NOT NULL COMMENT '顺丰月结账户',
    `express_product_code` varchar(10)   NULL DEFAULT NULL COMMENT '物流产品编码:1-顺丰标快，2-顺丰标快（陆运）,204-陆运微小件,231-陆运包裹,208-特惠专配',
    `total_price`          decimal(10, 2) NULL DEFAULT NULL COMMENT '订单总价',
    `platform_price`       decimal(10, 2) NULL DEFAULT NULL COMMENT '平台收款',
    `status`               tinyint                                                       NOT NULL DEFAULT 0 COMMENT '0:默认 1下单 2取消订单',
    `create_time`          datetime                                                      NOT NULL,
    `update_time`          datetime NULL DEFAULT NULL,
    `fail_msg`             varchar(255)   NULL DEFAULT NULL COMMENT '失败原因',
    `parcel_quantity`      int NULL DEFAULT 1 COMMENT '包裹数量',
    PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_item
-- ----------------------------
DROP TABLE IF EXISTS `live_order_item`;
CREATE TABLE `live_order_item`
(
    `item_id`               bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`              bigint UNSIGNED NOT NULL COMMENT '订单id',
    `order_code`            varchar(50)   NULL DEFAULT NULL COMMENT '订单号',
    `cart_id`               bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '购物车ID',
    `goods_id`              bigint NULL DEFAULT NULL COMMENT '直播商品ID',
    `product_id`            bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品ID',
    `product_attr_value_id` bigint NULL DEFAULT NULL COMMENT '商品规格ID',
    `json_info`             text   NULL COMMENT 'JSON',
    `num`                   int NULL DEFAULT NULL COMMENT '数量',
    `is_after_sales`        tinyint(1) NULL DEFAULT 0 COMMENT '是否申请售后 0否1是',
    `is_prescribe`          tinyint(1) NULL DEFAULT NULL COMMENT '是否为处方药',
    `store_id`              bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `is_gift`               tinyint(1) NULL DEFAULT NULL COMMENT '是否赠品',
    PRIMARY KEY (`item_id`) USING BTREE,
    INDEX                   `cart_id`(`cart_id` ASC) USING BTREE,
    INDEX                   `product_id`(`product_id` ASC) USING BTREE,
    INDEX                   `order_id`(`order_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单详情表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_logs
-- ----------------------------
DROP TABLE IF EXISTS `live_order_logs`;
CREATE TABLE `live_order_logs`
(
    `logs_id`        bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    `operator`       varchar(200)   NULL DEFAULT NULL COMMENT '操作员',
    PRIMARY KEY (`logs_id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_payment
-- ----------------------------
DROP TABLE IF EXISTS `live_order_payment`;
CREATE TABLE `live_order_payment`
(
    `payment_id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `pay_code`            varchar(50)   NULL DEFAULT NULL COMMENT '支付订单号',
    `pay_type_code`       varchar(20)   NULL DEFAULT NULL COMMENT '支付类型 weixin alipay',
    `pay_money`           decimal(10, 2) NULL DEFAULT NULL COMMENT '支付金额',
    `pay_time`            datetime NULL DEFAULT NULL COMMENT '支付时间',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `trade_no`            varchar(100)   NULL DEFAULT NULL COMMENT '外部订单号',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户ID',
    `open_id`             varchar(32)   NULL DEFAULT NULL COMMENT 'OPENID',
    `business_type`       tinyint(1) NULL DEFAULT NULL COMMENT '业务类型 ',
    `business_id`         varchar(50)   NULL DEFAULT NULL COMMENT '关联业务ID',
    `status`              tinyint(1) NULL DEFAULT 0 COMMENT '状态 0未支付 1已支付 -1 已退款',
    `remark`              varchar(255)   NULL DEFAULT NULL,
    `bank_transaction_id` varchar(50)   NULL DEFAULT NULL COMMENT '交易单号',
    `bank_serial_no`      varchar(50)   NULL DEFAULT NULL COMMENT '银行流水号',
    `refund_money`        decimal(11, 2) NULL DEFAULT 0.00 COMMENT '退款金额',
    `refund_time`         datetime NULL DEFAULT NULL COMMENT '退款时间',
    `store_id`            bigint NULL DEFAULT NULL COMMENT '店铺ID',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '员工id',
    `business_code`       varchar(50)   NULL DEFAULT NULL COMMENT '关联业务编号',
    `pay_mode`            varchar(20)   NULL DEFAULT NULL COMMENT '支付方式: zb tz wx',
    `share_status`        tinyint(1) NULL DEFAULT 0 COMMENT '分账状态 0未分账 1已分账',
    `share_code`          varchar(50)   NULL DEFAULT NULL COMMENT '分账单号',
    `share_money`         decimal(10, 2) NULL DEFAULT NULL COMMENT '分账金额',
    `is_share`            tinyint(1) NULL DEFAULT 0 COMMENT '是否分账',
    `app_id`              varchar(50)   NULL DEFAULT NULL COMMENT '支付小程序的appId',
    `mer_config_id`       bigint NULL DEFAULT NULL COMMENT '商户配置id',
    PRIMARY KEY (`payment_id`) USING BTREE,
    INDEX                 `pay_code`(`pay_code` ASC) USING BTREE,
    INDEX                 `user_id`(`user_id` ASC) USING BTREE,
    INDEX                 `business_index`(`business_type` ASC, `business_id` ASC) USING BTREE,
    INDEX                 `company_id`(`company_id` ASC) USING BTREE,
    INDEX                 `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX                 `business_code`(`business_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '支付明细表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_payment_error
-- ----------------------------
DROP TABLE IF EXISTS `live_order_payment_error`;
CREATE TABLE `live_order_payment_error`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `order_flow_no` varchar(255)   NULL DEFAULT NULL COMMENT '外部单号',
    `order_no`      varchar(255)   NULL DEFAULT NULL COMMENT '订单编号',
    `msg`           text   NULL COMMENT '信息',
    `status`        int NULL DEFAULT NULL COMMENT '0未处理 1已处理',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_order_status
-- ----------------------------
DROP TABLE IF EXISTS `live_order_status`;
CREATE TABLE `live_order_status`
(
    `id`             bigint UNSIGNED NOT NULL AUTO_INCREMENT,
    `order_id`       bigint UNSIGNED NOT NULL COMMENT '订单id',
    `change_type`    varchar(32)    NOT NULL COMMENT '操作类型',
    `change_message` varchar(256)   NOT NULL COMMENT '操作备注',
    `change_time`    datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `oid`(`order_id` ASC) USING BTREE,
    INDEX            `change_type`(`change_type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '订单操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_question
-- ----------------------------
DROP TABLE IF EXISTS `live_question`;
CREATE TABLE `live_question`
(
    `question_id`     bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企业用户ID',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户ID',
    `question`        varchar(200)   NULL DEFAULT NULL COMMENT '问题内容',
    `reply`           varchar(200)   NULL DEFAULT NULL COMMENT '回复',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `reply_time`      datetime NULL DEFAULT NULL COMMENT '回复时间',
    PRIMARY KEY (`question_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '问答表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_question_answer_red_packet
-- ----------------------------
DROP TABLE IF EXISTS `live_question_answer_red_packet`;
CREATE TABLE `live_question_answer_red_packet`
(
    `id`                   bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `answer_red_packet_id` bigint                                                        NOT NULL COMMENT '答题红包活动ID',
    `question_id`          bigint                                                        NOT NULL COMMENT '题库ID',
    `sort`                 int NULL DEFAULT 0 COMMENT '序号',
    `create_time`          datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`            varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `idx_answer`(`answer_red_packet_id` ASC) USING BTREE,
    INDEX                  `idx_question`(`question_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '答题红包活动题库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_question_bank
-- ----------------------------
DROP TABLE IF EXISTS `live_question_bank`;
CREATE TABLE `live_question_bank`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `title`       varchar(255)   NOT NULL COMMENT '标题',
    `content`     varchar(512)   NOT NULL COMMENT '内容',
    `type`        tinyint                                                       NOT NULL COMMENT '题目类型 1单选 2多选',
    `answer`      varchar(255)   NOT NULL COMMENT '答案',
    `sort`        int NULL DEFAULT 0 COMMENT '序号',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `update_by`   varchar(255)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_type`(`type` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '题库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_question_live
-- ----------------------------
DROP TABLE IF EXISTS `live_question_live`;
CREATE TABLE `live_question_live`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `question_id` bigint                                                        NOT NULL COMMENT '题库ID',
    `send_state`  tinyint NULL DEFAULT 0 COMMENT '发送状态 0未发送 1已发送',
    `sort`        int NULL DEFAULT 0 COMMENT '序号',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_live`(`live_id` ASC) USING BTREE,
    INDEX         `idx_question`(`question_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间题库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_question_user_log
-- ----------------------------
DROP TABLE IF EXISTS `live_question_user_log`;
CREATE TABLE `live_question_user_log`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `source_type` tinyint                                                       NOT NULL COMMENT '来源类型 1答题红包 2答题',
    `source_id`   bigint                                                        NOT NULL COMMENT '来源ID',
    `question_id` bigint                                                        NOT NULL COMMENT '题库ID',
    `user_id`     bigint                                                        NOT NULL COMMENT '用户ID',
    `title`       varchar(255)   NOT NULL COMMENT '标题',
    `content`     varchar(512)   NOT NULL COMMENT '内容',
    `type`        tinyint                                                       NOT NULL COMMENT '题目类型 1单选 2多选',
    `answer`      varchar(255)   NOT NULL COMMENT '答案',
    `reply`       varchar(255)   NOT NULL COMMENT '回答',
    `correct`     tinyint                                                       NOT NULL COMMENT '是否正确 0:错误 1:正确',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_live`(`live_id` ASC) USING BTREE,
    INDEX         `idx_question`(`question_id` ASC) USING BTREE,
    INDEX         `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间用户答题记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_red_conf
-- ----------------------------
DROP TABLE IF EXISTS `live_red_conf`;
CREATE TABLE `live_red_conf`
(
    `red_id`      bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '红包ID',
    `red_status`  int                                                     NOT NULL DEFAULT 0 COMMENT '红包状态 0:未发放 1:已发放 2:已结束',
    `duration`    int                                                     NOT NULL COMMENT '有效时间 单位：分',
    `red_type`    int                                                     NOT NULL COMMENT '红包类型 1:主播发起 2:事件红包',
    `live_id`     bigint                                                  NOT NULL COMMENT '直播间ID',
    `red_num`     bigint                                                  NOT NULL COMMENT '红包数量',
    `total_lots`  int                                                     NOT NULL COMMENT '可中奖份量',
    `total_send`  int(10) UNSIGNED ZEROFILL NULL DEFAULT 0000000000 COMMENT '实际发放奖励份量',
    `desc`        varchar(255)   NOT NULL COMMENT '描述',
    `create_time` datetime                                                NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改日期',
    `udpate_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改日期',
    `create_by`   varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`red_id`) USING BTREE,
    INDEX         `idx_live_id`(`live_id` ASC) USING BTREE,
    INDEX         `live_id_idx`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播红包记录配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_reward_compensation
-- ----------------------------
DROP TABLE IF EXISTS `live_reward_compensation`;
CREATE TABLE `live_reward_compensation`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '芳华币补偿主键id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `union_id`    varchar(50)   NULL DEFAULT NULL COMMENT '关联id',
    `status`      tinyint NULL DEFAULT NULL COMMENT '状态：0、待补偿 ,1、补偿完成，2、补偿失败',
    `log_type`    int NULL DEFAULT NULL COMMENT '日志类型',
    `business_id` bigint NULL DEFAULT NULL COMMENT '业务id',
    `integral`    int NULL DEFAULT NULL COMMENT '积分',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播奖励补偿记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_reward_record
-- ----------------------------
DROP TABLE IF EXISTS `live_reward_record`;
CREATE TABLE `live_reward_record`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `user_id`     bigint                                                        NOT NULL COMMENT '用户ID',
    `income_type` tinyint                                                       NOT NULL COMMENT '收支类型 1收入 2支出',
    `source_type` tinyint                                                       NOT NULL COMMENT '来源类型 1观看奖励 2答题红包 3观看积分',
    `source_id`   bigint                                                        NOT NULL COMMENT '来源ID',
    `reward_type` tinyint                                                       NOT NULL COMMENT '奖励类型 1现金 2积分',
    `num`         decimal(12, 2)                                                NOT NULL COMMENT '奖励数量',
    `before_num`  decimal(12, 2) NULL DEFAULT NULL COMMENT '奖励前数量',
    `after_num`   decimal(12, 2) NULL DEFAULT NULL COMMENT '奖励后数量',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_live`(`live_id` ASC) USING BTREE,
    INDEX         `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户直播间奖励记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_reward_record_wx
-- ----------------------------
DROP TABLE IF EXISTS `live_reward_record_wx`;
CREATE TABLE `live_reward_record_wx`
(
    `id`           bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`      bigint                                                        NOT NULL COMMENT '直播ID',
    `user_id`      bigint                                                        NOT NULL COMMENT '用户ID',
    `source_type`  tinyint                                                       NOT NULL COMMENT '来源类型 1观看奖励 2答题红包',
    `source_id`    bigint                                                        NOT NULL COMMENT '来源ID',
    `amount`       decimal(12, 2)                                                NOT NULL COMMENT '转账金额(元)',
    `out_batch_no` varchar(255)   NOT NULL COMMENT '转账批次号',
    `package_info` varchar(500)   NULL DEFAULT NULL COMMENT '跳转领取页面的package信息',
    `state`        tinyint NULL DEFAULT 0 COMMENT '状态 0发送中 1已发送',
    `create_time`  datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`    varchar(255)   NOT NULL COMMENT '创建人',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `idx_live`(`live_id` ASC) USING BTREE,
    INDEX          `idx_user`(`user_id` ASC) USING BTREE,
    INDEX          `idx_batch`(`out_batch_no` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '用户直播间奖励微信转账记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_room_online_trend
-- ----------------------------
DROP TABLE IF EXISTS `live_room_online_trend`;
CREATE TABLE `live_room_online_trend`
(
    `id`           bigint   NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_room_id` bigint   NOT NULL COMMENT '直播间ID',
    `online_num`   int      NOT NULL DEFAULT 0 COMMENT '在线人数',
    `stat_time`    datetime NOT NULL COMMENT '统计时间（精确到10分钟整点，如09:00、09:10）',
    `create_time`  datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_room_time`(`live_room_id` ASC, `stat_time` ASC) USING BTREE COMMENT '唯一索引：防止重复统计',
    INDEX          `idx_stat_time`(`stat_time` ASC) USING BTREE COMMENT '时间索引：优化按时间范围查询'
) ENGINE = InnoDB COMMENT = '直播间每10分钟在线人数统计表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_sensitive_words
-- ----------------------------
DROP TABLE IF EXISTS `live_sensitive_words`;
CREATE TABLE `live_sensitive_words`
(
    `word_id`     int                                                           NOT NULL AUTO_INCREMENT COMMENT '敏感词唯一标识',
    `word`        varchar(255)   NOT NULL COMMENT '需要过滤的敏感词',
    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '敏感词添加时间',
    PRIMARY KEY (`word_id`) USING BTREE,
    UNIQUE INDEX `word`(`word` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播间敏感词过滤表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_student_data
-- ----------------------------
DROP TABLE IF EXISTS `live_student_data`;
CREATE TABLE `live_student_data`
(
    `live_id`           bigint NOT NULL COMMENT '直播间id',
    `live_name`         varchar(255)   NULL DEFAULT NULL COMMENT '直播间名称',
    `user_name`         varchar(255)   NULL DEFAULT NULL COMMENT '客户名',
    `user_id`           bigint NOT NULL COMMENT '客户id',
    `user_phone`        varchar(20)   NULL DEFAULT NULL COMMENT '客户电话',
    `user_create_time`  datetime NULL DEFAULT NULL COMMENT '客户创建时间',
    `dept_name`         varchar(255)   NULL DEFAULT NULL COMMENT '归属部门名称',
    `dept_id`           bigint NULL DEFAULT NULL COMMENT '归属部门id',
    `company_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '跟进人姓名',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '跟进人id',
    `share_count`       int NULL DEFAULT NULL COMMENT '分享直播间次数',
    PRIMARY KEY (`live_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间学员数据表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_tag_config
-- ----------------------------
DROP TABLE IF EXISTS `live_tag_config`;
CREATE TABLE `live_tag_config`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `live_id`          bigint NULL DEFAULT NULL COMMENT '直播间id',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企微主体id',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司id',
    `mark_type`        int NULL DEFAULT NULL COMMENT '标记标签行为类型，数据字典live_mark_type',
    `qw_tag_id`        bigint NULL DEFAULT NULL COMMENT '企微标签id',
    `qw_tag_real_id`   varchar(255)   NULL DEFAULT NULL COMMENT '企微标签真实id',
    `qw_tag_name`      varchar(255)   NULL DEFAULT NULL COMMENT '企微标签名称',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_user_id`   bigint NULL DEFAULT NULL COMMENT '创建人id',
    `create_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `update_user_id`   bigint NULL DEFAULT NULL COMMENT '更新人id',
    `update_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `live_idx`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间标签配置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_traffic_log
-- ----------------------------
DROP TABLE IF EXISTS `live_traffic_log`;
CREATE TABLE `live_traffic_log`
(
    `log_id`                 bigint NOT NULL AUTO_INCREMENT COMMENT '日志Id',
    `user_id`                bigint NULL DEFAULT NULL COMMENT '用户id',
    `live_id`                bigint NULL DEFAULT NULL COMMENT '直播间id',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `qw_external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `internet_traffic`       bigint NULL DEFAULT 0 COMMENT '使用流量',
    `qw_user_id`             varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微userId',
    `company_user_id`        int NULL DEFAULT NULL COMMENT '销售id',
    `company_id`             int NULL DEFAULT NULL COMMENT '公司id',
    `video_id`               int NULL DEFAULT NULL COMMENT '课程id',
    `uu_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '唯一id',
    PRIMARY KEY (`log_id`) USING BTREE,
    UNIQUE INDEX `index_uu_id`(`uu_id` ASC) USING BTREE COMMENT '唯一id标识',
    INDEX                    `company_id`(`company_id` ASC) USING BTREE COMMENT '公司id'
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播流量记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user
-- ----------------------------
DROP TABLE IF EXISTS `live_user`;
CREATE TABLE `live_user`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `live_id`     bigint NULL DEFAULT NULL COMMENT '直播ID',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户ID',
    `msg_status`  int NULL DEFAULT 0 COMMENT '消息状态;0正常1禁言',
    `online`      int NULL DEFAULT 0 COMMENT '在线状态;0在线1离线',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`      varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '直播间观看用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_favorite
-- ----------------------------
DROP TABLE IF EXISTS `live_user_favorite`;
CREATE TABLE `live_user_favorite`
(
    `store_id`    bigint NULL DEFAULT NULL COMMENT '店铺id',
    `favorite_id` bigint NOT NULL AUTO_INCREMENT COMMENT '收藏id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `live_id`     bigint NULL DEFAULT NULL COMMENT '直播id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `product_id`  bigint NULL DEFAULT NULL COMMENT '商品id',
    PRIMARY KEY (`favorite_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户直播收藏表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_first_entry
-- ----------------------------
DROP TABLE IF EXISTS `live_user_first_entry`;
CREATE TABLE `live_user_first_entry`
(
    `id`               bigint   NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_id`          bigint   NOT NULL COMMENT '用户ID',
    `live_id`          bigint   NOT NULL COMMENT '直播间ID',
    `entry_date`       date     NOT NULL COMMENT '进入日期',
    `first_entry_time` datetime NOT NULL COMMENT '当天首次进入时间',
    `create_time`      datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`      datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '公司用户id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_liveId_userId`(`user_id` ASC, `live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户每日首次进入直播间记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_follow
-- ----------------------------
DROP TABLE IF EXISTS `live_user_follow`;
CREATE TABLE `live_user_follow`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '关注id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `live_id`     bigint NULL DEFAULT NULL COMMENT '直播id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户直播关注表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_gift
-- ----------------------------
DROP TABLE IF EXISTS `live_user_gift`;
CREATE TABLE `live_user_gift`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `live_id`     bigint NOT NULL COMMENT '直播ID',
    `user_id`     bigint NOT NULL COMMENT '用户ID',
    `gift_id`     bigint NOT NULL COMMENT '礼物ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_by`   varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   varchar(255)   NULL DEFAULT NULL COMMENT '修改人',
    `cn`          int    NOT NULL COMMENT '礼物数量',
    `gift_name`   varchar(255)   NULL DEFAULT NULL COMMENT '礼物名字',
    `gift_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_like
-- ----------------------------
DROP TABLE IF EXISTS `live_user_like`;
CREATE TABLE `live_user_like`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '点赞id',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '用户id',
    `live_id`     bigint NULL DEFAULT NULL COMMENT '直播id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户直播赞表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_lottery_record
-- ----------------------------
DROP TABLE IF EXISTS `live_user_lottery_record`;
CREATE TABLE `live_user_lottery_record`
(
    `id`           bigint   NOT NULL AUTO_INCREMENT,
    `lottery_id`   bigint   NOT NULL COMMENT '抽奖ID',
    `live_id`      bigint   NOT NULL COMMENT '直播间ID',
    `user_id`      bigint   NOT NULL COMMENT '中奖用户ID',
    `product_id`   bigint   NOT NULL COMMENT '商品ID',
    `create_time`  datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改日期',
    `create_by`    varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    `order_id`     bigint NULL DEFAULT NULL COMMENT '订单id',
    `order_status` int NULL DEFAULT NULL COMMENT '订单状态',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播用户中奖记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_red_record
-- ----------------------------
DROP TABLE IF EXISTS `live_user_red_record`;
CREATE TABLE `live_user_red_record`
(
    `id`          bigint   NOT NULL AUTO_INCREMENT,
    `red_id`      bigint   NOT NULL COMMENT '抽奖ID',
    `live_id`     bigint   NOT NULL COMMENT '直播间ID',
    `user_id`     bigint   NOT NULL COMMENT '中奖用户ID',
    `integral`    bigint   NOT NULL COMMENT '芳华币数量',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改日期',
    `create_by`   varchar(10)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`   varchar(10)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播用户红包记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_video_duration
-- ----------------------------
DROP TABLE IF EXISTS `live_user_video_duration`;
CREATE TABLE `live_user_video_duration`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `user_id`     bigint                                                        NOT NULL COMMENT '用户ID',
    `start_time`  datetime                                                      NOT NULL COMMENT '观看开始时间',
    `end_time`    datetime NULL DEFAULT NULL COMMENT '观看结束时间',
    `duration`    int NULL DEFAULT 0 COMMENT '观看时长(秒)',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_live`(`live_id` ASC) USING BTREE,
    INDEX         `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播观看时长记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_user_watch_duration
-- ----------------------------
DROP TABLE IF EXISTS `live_user_watch_duration`;
CREATE TABLE `live_user_watch_duration`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`     bigint                                                        NOT NULL COMMENT '直播ID',
    `user_id`     bigint                                                        NOT NULL COMMENT '用户ID',
    `start_time`  datetime                                                      NOT NULL COMMENT '观看开始时间',
    `end_time`    datetime NULL DEFAULT NULL COMMENT '观看结束时间',
    `duration`    int NULL DEFAULT 0 COMMENT '观看时长(秒)',
    `create_time` datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_live`(`live_id` ASC) USING BTREE,
    INDEX         `idx_user`(`user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播观看时长记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_video
-- ----------------------------
DROP TABLE IF EXISTS `live_video`;
CREATE TABLE `live_video`
(
    `video_id`      bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `live_id`       bigint NULL DEFAULT NULL COMMENT '直播ID',
    `video_url`     varchar(200)   NULL DEFAULT NULL COMMENT '视频地址',
    `video_type`    tinyint(1) NULL DEFAULT NULL COMMENT '类型 1录播 2回放',
    `duration`      int NULL DEFAULT NULL COMMENT '时长',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`     bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`     bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`        varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `sort`          int NULL DEFAULT NULL COMMENT '排序号',
    `file_size`     int NULL DEFAULT NULL COMMENT '文件大小',
    `finish_status` tinyint NULL DEFAULT NULL COMMENT '转码状态',
    PRIMARY KEY (`video_id`) USING BTREE,
    INDEX           `live_id_idx`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播视频表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_watch_config
-- ----------------------------
DROP TABLE IF EXISTS `live_watch_config`;
CREATE TABLE `live_watch_config`
(
    `id`                            bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`                       bigint                                                        NOT NULL COMMENT '直播ID',
    `participate_condition`         tinyint                                                       NOT NULL COMMENT '参与条件 1达到指定观看时长',
    `watch_duration`                int                                                           NOT NULL COMMENT '观看时长',
    `action`                        tinyint                                                       NOT NULL COMMENT '实施动作 1现金红包 2积分红包',
    `receive_prompt`                varchar(255)   NOT NULL COMMENT '领取提示语',
    `red_packet_type`               tinyint NULL DEFAULT NULL COMMENT '红包发放方式 1固定金额 2随机金额',
    `red_packet_amount`             decimal(12, 2) NULL DEFAULT NULL COMMENT '红包金额',
    `red_packet_random_amount`      varchar(255)   NULL DEFAULT NULL COMMENT '红包随机规则',
    `red_packet_count`              int NULL DEFAULT NULL COMMENT '红包数量最大发放人数',
    `red_packet_receive_method`     tinyint NULL DEFAULT NULL COMMENT '红包领取方式 1二维码核销 2微信提现',
    `red_packet_receive_time_limit` int NULL DEFAULT NULL COMMENT '红包领取时限',
    `red_packet_withdraw_condition` tinyint NULL DEFAULT NULL COMMENT '微信提现条件 1无条件 2添加过员工企微才可领取',
    `red_packet_guide`              tinyint NULL DEFAULT NULL COMMENT '客服引导 1跟进企业微信 2不设置',
    `red_packet_guide_text`         varchar(255)   NULL DEFAULT NULL COMMENT '客服引导语',
    `score_amount`                  int NULL DEFAULT NULL COMMENT '积分值',
    `score_max_receiver`            int NULL DEFAULT NULL COMMENT '最大领取人数',
    `score_guide`                   tinyint NULL DEFAULT NULL COMMENT '客服引导 1引导外部链接 2不设置',
    `score_guide_link`              varchar(255)   NULL DEFAULT NULL COMMENT '积分使用引导链接',
    `score_guide_text`              varchar(255)   NULL DEFAULT NULL COMMENT '引导语',
    `create_time`                   datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`                     varchar(255)   NOT NULL COMMENT '创建人',
    `update_time`                   datetime NULL DEFAULT NULL COMMENT '修改时间',
    `update_by`                     varchar(255)   NULL DEFAULT NULL COMMENT '修改人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_live`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播观看奖励设置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_watch_log
-- ----------------------------
DROP TABLE IF EXISTS `live_watch_log`;
CREATE TABLE `live_watch_log`
(
    `log_id`              bigint NOT NULL AUTO_INCREMENT COMMENT '日志id',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '用户userId',
    `live_id`             bigint NULL DEFAULT NULL COMMENT '直播间id',
    `log_type`            int NULL DEFAULT NULL COMMENT '记录类型 1看课中 2完课 3待看课 4看课中断',
    `create_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
    `external_contact_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '销售id',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `finish_time`         datetime NULL DEFAULT NULL COMMENT '完课时间',
    `create_by`           varchar(255)   NULL DEFAULT NULL,
    `sop_create_time`     datetime NULL DEFAULT NULL COMMENT 'sop最后创建时间',
    `send_app_id`         varchar(255)   NULL DEFAULT NULL COMMENT '发送小程序appid',
    `log_source`          int NULL DEFAULT NULL COMMENT '日志创建来源：1、个人sop，2、群聊sop，3、一键群发',
    `qw_user_id`          varchar(255)   NULL DEFAULT NULL COMMENT '分享人企微id',
    `watch_type`          int NULL DEFAULT NULL COMMENT '查看直播类型：1、直播，2、回放',
    `corp_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企微主体id',
    `live_buy`            tinyint NULL DEFAULT NULL COMMENT '直播是否购买',
    `replay_buy`          tinyint NULL DEFAULT NULL COMMENT '回放是否购买',
    PRIMARY KEY (`log_id`) USING BTREE,
    UNIQUE INDEX `data_unique`(`external_contact_id` ASC, `live_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                 `live_idx`(`live_id` ASC) USING BTREE,
    INDEX                 `userId_idx`(`user_id` ASC) USING BTREE,
    INDEX                 `qw_external_contact_id_idx`(`external_contact_id` ASC) USING BTREE,
    INDEX                 `live_external_qw_user_idx`(`live_id` ASC, `external_contact_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                 `qw_user_idx`(`qw_user_id` ASC) USING BTREE,
    INDEX                 `log_type_idx`(`log_type` ASC) USING BTREE,
    INDEX                 `company_and_company_user_idx`(`company_id` ASC, `company_user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播看课记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_watch_score_rule
-- ----------------------------
DROP TABLE IF EXISTS `live_watch_score_rule`;
CREATE TABLE `live_watch_score_rule`
(
    `id`           bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `live_id`      bigint                                                        NOT NULL COMMENT '直播ID',
    `watch_minute` int                                                           NOT NULL COMMENT '大于观看分钟数',
    `score`        int                                                           NOT NULL COMMENT '获取积分数',
    `create_time`  datetime                                                      NOT NULL COMMENT '创建时间',
    `create_by`    varchar(255)   NOT NULL COMMENT '创建人',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `idx_live`(`live_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '直播观看积分规则表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for live_watch_user
-- ----------------------------
DROP TABLE IF EXISTS `live_watch_user`;
CREATE TABLE `live_watch_user`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `live_id`        bigint NULL DEFAULT NULL COMMENT '直播ID',
    `user_id`        bigint NULL DEFAULT NULL COMMENT '用户ID',
    `msg_status`     int NULL DEFAULT 0 COMMENT '消息状态;0正常1禁言',
    `online`         int NULL DEFAULT 0 COMMENT '在线状态;0在线1离线',
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`      bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`      bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`         varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `online_seconds` bigint NULL DEFAULT NULL COMMENT '在线总时长秒数',
    `global_visible` int NULL DEFAULT NULL COMMENT '全局用户自见',
    `single_visible` int NULL DEFAULT NULL COMMENT '用户自见',
    `live_flag`      int NULL DEFAULT NULL COMMENT '直播数据标识',
    `replay_flag`    int NULL DEFAULT NULL COMMENT '回放数据标识',
    `location`       varchar(52)   NULL DEFAULT NULL COMMENT '位置',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_liveId_userId_liveFlag_replayFlag`(`live_id` ASC, `user_id` ASC, `live_flag` ASC, `replay_flag` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '直播间观看用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for lucky_bag
-- ----------------------------
DROP TABLE IF EXISTS `lucky_bag`;
CREATE TABLE `lucky_bag`
(
    `id`             bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name`           varchar(50)   NOT NULL COMMENT '福袋名称',
    `type`           tinyint                                                      NOT NULL DEFAULT 1 COMMENT '福袋类型 (1:定值, 2:宝箱)',
    `status`         tinyint                                                      NOT NULL DEFAULT 1 COMMENT '状态 (0:删除, 1:正常)',
    `create_id`      bigint NULL DEFAULT NULL COMMENT '创建人ID',
    `create_time`    datetime                                                     NOT NULL COMMENT '创建时间',
    `update_id`      bigint NULL DEFAULT NULL COMMENT '修改人ID',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `actual_rewards` text   NULL COMMENT '实际获得的奖励内容',
    `create_name`    varchar(50)   NOT NULL COMMENT '创建人',
    `company_id`     varchar(50)   NOT NULL COMMENT '所属公司id',
    `amount`         decimal(10, 2) NULL DEFAULT NULL COMMENT '定值金额',
    `data_status`    tinyint NULL DEFAULT NULL COMMENT '数据状态 (0:禁用, 1:启用)',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '福袋配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for lucky_bag_collect_record
-- ----------------------------
DROP TABLE IF EXISTS `lucky_bag_collect_record`;
CREATE TABLE `lucky_bag_collect_record`
(
    `id`                 bigint   NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '领取用户ID',
    `user_name`          varchar(64)   NULL DEFAULT NULL COMMENT '客户名称',
    `reward_type`        tinyint NULL DEFAULT NULL COMMENT '业务类型：1-群福袋 2-个人福袋',
    `lucky_bag_id`       bigint   NOT NULL COMMENT '福袋表主键ID',
    `company_user_id`    bigint NULL DEFAULT NULL COMMENT '销售ID',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司ID',
    `company_name`       varchar(128)   NULL DEFAULT NULL COMMENT '公司名称',
    `coin_amount`        decimal(15, 2) NULL DEFAULT NULL COMMENT '芳华币数量',
    `send_time`          datetime NULL DEFAULT NULL COMMENT '发放时间',
    `collect_time`       datetime NULL DEFAULT NULL COMMENT '领取时间',
    `expiry_time`        datetime NOT NULL COMMENT '失效时间',
    `collect_type`       varchar(2)   NULL DEFAULT NULL COMMENT '领取状态(0-已发放 1-已领取 2-已失效)',
    `external_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '客户或者群聊名称',
    `chat_id`            varchar(50)   NULL DEFAULT NULL COMMENT '群聊会话id',
    `relation_id`        bigint NULL DEFAULT NULL COMMENT '关联id 关联群发记录id',
    `send_link`          text   NULL COMMENT '发送链接',
    `update_time`        datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `qw_user_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微用户id',
    `qw_user_name`       varchar(255)   NULL DEFAULT NULL COMMENT '企微用户名',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                `lucky_bag_collect_record_send_time_IDX`(`send_time` ASC) USING BTREE,
    INDEX                `lucky_bag_collect_record_collect_time_IDX`(`collect_time` ASC) USING BTREE,
    INDEX                `lucky_bag_collect_record_expiry_time_IDX`(`expiry_time` ASC) USING BTREE,
    INDEX                `lucky_bag_collect_record_collect_type_IDX`(`collect_type` ASC) USING BTREE,
    INDEX                `lucky_bag_collect_record_relation_id_IDX`(`relation_id` ASC, `user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '福袋发放及领取记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for market_push
-- ----------------------------
DROP TABLE IF EXISTS `market_push`;
CREATE TABLE `market_push`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT,
    `market_type` varchar(255)   NOT NULL DEFAULT '' COMMENT '推送营销活动类型',
    `title`       varchar(255)   NOT NULL DEFAULT '' COMMENT '推送标题',
    `cintent`     varchar(255)   NOT NULL COMMENT '推送内容',
    `push_time`   bigint                                                        NOT NULL COMMENT '定时推送周期，前端传递小时，数据库保存毫秒',
    `status`      tinyint                                                       NOT NULL COMMENT '是否启用1：启用   0：禁用',
    `img_url`     varchar(255)   NULL DEFAULT NULL COMMENT '附件图片地址',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT '点击通知以后跳转的地址',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
    `push_count`  int NULL DEFAULT 0 COMMENT '已推送次数',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '营销活动定时推送表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for merchant_app_config
-- ----------------------------
DROP TABLE IF EXISTS `merchant_app_config`;
CREATE TABLE `merchant_app_config`
(
    `id`            bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `merchant_type` varchar(50)    NOT NULL COMMENT '商户类型：如WECHAT_PAY、ALIPAY等',
    `app_id`        varchar(512)   NOT NULL COMMENT '应用ID',
    `callback_url`  varchar(512)   NULL DEFAULT NULL COMMENT '回调地址，用于接收支付结果等通知',
    `data_json`     json NULL COMMENT '扩展配置数据，JSON格式存储其他配置信息',
    `created_time`  datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_time`  datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `is_deleted`    tinyint                                                       NOT NULL DEFAULT 0 COMMENT '删除状态：0-正常，1-已删除',
    `created_by`    varchar(64)    NOT NULL COMMENT '创建人ID或用户名',
    `updated_by`    varchar(64)    NOT NULL COMMENT '修改人ID或用户名',
    `merchant_id`   varchar(100)   NULL DEFAULT NULL COMMENT '商户号',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `idx_merchant_type`(`merchant_type` ASC) USING BTREE,
    INDEX           `idx_app_id`(`app_id` ASC) USING BTREE,
    INDEX           `idx_created_time`(`created_time` ASC) USING BTREE,
    INDEX           `merchant_app_config_merchant_type_IDX`(`merchant_type` ASC, `is_deleted` ASC, `merchant_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商户应用配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for payment_mini_program_config
-- ----------------------------
DROP TABLE IF EXISTS `payment_mini_program_config`;
CREATE TABLE `payment_mini_program_config`
(
    `id`                         bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `pay_type`                   varchar(20)    NOT NULL COMMENT '支付类型：YB-易宝，TZH-台州银行，WX-微信，HF-汇付',
    `appname`                    varchar(255)   NULL DEFAULT NULL COMMENT '小程序名称',
    `appid`                      varchar(100)   NOT NULL COMMENT '小程序appid',
    `appsecret`                  varchar(255)   NULL DEFAULT NULL COMMENT '小程序密钥',
    `yb_merchant_no`             varchar(50)   NULL DEFAULT NULL COMMENT '易宝商户号',
    `yb_key`                     varchar(255)   NULL DEFAULT NULL COMMENT '易宝Key',
    `yb_notify_url`              varchar(255)   NULL DEFAULT NULL COMMENT '易宝回调地址',
    `tzh_merchant_no`            varchar(50)   NULL DEFAULT NULL COMMENT '台州银行商户号',
    `tzh_appsecret`              varchar(255)   NULL DEFAULT NULL COMMENT '台州appSecret',
    `tzh_private_key`            text   NULL COMMENT '台州私钥',
    `tzh_public_key`             text   NULL COMMENT '台州平台公钥',
    `tzh_appkey`                 varchar(255)   NULL DEFAULT NULL COMMENT '台州appKey',
    `tzh_pay_notify_url`         varchar(255)   NULL DEFAULT NULL COMMENT '台州支付回调地址',
    `tzh_refund_notify_url`      varchar(255)   NULL DEFAULT NULL COMMENT '台州退款回调地址',
    `tzh_split_notify_url`       varchar(255)   NULL DEFAULT NULL COMMENT '台州分账回调地址',
    `wx_merchant_no`             varchar(50)   NULL DEFAULT NULL COMMENT '微信商户号',
    `wx_key`                     varchar(255)   NULL DEFAULT NULL COMMENT '微信Key',
    `hf_product_no`              varchar(50)   NULL DEFAULT NULL COMMENT '汇付产品号',
    `hf_system_no`               varchar(50)   NULL DEFAULT NULL COMMENT '汇付系统号',
    `hf_merchant_no`             varchar(50)   NULL DEFAULT NULL COMMENT '汇付商户号',
    `hf_private_key`             text   NULL COMMENT '汇付服务商私钥',
    `hf_public_key`              text   NULL COMMENT '汇付公钥',
    `hf_pay_notify_url`          varchar(255)   NULL DEFAULT NULL COMMENT '汇付支付回调地址',
    `hf_large_pay_notify_url`    varchar(255)   NULL DEFAULT NULL COMMENT '汇付大额支付回调地址',
    `hf_refund_notify_url`       varchar(255)   NULL DEFAULT NULL COMMENT '汇付退款回调地址',
    `hf_large_refund_notify_url` varchar(255)   NULL DEFAULT NULL COMMENT '汇付大额退款回调地址',
    `status`                     tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态，1启用，0禁用',
    `create_time`                datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`                datetime                                                      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uq_paytype_appid`(`pay_type` ASC, `appid` ASC) USING BTREE,
    INDEX                        `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '多小程序支付配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_blob_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
CREATE TABLE `qrtz_blob_triggers`
(
    `sched_name`    varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_name`  varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
    `trigger_group` varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    `blob_data`     blob NULL COMMENT '存放持久化Trigger对象',
    PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
    CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB COMMENT = 'Blob类型的触发器表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_calendars
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_calendars`;
CREATE TABLE `qrtz_calendars`
(
    `sched_name`    varchar(120)   NOT NULL COMMENT '调度名称',
    `calendar_name` varchar(200)   NOT NULL COMMENT '日历名称',
    `calendar`      blob                                                    NOT NULL COMMENT '存放持久化calendar对象',
    PRIMARY KEY (`sched_name`, `calendar_name`) USING BTREE
) ENGINE = InnoDB COMMENT = '日历信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_cron_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
CREATE TABLE `qrtz_cron_triggers`
(
    `sched_name`      varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_name`    varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
    `trigger_group`   varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    `cron_expression` varchar(200)   NOT NULL COMMENT 'cron表达式',
    `time_zone_id`    varchar(80)   NULL DEFAULT NULL COMMENT '时区',
    PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
    CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB COMMENT = 'Cron类型的触发器表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_fired_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
CREATE TABLE `qrtz_fired_triggers`
(
    `sched_name`        varchar(120)   NOT NULL COMMENT '调度名称',
    `entry_id`          varchar(95)    NOT NULL COMMENT '调度器实例id',
    `trigger_name`      varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
    `trigger_group`     varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    `instance_name`     varchar(200)   NOT NULL COMMENT '调度器实例名',
    `fired_time`        bigint                                                  NOT NULL COMMENT '触发的时间',
    `sched_time`        bigint                                                  NOT NULL COMMENT '定时器制定的时间',
    `priority`          int                                                     NOT NULL COMMENT '优先级',
    `state`             varchar(16)    NOT NULL COMMENT '状态',
    `job_name`          varchar(200)   NULL DEFAULT NULL COMMENT '任务名称',
    `job_group`         varchar(200)   NULL DEFAULT NULL COMMENT '任务组名',
    `is_nonconcurrent`  varchar(1)   NULL DEFAULT NULL COMMENT '是否并发',
    `requests_recovery` varchar(1)   NULL DEFAULT NULL COMMENT '是否接受恢复执行',
    PRIMARY KEY (`sched_name`, `entry_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '已触发的触发器表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_job_details
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_job_details`;
CREATE TABLE `qrtz_job_details`
(
    `sched_name`        varchar(120)   NOT NULL COMMENT '调度名称',
    `job_name`          varchar(200)   NOT NULL COMMENT '任务名称',
    `job_group`         varchar(200)   NOT NULL COMMENT '任务组名',
    `description`       varchar(250)   NULL DEFAULT NULL COMMENT '相关介绍',
    `job_class_name`    varchar(250)   NOT NULL COMMENT '执行任务类名称',
    `is_durable`        varchar(1)     NOT NULL COMMENT '是否持久化',
    `is_nonconcurrent`  varchar(1)     NOT NULL COMMENT '是否并发',
    `is_update_data`    varchar(1)     NOT NULL COMMENT '是否更新数据',
    `requests_recovery` varchar(1)     NOT NULL COMMENT '是否接受恢复执行',
    `job_data`          blob NULL COMMENT '存放持久化job对象',
    PRIMARY KEY (`sched_name`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB COMMENT = '任务详细信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_locks
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_locks`;
CREATE TABLE `qrtz_locks`
(
    `sched_name` varchar(120)   NOT NULL COMMENT '调度名称',
    `lock_name`  varchar(40)    NOT NULL COMMENT '悲观锁名称',
    PRIMARY KEY (`sched_name`, `lock_name`) USING BTREE
) ENGINE = InnoDB COMMENT = '存储的悲观锁信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_paused_trigger_grps
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
CREATE TABLE `qrtz_paused_trigger_grps`
(
    `sched_name`    varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_group` varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    PRIMARY KEY (`sched_name`, `trigger_group`) USING BTREE
) ENGINE = InnoDB COMMENT = '暂停的触发器表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_scheduler_state
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
CREATE TABLE `qrtz_scheduler_state`
(
    `sched_name`        varchar(120)   NOT NULL COMMENT '调度名称',
    `instance_name`     varchar(200)   NOT NULL COMMENT '实例名称',
    `last_checkin_time` bigint                                                  NOT NULL COMMENT '上次检查时间',
    `checkin_interval`  bigint                                                  NOT NULL COMMENT '检查间隔时间',
    PRIMARY KEY (`sched_name`, `instance_name`) USING BTREE
) ENGINE = InnoDB COMMENT = '调度器状态表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_simple_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
CREATE TABLE `qrtz_simple_triggers`
(
    `sched_name`      varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_name`    varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
    `trigger_group`   varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    `repeat_count`    bigint                                                  NOT NULL COMMENT '重复的次数统计',
    `repeat_interval` bigint                                                  NOT NULL COMMENT '重复的间隔时间',
    `times_triggered` bigint                                                  NOT NULL COMMENT '已经触发的次数',
    PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
    CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB COMMENT = '简单触发器的信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_simprop_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
CREATE TABLE `qrtz_simprop_triggers`
(
    `sched_name`    varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_name`  varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
    `trigger_group` varchar(200)   NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
    `str_prop_1`    varchar(512)   NULL DEFAULT NULL COMMENT 'String类型的trigger的第一个参数',
    `str_prop_2`    varchar(512)   NULL DEFAULT NULL COMMENT 'String类型的trigger的第二个参数',
    `str_prop_3`    varchar(512)   NULL DEFAULT NULL COMMENT 'String类型的trigger的第三个参数',
    `int_prop_1`    int NULL DEFAULT NULL COMMENT 'int类型的trigger的第一个参数',
    `int_prop_2`    int NULL DEFAULT NULL COMMENT 'int类型的trigger的第二个参数',
    `long_prop_1`   bigint NULL DEFAULT NULL COMMENT 'long类型的trigger的第一个参数',
    `long_prop_2`   bigint NULL DEFAULT NULL COMMENT 'long类型的trigger的第二个参数',
    `dec_prop_1`    decimal(13, 4) NULL DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数',
    `dec_prop_2`    decimal(13, 4) NULL DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数',
    `bool_prop_1`   varchar(1)   NULL DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数',
    `bool_prop_2`   varchar(1)   NULL DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数',
    PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
    CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB COMMENT = '同步机制的行锁表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qrtz_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_triggers`;
CREATE TABLE `qrtz_triggers`
(
    `sched_name`     varchar(120)   NOT NULL COMMENT '调度名称',
    `trigger_name`   varchar(200)   NOT NULL COMMENT '触发器的名字',
    `trigger_group`  varchar(200)   NOT NULL COMMENT '触发器所属组的名字',
    `job_name`       varchar(200)   NOT NULL COMMENT 'qrtz_job_details表job_name的外键',
    `job_group`      varchar(200)   NOT NULL COMMENT 'qrtz_job_details表job_group的外键',
    `description`    varchar(250)   NULL DEFAULT NULL COMMENT '相关介绍',
    `next_fire_time` bigint NULL DEFAULT NULL COMMENT '上一次触发时间（毫秒）',
    `prev_fire_time` bigint NULL DEFAULT NULL COMMENT '下一次触发时间（默认为-1表示不触发）',
    `priority`       int NULL DEFAULT NULL COMMENT '优先级',
    `trigger_state`  varchar(16)    NOT NULL COMMENT '触发器状态',
    `trigger_type`   varchar(8)     NOT NULL COMMENT '触发器的类型',
    `start_time`     bigint                                                  NOT NULL COMMENT '开始时间',
    `end_time`       bigint NULL DEFAULT NULL COMMENT '结束时间',
    `calendar_name`  varchar(200)   NULL DEFAULT NULL COMMENT '日程表名称',
    `misfire_instr`  smallint NULL DEFAULT NULL COMMENT '补偿执行的策略',
    `job_data`       blob NULL COMMENT '存放持久化job对象',
    PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
    INDEX            `sched_name`(`sched_name` ASC, `job_name` ASC, `job_group` ASC) USING BTREE,
    CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB COMMENT = '触发器详细信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_api_sop_log_token
-- ----------------------------
DROP TABLE IF EXISTS `qw_api_sop_log_token`;
CREATE TABLE `qw_api_sop_log_token`
(
    `id`               int NOT NULL AUTO_INCREMENT,
    `qw_user_id`       varchar(255)   NULL DEFAULT NULL,
    `company_id`       int NULL DEFAULT NULL,
    `send_time`        datetime NULL DEFAULT NULL,
    `send_count`       bigint NULL DEFAULT NULL,
    `send_count_token` bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企业微信账号 发官方群发的统计' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_app_contact_way
-- ----------------------------
DROP TABLE IF EXISTS `qw_app_contact_way`;
CREATE TABLE `qw_app_contact_way`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `state`           varchar(255)   NULL DEFAULT NULL COMMENT '参数',
    `user_id`         bigint NULL DEFAULT NULL COMMENT '用户id',
    `qr_code`         varchar(255)   NULL DEFAULT NULL COMMENT '二维码图片',
    `config_id`       varchar(255)   NULL DEFAULT NULL COMMENT 'config_id',
    `status`          int NULL DEFAULT 1 COMMENT '1 未添加 2 已经添加成功 3 过期',
    `way_status`      int NULL DEFAULT 1 COMMENT '0 未生成 1 正常 2 已删除',
    `qw_user_ids`     varchar(255)   NULL DEFAULT NULL COMMENT '企微userId',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '公司id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `expiration_time` datetime NULL DEFAULT NULL COMMENT '过期时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `user_id`(`user_id` ASC) USING BTREE,
    INDEX             `expiration_time`(`expiration_time` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `way_status`(`way_status` ASC) USING BTREE,
    INDEX             `corp_id`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'app活码' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_app_contact_way_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_app_contact_way_logs`;
CREATE TABLE `qw_app_contact_way_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `app_way_id`       bigint NOT NULL COMMENT 'app联系我id',
    `source`           varchar(255)   NULL DEFAULT NULL COMMENT '渠道',
    `user_id`          bigint NOT NULL COMMENT '用户id',
    `qw_user_id`       bigint NULL DEFAULT NULL COMMENT '企微userId',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  int NULL DEFAULT NULL COMMENT '公司用户id',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    `external_user_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `app_way_id`(`app_way_id` ASC) USING BTREE,
    INDEX              `source`(`source` ASC) USING BTREE,
    INDEX              `company_id`(`company_id` ASC) USING BTREE,
    INDEX              `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX              `corp_id`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '联系我日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_assign_rule
-- ----------------------------
DROP TABLE IF EXISTS `qw_assign_rule`;
CREATE TABLE `qw_assign_rule`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `rule_name`   varchar(255)   NULL DEFAULT NULL COMMENT '规则名称',
    `assign_type` int NULL DEFAULT 3 COMMENT '1轮询分配 2依次分配 3按权重分配',
    `status`      int NULL DEFAULT NULL COMMENT '是否启用 1是 0否',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信分配规则' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_assign_rule_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_assign_rule_user`;
CREATE TABLE `qw_assign_rule_user`
(
    `id`                bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `assign_id`         bigint NULL DEFAULT NULL COMMENT '分配规则id',
    `sys_qw_user_id`    bigint NULL DEFAULT NULL COMMENT '企微表ID',
    `qw_user_name`      varchar(255)   NULL DEFAULT NULL COMMENT '企微微信昵称',
    `qw_user_id`        varchar(255)   NULL DEFAULT NULL COMMENT '企微微信用户ID',
    `assign_num_to_day` int NULL DEFAULT 0 COMMENT '今日分配数',
    `assign_num_count`  int NULL DEFAULT 0 COMMENT '累积分配数',
    `add_num_to_day`    int NULL DEFAULT 0 COMMENT '今日添加数',
    `add_num_count`     int NULL DEFAULT 0 COMMENT '累积添加数',
    `corp_id`           varchar(255)   NULL DEFAULT NULL,
    `weight`            int NULL DEFAULT NULL COMMENT '权重数',
    `create_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '微信分配规则用户关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_auto_tags
-- ----------------------------
DROP TABLE IF EXISTS `qw_auto_tags`;
CREATE TABLE `qw_auto_tags`
(
    `id`             int NOT NULL AUTO_INCREMENT,
    `type`           int NULL DEFAULT NULL COMMENT '组别 1关键词打标签 2客户入群行为打标签 3分时段打标签',
    `create_name`    varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `apply_users`    json NULL COMMENT '生效成员1.3生效',
    `rule_name`      varchar(255)   NULL DEFAULT NULL COMMENT '规则名称',
    `rules_tags`     json NULL COMMENT '选择的规则及标签',
    `total_num_tags` bigint NULL DEFAULT 0 COMMENT '打标签总数',
    `num_tags_taday` bigint NULL DEFAULT 0 COMMENT '今日打标签数',
    `is_apply`       bigint NULL DEFAULT 1 COMMENT '是否运用规则状态 1启用 2停用',
    `corp_id`        varchar(255)   NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_type`(`type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '自动打标签主表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_auto_tags_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_auto_tags_logs`;
CREATE TABLE `qw_auto_tags_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `auto_tag_id`      bigint NULL DEFAULT NULL COMMENT '自动添加标签主表id',
    `type`             int NULL DEFAULT NULL COMMENT '组别 1关键词打标签 2客户入群行为打标签 3分时段打标签',
    `qw_userid`        bigint NULL DEFAULT NULL COMMENT '所属员工id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '客户id',
    `effective_rules`  text   NULL COMMENT '生效规则',
    `add_time`         datetime NULL DEFAULT NULL COMMENT '添加好友时间/加入群聊时间',
    `chat_id`          varchar(255)   NULL DEFAULT NULL COMMENT '群聊id(2时有值)',
    `join_scene`       varchar(255)   NULL DEFAULT NULL COMMENT '入群方式。\r\n0/1 - 由群成员邀请入群（直接邀请入群）\r\n0/2 - 由群成员邀请入群（通过邀请链接入群）\r\n3 - 通过扫描群二维码入群',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `1`(`auto_tag_id` ASC, `type` ASC, `qw_userid` ASC, `external_user_id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '自动打标签的日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_auto_tags_rules
-- ----------------------------
DROP TABLE IF EXISTS `qw_auto_tags_rules`;
CREATE TABLE `qw_auto_tags_rules`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `auto_tags_id` bigint NULL DEFAULT NULL COMMENT '自动打标签主表id',
    `rules`        json NULL COMMENT '群集合',
    `tags`         json NULL COMMENT '标签集合',
    `is_apply`     int NULL DEFAULT NULL COMMENT '是否运用规则状态 1启用 2停用',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `type`         int NULL DEFAULT NULL COMMENT '组别 1关键词打标签 2客户入群行为打标签 3分时段打标签',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '自动打标签的规则表(主要是 群)' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_company
-- ----------------------------
DROP TABLE IF EXISTS `qw_company`;
CREATE TABLE `qw_company` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
  `corp_id` varchar(255) DEFAULT NULL COMMENT '企业CorpID',
  `corp_name` varchar(255) NOT NULL COMMENT '企业名称',
  `open_secret` varchar(255) DEFAULT NULL COMMENT '服务商应用的Secret',
  `open_corp_id` varchar(255) DEFAULT NULL COMMENT '服务商应用的企业id',
  `server_agent_id` varchar(255) DEFAULT NULL COMMENT '服务商应用serverAgentId',
  `server_book_corp_id` varchar(255) DEFAULT NULL COMMENT '服务商通讯录企业id',
  `server_book_secret` varchar(255) DEFAULT NULL COMMENT '服务商的通讯录Secret',
  `token` varchar(255) DEFAULT NULL COMMENT 'Token',
  `encoding_aes_key` varchar(255) DEFAULT NULL COMMENT 'EncodingAESKey',
  `provider_secret` varchar(255) DEFAULT NULL COMMENT '通用开发参数',
  `realm_name_url` varchar(255) DEFAULT NULL COMMENT '域名地址',
  `notify_url` varchar(255) DEFAULT NULL COMMENT '应用回调地接',
  `chat_toolbar` varchar(255) DEFAULT NULL COMMENT '聊天工具栏跳转地址',
  `chat_toolbar_oauth` varchar(255) DEFAULT NULL COMMENT '聊天工具栏实际运用地址',
  `company_ids` varchar(255) DEFAULT '' COMMENT '关联公司id',
  `status` int DEFAULT NULL COMMENT '状态',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更改时间',
  `create_by` varchar(255) DEFAULT NULL COMMENT '创建人',
  `agent_id` varchar(255) DEFAULT NULL COMMENT '应用id',
  `is_buy` tinyint DEFAULT NULL COMMENT '是否购买了 插件群发功能',
  `tags` text COMMENT '企业微信选择和显示的标签中，只显示这些标签组的',
  `msg_secret` varchar(255) DEFAULT NULL,
  `msg_private_key` text,
  `mini_app_id` varchar(255) DEFAULT NULL COMMENT '小程序id',
  `company_server_num` int DEFAULT '1',
  `create_user_id` bigint DEFAULT NULL COMMENT '创建人',
  `create_dept_id` bigint DEFAULT NULL COMMENT '创建部门',
  `share_app_id` varchar(255) DEFAULT NULL COMMENT 'app分享小程序原始id',
  `share_agent_id` varchar(255) DEFAULT NULL COMMENT 'app分享小程序应用id',
  `share_schema` varchar(255) DEFAULT NULL COMMENT 'app分享小程序schma',
  `is_server` tinyint NOT NULL DEFAULT '0' COMMENT '是否是服务商 1:是 0:否',
  `permanent_code` varchar(255) DEFAULT NULL COMMENT '服务商永久授权码',
  `tenant_id` bigint DEFAULT NULL COMMENT '租户id',
  PRIMARY KEY (`id`,`corp_name`) USING BTREE,
  KEY `corp_id` (`corp_id`) USING BTREE,
  KEY `is_server` (`is_server`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='企微主体';
-- ----------------------------
-- Table structure for qw_config
-- ----------------------------
DROP TABLE IF EXISTS `qw_config`;
CREATE TABLE `qw_config`
(
    `qw_config_id`    int NOT NULL AUTO_INCREMENT,
    `qw_config_name`  varchar(255)   NULL DEFAULT NULL,
    `qw_config_key`   varchar(255)   NULL DEFAULT NULL,
    `qw_config_value` varchar(2000)   NULL DEFAULT NULL,
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `company_id`      int NULL DEFAULT NULL COMMENT '企业ID',
    `qw_cropid`       varchar(255)   NULL DEFAULT NULL COMMENT '企业微信的cropid',
    `qw_open_cropid`  varchar(255)   NULL DEFAULT NULL COMMENT '企业微信的服务商密文cropid',
    PRIMARY KEY (`qw_config_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_batch
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_batch`;
CREATE TABLE `qw_contact_batch`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `phone`           varchar(255)   NULL DEFAULT NULL COMMENT '电话',
    `tag_ids`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `status`          int NULL DEFAULT NULL COMMENT '状态',
    `user_id`         int NULL DEFAULT NULL COMMENT '企微用户id',
    `num`             int NULL DEFAULT NULL COMMENT '分配次数',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '员工id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `qw_user_id`      bigint NULL DEFAULT NULL,
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微公海' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_way
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_way`;
CREATE TABLE `qw_contact_way`
(
    `id`                 int NOT NULL AUTO_INCREMENT,
    `name`               varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `type`               int NULL DEFAULT NULL COMMENT '联系方式类型,1-单人, 2-多人',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `skip_verify`        int NULL DEFAULT NULL COMMENT '外部客户添加时是否无需验证',
    `state`              varchar(255)   NULL DEFAULT NULL COMMENT '企业自定义的state参数 1是 0否',
    `user_ids`           varchar(255)   NULL DEFAULT NULL COMMENT '员工ids',
    `add_num`            int NULL DEFAULT 0 COMMENT '添加人数',
    `delete_num`         int NULL DEFAULT 0 COMMENT '删除人数',
    `num`                int NULL DEFAULT 0 COMMENT '剩余人数',
    `qr_code`            varchar(255)   NULL DEFAULT NULL COMMENT '二维码',
    `config_id`          varchar(255)   NULL DEFAULT NULL COMMENT 'config_id',
    `is_del`             tinyint NULL DEFAULT 0 COMMENT '是否删除',
    `company_id`         bigint NULL DEFAULT NULL,
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `is_welcome`         tinyint NULL DEFAULT 0 COMMENT '是否发送欢迎语',
    `text_content`       varchar(2000)   NULL DEFAULT NULL COMMENT '消息文本内容',
    `image_pic_url`      varchar(2000)   NULL DEFAULT NULL COMMENT '图片的链接',
    `is_user_limit`      tinyint NULL DEFAULT NULL COMMENT '是否限制员工添加上限',
    `is_span_welcome`    tinyint NULL DEFAULT NULL COMMENT '是否分时段欢迎语',
    `is_close_welcome`   tinyint NULL DEFAULT NULL COMMENT '是否开启欢迎语屏蔽',
    `close_welcome_word` text   NULL COMMENT '迎语屏蔽昵称',
    `is_tag`             tinyint NULL DEFAULT NULL COMMENT '是否添加标签',
    `tags`               text   NULL COMMENT '标签',
    `is_remark`          tinyint NULL DEFAULT NULL COMMENT '是否备注',
    `remark_status`      tinyint NULL DEFAULT NULL COMMENT '1 昵称后 2 昵称前',
    `description`        text   NULL COMMENT '描述',
    `is_description`     tinyint NULL DEFAULT NULL COMMENT '是否添加描述',
    `spare_user_ids`     text   NULL COMMENT '备用员工',
    `group_id`           bigint NULL DEFAULT NULL COMMENT '分组id',
    `user_limit_json`    text   NULL COMMENT '员工添加上限',
    `user_time_json`     text   NULL COMMENT '员工自动上下线',
    `user_type`          int NULL DEFAULT NULL COMMENT '员工类型 1 全天在线 2 自动上下线',
    `welcome_json`       text   NULL COMMENT '欢迎语',
    `corp_id`            varchar(255)   NULL DEFAULT NULL,
    `information_id`     bigint NULL DEFAULT NULL,
    `sort`               int NULL DEFAULT NULL COMMENT '排序号',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '联系我' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_way_group
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_way_group`;
CREATE TABLE `qw_contact_way_group`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `group_name`  varchar(255)   NULL DEFAULT NULL COMMENT '分组名称',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `corp_id`     varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '联系我分组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_way_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_way_logs`;
CREATE TABLE `qw_contact_way_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `way_id`           bigint NULL DEFAULT NULL COMMENT '联系我id',
    `user_id`          bigint NOT NULL COMMENT '企微用户id',
    `company_user_id`  int NULL DEFAULT NULL COMMENT '公司用户id',
    `type`             int NULL DEFAULT NULL COMMENT '状态 1 加入 2 删除',
    `msg`              varchar(255)   NULL DEFAULT NULL COMMENT '描述',
    `external_user_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    `information_id`   varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '联系我日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_way_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_way_user`;
CREATE TABLE `qw_contact_way_user`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `way_id`      int NULL DEFAULT NULL COMMENT '链接id',
    `qw_user_id`  bigint NULL DEFAULT NULL COMMENT '企微员工id',
    `user_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企微员工id',
    `limit_count` int NULL DEFAULT NULL COMMENT '添加总数',
    `day_count`   int NULL DEFAULT NULL COMMENT '剩余可添加数',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '联系我限制' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_contact_way_welcome
-- ----------------------------
DROP TABLE IF EXISTS `qw_contact_way_welcome`;
CREATE TABLE `qw_contact_way_welcome`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `way_id`        bigint NULL DEFAULT NULL COMMENT '链接id',
    `text_content`  varchar(255)   NULL DEFAULT NULL COMMENT '文本',
    `image_pic_url` varchar(255)   NULL DEFAULT NULL COMMENT '图片',
    `start_time`    datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_time`      datetime NULL DEFAULT NULL COMMENT '结束时间',
    `week`          varchar(255)   NULL DEFAULT NULL COMMENT '周',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_course_finish_remark_rty
-- ----------------------------
DROP TABLE IF EXISTS `qw_course_finish_remark_rty`;
CREATE TABLE `qw_course_finish_remark_rty`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `qw_user_id`       varchar(255)   NULL DEFAULT NULL COMMENT '企业微信账号',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '公司id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人长字符串编号',
    `external_id`      bigint NULL DEFAULT NULL COMMENT '外部联系人主键',
    `remark`           varchar(255)   NULL DEFAULT NULL COMMENT '打的备注',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index1`(`qw_user_id` ASC, `corp_id` ASC, `external_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信完课打备注失败重试表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_customer_link
-- ----------------------------
DROP TABLE IF EXISTS `qw_customer_link`;
CREATE TABLE `qw_customer_link`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `link_name`      varchar(255)   NULL DEFAULT NULL COMMENT '获客链接名称',
    `link_id`        varchar(255)   NULL DEFAULT NULL COMMENT '获客链接ID',
    `url`            varchar(255)   NULL DEFAULT NULL COMMENT '获客链接地址',
    `corp_id`        varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    `corp_name`      varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    `skip_verify`    int NULL DEFAULT NULL COMMENT '是否无需验证，默认为true',
    `status`         int NULL DEFAULT 0 COMMENT '是否删除 1是0否',
    `count_add_num`  int NULL DEFAULT NULL,
    `to_day_add_num` int NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`      bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`      bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微获客链接' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_customer_link_channel
-- ----------------------------
DROP TABLE IF EXISTS `qw_customer_link_channel`;
CREATE TABLE `qw_customer_link_channel`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sys_link_id`  bigint NULL DEFAULT NULL COMMENT '归属主链',
    `link_name`    varchar(255)   NULL DEFAULT NULL COMMENT '获客链接名称',
    `link_id`      varchar(255)   NULL DEFAULT NULL COMMENT '获客链接ID',
    `url`          varchar(255)   NULL DEFAULT NULL COMMENT '获客链接地址',
    `channel_id`   int NULL DEFAULT NULL COMMENT '渠道id',
    `channel_name` varchar(255)   NULL DEFAULT NULL COMMENT '渠道名称',
    `status`       int NULL DEFAULT 0 COMMENT '是否删除 1是0否',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微获客链接渠道链接' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_customer_link_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_customer_link_user`;
CREATE TABLE `qw_customer_link_user`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sys_link_id`    bigint NULL DEFAULT NULL COMMENT '链接ID',
    `sys_qw_user_id` bigint NULL DEFAULT NULL COMMENT '企微表ID',
    `qw_user_name`   varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企微微信用户ID',
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微获客链接用户关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_dept
-- ----------------------------
DROP TABLE IF EXISTS `qw_dept`;
CREATE TABLE `qw_dept`
(
    `id`         bigint NOT NULL AUTO_INCREMENT,
    `dept_id`    bigint NULL DEFAULT NULL COMMENT '部门id',
    `dept_name`  varchar(255)   NULL DEFAULT NULL COMMENT '	部门名称，代开发自建应用需要管理员授权才返回',
    `parentid`   bigint NULL DEFAULT NULL COMMENT '父部门id。根部门为1',
    `company_id` bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`    varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_dept_id_company_id`(`dept_id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信部门表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_drainage_link
-- ----------------------------
DROP TABLE IF EXISTS `qw_drainage_link`;
CREATE TABLE `qw_drainage_link`
(
    `id`           bigint                                                        NOT NULL AUTO_INCREMENT,
    `name`         varchar(255)   NOT NULL COMMENT '链接名称',
    `type`         int NULL DEFAULT NULL COMMENT '类别 1 人 2 群',
    `way_id`       bigint NULL DEFAULT NULL COMMENT '联系我id',
    `qr_code`      varchar(255)   NULL DEFAULT NULL COMMENT '二维码',
    `link_url`     varchar(255)   NULL DEFAULT NULL COMMENT '链接',
    `title`        varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `nick_name`    varchar(255)   NULL DEFAULT NULL COMMENT '昵称',
    `phone`        varchar(50)   NULL DEFAULT NULL COMMENT '联系电话',
    `company_name` varchar(50)   NULL DEFAULT NULL COMMENT '企业名称',
    `avatar_url`   varchar(255)   NULL DEFAULT NULL COMMENT '企业头像',
    `content`      varchar(255)   NULL DEFAULT NULL COMMENT '文案',
    `click_num`    int NULL DEFAULT 0 COMMENT '点击数',
    `add_num`      int NULL DEFAULT 0 COMMENT '添加人数',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`    varchar(50)   NULL DEFAULT NULL COMMENT '创建人',
    `corp_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '引流链接' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_drainage_link_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_drainage_link_logs`;
CREATE TABLE `qw_drainage_link_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `link_id`          bigint NULL DEFAULT NULL COMMENT '引流链接id',
    `user_id`          bigint NOT NULL COMMENT '企微用户id',
    `company_user_id`  int NULL DEFAULT NULL COMMENT '公司用户id',
    `type`             int NULL DEFAULT NULL COMMENT '状态 1 加入 2 删除',
    `msg`              varchar(255)   NULL DEFAULT NULL COMMENT '描述',
    `external_user_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业CorpID',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '链接日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact`;
CREATE TABLE `qw_external_contact`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `user_id`                varchar(255)   NULL DEFAULT NULL COMMENT '属于用户id',
    `external_user_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人id',
    `name`                   varchar(255)   NULL DEFAULT NULL COMMENT '客户名称',
    `avatar`                 varchar(255)   NULL DEFAULT NULL COMMENT '头像',
    `type`                   int NULL DEFAULT NULL COMMENT '外部联系人的类型1微信用户，2企业微信用户',
    `gender`                 int NULL DEFAULT NULL COMMENT '0-未知 1-男性 2-女性',
    `remark`                 varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `description`            varchar(255)   NULL DEFAULT NULL COMMENT '描述信息',
    `tag_ids`                longtext   NULL COMMENT '标签id',
    `remark_mobiles`         varchar(255)   NULL DEFAULT NULL COMMENT '备注电话号码',
    `remark_corp_name`       varchar(50)   NULL DEFAULT NULL COMMENT '备注企业名称',
    `add_way`                int NULL DEFAULT NULL COMMENT '来源 \r\n0	未知来源\r\n1	扫描二维码\r\n2	搜索手机号\r\n3	名片分享\r\n4	群聊\r\n5	手机通讯录\r\n6	微信联系人\r\n8	安装第三方应用时自动添加的客服人员\r\n9	搜索邮箱\r\n10	视频号添加\r\n11	通过日程参与人添加\r\n12	通过会议参与人添加\r\n13	添加微信好友对应的企业微信\r\n14	通过智慧硬件专属客服添加\r\n15	通过上门服务客服添加\r\n16	通过获客链接添加\r\n201	内部成员共享\r\n202 管理员/负责人分配',
    `oper_userid`            varchar(255)   NULL DEFAULT NULL COMMENT 'oper用户id(发起添加的userid)',
    `corp_id`                varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `company_id`             bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`        bigint NULL DEFAULT NULL COMMENT '员工id',
    `qw_user_id`             bigint NULL DEFAULT NULL,
    `customer_id`            bigint NULL DEFAULT NULL COMMENT '客户id',
    `transfer_status`        int NULL DEFAULT 0 COMMENT '0 无接替记录 1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限',
    `status`                 int NULL DEFAULT 0 COMMENT '0 正常 1员工离职待接替 2 正在接替 3 流失 4删除',
    `stage_status`           varchar(255)   NULL DEFAULT NULL COMMENT 'sop客户称呼',
    `create_by`              varchar(255)   NULL DEFAULT NULL,
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`              varchar(255)   NULL DEFAULT NULL,
    `update_time`            datetime NULL DEFAULT NULL,
    `transfer_time`          datetime NULL DEFAULT NULL COMMENT '转接时间',
    `transfer_num`           int NULL DEFAULT NULL COMMENT '转接次数',
    `loss_time`              datetime NULL DEFAULT NULL COMMENT '流失时间',
    `del_time`               datetime NULL DEFAULT NULL COMMENT '删除时间',
    `state`                  varchar(255)   NULL DEFAULT NULL COMMENT '自定义参数',
    `way_id`                 bigint NULL DEFAULT NULL COMMENT '联系我链接',
    `fs_user_id`             bigint NULL DEFAULT NULL COMMENT '小程序用户id',
    `open_id`                varchar(255)   NULL DEFAULT NULL,
    `unionid`                varchar(255)   NULL DEFAULT NULL,
    `upload_add_wx_status`   int NULL DEFAULT 0 COMMENT '加微上传状态0未上传1已上传',
    `upload_register_status` int NULL DEFAULT 0 COMMENT '注册上传状态0未上传1已上传',
    `upload_finished_status` int NULL DEFAULT 0 COMMENT '完课上传状态0未上传1已上传',
    `welcome_status`         int NULL DEFAULT NULL COMMENT '0 待发送 1 已发送 2 没有匹配的欢迎语',
    `is_interact`            int NULL DEFAULT 0 COMMENT '是否互动',
    `level`                  tinyint NULL DEFAULT NULL COMMENT '客户等级 1A 2B 3C 4D ',
    `level_type`             tinyint NULL DEFAULT 3 COMMENT '等级升级降级 1升 2降 3未变动',
    `first_time`             date NULL DEFAULT NULL COMMENT '第一节课时间',
    `last_watch_time`        int NULL DEFAULT NULL COMMENT '最晚看课时间',
    `is_repeat`              int NULL DEFAULT 0 COMMENT '是否重粉0否1是',
    `comment_status`         tinyint NULL DEFAULT 0 COMMENT '看课评论状态，1-拉黑；0-正常',
    `repeat_no`              varchar(255)   NULL DEFAULT NULL COMMENT '重粉识别号',
    `user_repeat`            int NULL DEFAULT 0 COMMENT '小程序(看课)重粉',
    `pay_order`              int NULL DEFAULT 0 COMMENT '是否已购0 否 1程序内下单 2程序外下单',
    `register_time`          datetime NULL DEFAULT NULL COMMENT '注册时间',
    `is_reply`               tinyint(1) NULL DEFAULT 0 COMMENT '用户是否回复  0未回复  1已回复',
    `search_mobile`          char(20)   GENERATED ALWAYS AS (cast(
            regexp_replace(coalesce(json_unquote(json_extract(`remark_mobiles`, _utf8mb4'$[0]')), _utf8mb4''),
                           _utf8mb4'[^0-9]', _utf8mb4'') as char(20) charset utf8mb4)) VIRTUAL NULL,
    `join_group`             int NULL DEFAULT NULL COMMENT '是否被邀请进群0否1是',
    `trace_id`               varchar(500)   NULL DEFAULT NULL COMMENT '广告链路id',
    `application_external_user_id` varchar(100)   NULL DEFAULT NULL COMMENT '原始userId',
    `qw_open_user_id` varchar(100)   NULL DEFAULT NULL,


    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `external_user_id`(`external_user_id` ASC) USING BTREE,
    INDEX                    `user_id`(`user_id` ASC) USING BTREE,
    INDEX                    `name`(`name` ASC) USING BTREE,
    INDEX                    `corp_id`(`corp_id` ASC) USING BTREE,
    INDEX                    `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX                    `fs_user_id`(`fs_user_id` ASC) USING BTREE,
    INDEX                    `index1`(`external_user_id` ASC, `user_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX                    `index2`(`user_id` ASC, `corp_id` ASC, `external_user_id` ASC) USING BTREE,
    INDEX                    `is_interact`(`is_interact` ASC) USING BTREE,
    INDEX                    `level`(`level` ASC) USING BTREE,
    INDEX                    `lastwatchtime`(`last_watch_time` ASC) USING BTREE,
    INDEX                    `create_time`(`create_time` ASC) USING BTREE,
    INDEX                    `unionid`(`unionid` ASC) USING BTREE,
    INDEX                    `idx_search_mobile`(`search_mobile` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信客户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_black_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_black_log`;
CREATE TABLE `qw_external_contact_black_log`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '员工id',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `status`           int NULL DEFAULT 0 COMMENT '拉黑时的状态',
    `black_status`     int NULL DEFAULT NULL COMMENT '拉黑后的状态',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `external_user_id`(`external_user_id` ASC) USING BTREE,
    INDEX              `index1`(`external_user_id` ASC) USING BTREE,
    INDEX              `index2`(`external_user_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企业微信客户拉黑操作记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_crm
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_crm`;
CREATE TABLE `qw_external_contact_crm`
(
    `id`                 int NOT NULL AUTO_INCREMENT,
    `external_user_id`   varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人id',
    `openid`             varchar(255)   NULL DEFAULT NULL COMMENT 'openid',
    `external_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人名称',
    `avatar`             varchar(255)   NULL DEFAULT NULL COMMENT '头像',
    `customer_id`        bigint NULL DEFAULT NULL COMMENT 'crm_customer主键',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`            varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `fs_user_id`         bigint NULL DEFAULT NULL COMMENT '小程序用户id',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_external_user_crm`(`external_user_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX                `openid`(`openid` ASC) USING BTREE,
    INDEX                `corp_id`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微客户表-绑CRM' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_info
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_info`;
CREATE TABLE `qw_external_contact_info`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `external_contact_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `name`                varchar(255)   NULL DEFAULT NULL COMMENT '姓名',
    `sex`                 varchar(255)   NULL DEFAULT NULL COMMENT '性别',
    `age`                 varchar(255)   NULL DEFAULT NULL COMMENT '年龄',
    `address`             varchar(255)   NULL DEFAULT NULL COMMENT '地区',
    `habits`              varchar(255)   NULL DEFAULT NULL COMMENT '行为习惯',
    `illness_time`        varchar(255)   NULL DEFAULT NULL COMMENT '患病时间',
    `body`                varchar(2000)   NULL DEFAULT NULL COMMENT '身体状态',
    `study`               varchar(255)   NULL DEFAULT NULL COMMENT '学习到的章节',
    `course_status`       varchar(255)   NULL DEFAULT NULL COMMENT '今日课程完成情况',
    `course`              varchar(255)   NULL DEFAULT NULL COMMENT '学习课程',
    `family`              varchar(255)   NULL DEFAULT NULL COMMENT '提及的家人',
    `family_disease`      varchar(255)   NULL DEFAULT NULL COMMENT '家人的疾病',
    `disease`             varchar(255)   NULL DEFAULT NULL COMMENT '疾病',
    `is_line`             varchar(255)   NULL DEFAULT NULL COMMENT '是否线下就诊',
    `talk`                varchar(255)   NULL DEFAULT NULL COMMENT '交流状态',
    `user_type`           varchar(255)   NULL DEFAULT NULL COMMENT '用户分类',
    `is_self`             varchar(255)   NULL DEFAULT NULL COMMENT '是否本人会诊',
    `intensify`           varchar(255)   NULL DEFAULT NULL COMMENT '什么情况加重或缓解',
    `is_cold`             varchar(255)   NULL DEFAULT NULL COMMENT '是否怕热或者怕冷',
    `cold_body`           varchar(255)   NULL DEFAULT NULL COMMENT '怕冷或怕热的部位',
    `sweat`               varchar(255)   NULL DEFAULT NULL COMMENT '出汗情况',
    `other`               varchar(255)   NULL DEFAULT NULL COMMENT '其他情况',
    `toilet`              varchar(255)   NULL DEFAULT NULL COMMENT '大小便情况',
    `eat`                 varchar(255)   NULL DEFAULT NULL COMMENT '饮食情况',
    `menses`              varchar(255)   NULL DEFAULT NULL COMMENT '经期如何 女 55岁以下',
    `medicine`            varchar(255)   NULL DEFAULT NULL COMMENT '用药',
    `constitution`        varchar(255)   NULL DEFAULT NULL COMMENT '体质',
    `recommend_medicine`  varchar(255)   NULL DEFAULT NULL COMMENT '推荐用药',
    `consult_product`     varchar(255)   NULL DEFAULT NULL COMMENT '咨询产品',
    `is_buy`              varchar(255)   NULL DEFAULT NULL COMMENT '是否已经购买产品',
    `buy_product`         varchar(255)   NULL DEFAULT NULL COMMENT '已经购买的产品',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`         datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `reply_time`          datetime NULL DEFAULT NULL COMMENT '最后回复时间',
    `product_talk`        varchar(255)   NULL DEFAULT NULL COMMENT '产品交流',
    `disease_talk`        varchar(255)   NULL DEFAULT NULL COMMENT '疾病交流',
    `phone`               varchar(255)   NULL DEFAULT NULL COMMENT '手机号',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `external_contact_id`(`external_contact_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '外部联系人信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_transfer_company_audit
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_transfer_company_audit`;
CREATE TABLE `qw_external_contact_transfer_company_audit`
(
    `id`                bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `qw_company_id`     bigint                                                        NOT NULL COMMENT '企微主体ID',
    `corp_id`           varchar(255)   NOT NULL COMMENT '企微CorpID',
    `corp_name`         varchar(255)   NOT NULL COMMENT '企微主体名称',
    `company_id`        bigint                                                        NOT NULL COMMENT '接替公司ID',
    `company_name`      varchar(255)   NOT NULL COMMENT '接替公司名称',
    `company_user_id`   bigint                                                        NOT NULL COMMENT '接替公司销售ID',
    `company_user_name` varchar(255)   NOT NULL COMMENT '接替公司销售名称',
    `qw_user_id`        bigint                                                        NOT NULL COMMENT '接替企微用户ID',
    `qw_user_ext_id`    varchar(255)   NOT NULL COMMENT '接替企微用户ID(企微)',
    `qw_user_name`      varchar(255)   NOT NULL COMMENT '接替企微用户名称',
    `content`           varchar(255)   NULL DEFAULT NULL COMMENT '消息内容',
    `transfer_type`     tinyint                                                       NOT NULL COMMENT '转移类型 1在职转接 2离职转接',
    `status`            tinyint(1) NULL DEFAULT 1 COMMENT '状态 1待审核 2审核通过 3审核被拒',
    `reason`            varchar(500)   NULL DEFAULT NULL COMMENT '被拒原因',
    `remark`            varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `audit_time`        datetime NULL DEFAULT NULL COMMENT '审核时间',
    `audit_by`          varchar(255)   NULL DEFAULT NULL COMMENT '审核人',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`         varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `oper_company_id`   bigint                                                        NOT NULL COMMENT '提审公司',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微客户转移审核记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_transfer_company_audit_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_transfer_company_audit_user`;
CREATE TABLE `qw_external_contact_transfer_company_audit_user`
(
    `id`                 bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `audit_id`           bigint                                                        NOT NULL COMMENT '审核记录ID',
    `external_id`        bigint                                                        NOT NULL COMMENT '外部联系人ID',
    `external_user_id`   varchar(255)   NOT NULL COMMENT '客户ID(企微)',
    `external_user_name` varchar(255)   NOT NULL COMMENT '客户名称',
    `company_id`         bigint                                                        NOT NULL COMMENT '原公司ID',
    `company_name`       varchar(255)   NOT NULL COMMENT '原公司名称',
    `company_user_id`    bigint                                                        NOT NULL COMMENT '原公司销售ID',
    `company_user_name`  varchar(255)   NOT NULL COMMENT '原公司销售名称',
    `qw_user_id`         bigint                                                        NOT NULL COMMENT '原企微用户ID',
    `qw_user_ext_id`     varchar(255)   NOT NULL COMMENT '原企微用户ID(企微)',
    `qw_user_name`       varchar(255)   NOT NULL COMMENT '原企微用户名称',
    `status`             tinyint(1) NULL DEFAULT 0 COMMENT '0-待处理 1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限',
    `remark`             varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `create_time`        datetime NULL DEFAULT NULL COMMENT '创建时间',
    `replace_time`       datetime NULL DEFAULT NULL COMMENT '接替时间',
    `need_clear_tag`     tinyint NULL DEFAULT 0 COMMENT '是否需要清空标签 0否 1是',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微客户转移审核用户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_contact_transfer_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_contact_transfer_log`;
CREATE TABLE `qw_external_contact_transfer_log`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `corp_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `company_id`          int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     int NULL DEFAULT NULL COMMENT '员工id',
    `handover_qw_user_id` bigint NULL DEFAULT NULL COMMENT '原添加成员的企业微信用户id',
    `qw_user_id`          bigint NULL DEFAULT NULL COMMENT '接替成员的企微用户id',
    `customer_id`         int NULL DEFAULT NULL COMMENT '客户id',
    `status`              varchar(255)   NULL DEFAULT NULL COMMENT '1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限',
    `handover_user_id`    varchar(255)   NULL DEFAULT NULL COMMENT '原添加成员的企微userId',
    `takeover_user_id`    varchar(255)   NULL DEFAULT NULL COMMENT '接替成员的企微userid',
    `external_user_id`    varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人企微id',
    `external_contact_id` bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `create_time`         datetime NULL DEFAULT NULL,
    `fs_user_id`          bigint NULL DEFAULT NULL,
    `need_clear_tag`      tinyint NULL DEFAULT 0 COMMENT '是否需要清空标签 0否 1是',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `index1`(`corp_id` ASC, `takeover_user_id` ASC, `external_user_id` ASC) USING BTREE,
    INDEX                 `index2`(`corp_id` ASC, `handover_user_id` ASC, `external_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '转接记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_external_err_retry
-- ----------------------------
DROP TABLE IF EXISTS `qw_external_err_retry`;
CREATE TABLE `qw_external_err_retry`
(
    `id`           int NOT NULL AUTO_INCREMENT,
    `take_state`   tinyint NULL DEFAULT NULL COMMENT '执行状态 1未补 2 已补  3重试次数太多',
    `corp_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `retry_state`  int NULL DEFAULT NULL COMMENT '重试的类型 1 标签 2 备注',
    `retry_type`   tinyint NULL DEFAULT NULL COMMENT '1删除 2新增',
    `retry_params` longtext   NULL COMMENT '重试的参数',
    `retry_num`    int NULL DEFAULT 0 COMMENT '重试次数 （先10次保底）',
    `create_time`  datetime NULL DEFAULT NULL,
    `update_time`  datetime NULL DEFAULT NULL,
    `mark`         text   NULL COMMENT '失败的原因',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企业微信客户 添加标签/备注失败重试表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_circle
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_circle`;
CREATE TABLE `qw_friend_circle`
(
    `id`                         bigint NOT NULL AUTO_INCREMENT,
    `content`                    varchar(2000)   NULL DEFAULT NULL COMMENT '消息文本内容',
    `attachments`                varchar(255)   NULL DEFAULT NULL COMMENT '附件，不能与text.content同时为空，最多支持9个图片类型，或者1个视频，或者1个链接。类型只能三选一',
    `jobid`                      varchar(255)   NULL DEFAULT NULL COMMENT '异步任务id，最大长度为64字节，24小时有效；可使用获取发表朋友圈任务结果查询任务状态',
    `status`                     tinyint NULL DEFAULT NULL COMMENT '任务状态，1表示开始创建任务，2表示正在创建任务中，3表示创建任务已完成',
    `type`                       varchar(255)   NULL DEFAULT NULL COMMENT '操作类型，字节串，此处固定为add_moment_task',
    `result_errcode`             int NULL DEFAULT NULL COMMENT '返回码',
    `result_errmsg`              text   NULL COMMENT '对返回码的文本描述内容',
    `result_moment_id`           varchar(255)   NULL DEFAULT NULL COMMENT '朋友圈id，可通过获取客户朋友圈企业发表的列表接口获取朋友圈企业发表的列表',
    `result_invalid_sender_list` text   NULL COMMENT '不合法的执行者列表，包括不存在的id以及不在应用可见范围内的部门或者成员',
    `company_id`                 int NULL DEFAULT NULL COMMENT '公司id',
    `create_time`                datetime NULL DEFAULT NULL COMMENT '创建时间',
    `corp_id`                    varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '客户朋友圈' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_circle_task
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_circle_task`;
CREATE TABLE `qw_friend_circle_task`
(
    `id`               int NOT NULL,
    `qw_user_id`       varchar(255)   NULL DEFAULT NULL COMMENT '企微用户id',
    `publish_status`   int NULL DEFAULT NULL COMMENT '成员发表状态。0:未发表 1：已发表',
    `circle_id`        bigint NULL DEFAULT NULL COMMENT 'qw_friend_circle主表',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `result_moment_id` varchar(255)   NULL DEFAULT NULL COMMENT '朋友圈id，可通过获取客户朋友圈企业发表的列表接口获取朋友圈企业发表的列表',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '客户朋友圈执行情况' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_comments
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_comments`;
CREATE TABLE `qw_friend_comments`
(
    `id`              bigint NOT NULL,
    `moment_id`       varchar(255)   NULL DEFAULT NULL COMMENT '朋友圈id',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '发送朋友圈的员工id',
    `comments_type`   tinyint NULL DEFAULT NULL COMMENT ' 1 评论 2 点赞',
    `external_userid` varchar(255)   NULL DEFAULT NULL COMMENT '评论或点赞的客户userid，userid与external_userid不会同时出现',
    `userid`          varchar(255)   NULL DEFAULT NULL COMMENT '评论的企业成员userid，userid与external_userid不会同时出现',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '客户朋友圈互动数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_customer_list
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_customer_list`;
CREATE TABLE `qw_friend_customer_list`
(
    `id`              bigint NOT NULL,
    `moment_id`       varchar(255)   NULL DEFAULT NULL COMMENT '朋友圈id',
    `external_userid` varchar(255)   NULL DEFAULT NULL COMMENT '	发送成功的外部联系人userid',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企业朋友圈 发送到客户朋友里 成功的客户数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_welcome
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_welcome`;
CREATE TABLE `qw_friend_welcome`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `qw_user_ids`         json NULL COMMENT '用这条欢迎语的企微员工ids',
    `is_send_msg`         int NULL DEFAULT 1 COMMENT '是否发送欢迎语 1允许发送 2 不允许发送',
    `welcome_text`        varchar(4000)   NULL DEFAULT NULL COMMENT '	消息文本内容,最长为4000字节',
    `attachments`         json NULL COMMENT '附件 最多可添加9个',
    `is_dayparting`       int NULL DEFAULT 2 COMMENT '是否开启分时段欢迎语 1是 2否',
    `dayparting_ItemList` json NULL COMMENT '开启分时段之后的存储',
    `company_id`          int NULL DEFAULT NULL COMMENT '公司id',
    `user_id`             bigint NULL DEFAULT NULL COMMENT '销售ID',
    `dept_id`             bigint NULL DEFAULT NULL COMMENT '部门ID',
    `corp_id`             varchar(255)   NULL DEFAULT NULL,
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
    `welcome_title`       varchar(100)   NULL DEFAULT NULL COMMENT '标题',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '好友欢迎语' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_friend_welcome_item
-- ----------------------------
DROP TABLE IF EXISTS `qw_friend_welcome_item`;
CREATE TABLE `qw_friend_welcome_item`
(
    `id`                bigint NOT NULL COMMENT '好友欢迎语分时段表',
    `friend_welcome_id` bigint NULL DEFAULT NULL COMMENT '好友欢迎语主表id',
    `welcome_text`      varchar(4000)   NULL DEFAULT NULL COMMENT '	消息文本内容,最长为4000字节',
    `attachments`       json NULL COMMENT '附件 最多可添加9个',
    `week`              json NULL COMMENT '周',
    `start_time`        varchar(255)   NULL DEFAULT NULL COMMENT '开始时间',
    `end_time`          varchar(255)   NULL DEFAULT NULL COMMENT '结束时间',
    `created_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_tieme`      datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '好友欢迎语的附件' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_actual
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_actual`;
CREATE TABLE `qw_group_actual`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `live_code_id`   bigint NULL DEFAULT NULL COMMENT '活码id',
    `group_url`      varchar(255)   NULL DEFAULT NULL COMMENT '实际群二维码',
    `group_name`     varchar(255)   NULL DEFAULT NULL COMMENT '实际群名称',
    `limit_num`      varchar(255)   NULL DEFAULT NULL COMMENT '扫码上限',
    `assign_num`     int NULL DEFAULT NULL COMMENT '分配数',
    `efficient_time` datetime NULL DEFAULT NULL COMMENT '有效期',
    `status`         int NULL DEFAULT NULL COMMENT '是否启用 1是 0否',
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '群活码实际二维码表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_chat
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_chat`;
CREATE TABLE `qw_group_chat`
(
    `chat_id`        varchar(255)   NOT NULL COMMENT '客户群ID',
    `name`           varchar(255)   NULL DEFAULT NULL COMMENT '群名',
    `owner`          varchar(255)   NULL DEFAULT NULL COMMENT '群主ID',
    `notice`         varchar(2000)   NULL DEFAULT NULL COMMENT '群公告',
    `member_version` varchar(255)   NULL DEFAULT NULL COMMENT '当前群成员版本号',
    `status`         varchar(255)   NULL DEFAULT NULL COMMENT '客户群跟进状态。\r\n0 - 跟进人正常\r\n1 - 跟进人离职\r\n2 - 离职继承中\r\n3 - 离职继承完成',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`        varchar(50)   NULL DEFAULT NULL COMMENT '企业微信的企业id',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '群的创建时间',
    `update_time`    datetime NULL DEFAULT NULL,
    `create_at`      varchar(255)   NULL DEFAULT NULL COMMENT '群的创建时间的时间戳',
    `group_size`     bigint NULL DEFAULT NULL COMMENT '群人数(暂时不用-直接count统计)(事件触发暂记录)',
    `today_join`     bigint NULL DEFAULT 0 COMMENT '当日入群数(暂时不用-直接count统计)(事件触发暂记录)',
    `today_out`      bigint NULL DEFAULT 0 COMMENT '当日退群数(暂时不用-直接count统计)(事件触发暂记录)',
    `all_out_group`  bigint NULL DEFAULT 0 COMMENT '累计退群人数',
    `roomid`         bigint NULL DEFAULT NULL COMMENT '群ID',
    PRIMARY KEY (`chat_id`) USING BTREE,
    INDEX            `1`(`name` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '客户群列表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_chat_transfer_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_chat_transfer_log`;
CREATE TABLE `qw_group_chat_transfer_log`
(
    `id`                  bigint                                                        NOT NULL AUTO_INCREMENT,
    `corp_id`             varchar(255)   NOT NULL COMMENT '企业id',
    `transfer_type`       tinyint NULL DEFAULT 0 COMMENT '转移类型 0:在职继承 1:离职继承',
    `company_id`          bigint                                                        NOT NULL COMMENT '公司id',
    `company_user_id`     bigint                                                        NOT NULL COMMENT '销售id',
    `old_company_user_id` bigint NULL DEFAULT NULL COMMENT '原归属销售ID',
    `old_qw_user_id`      bigint                                                        NOT NULL COMMENT '原归属群主企微用户id',
    `old_qw_user_name`    varchar(255)   NOT NULL COMMENT '原归属企微名称',
    `old_owner`           varchar(255)   NOT NULL COMMENT '原归属群主ID',
    `new_company_user_id` bigint NULL DEFAULT NULL COMMENT '接替销售ID',
    `new_qw_user_id`      bigint                                                        NOT NULL COMMENT '接替群主企微用户id',
    `new_qw_user_name`    varchar(255)   NOT NULL COMMENT '接替企微名称',
    `new_owner`           varchar(255)   NOT NULL COMMENT '接替群主ID',
    `chat_id`             varchar(255)   NOT NULL COMMENT '客户群ID',
    `chat_name`           varchar(255)   NOT NULL COMMENT '客户群名称',
    `create_time`         datetime                                                      NOT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户群转接记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_chat_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_chat_user`;
CREATE TABLE `qw_group_chat_user`
(
    `id`             int NOT NULL AUTO_INCREMENT,
    `chat_id`        varchar(255)   NULL DEFAULT NULL COMMENT '客户群ID',
    `user_id`        varchar(255)   NULL DEFAULT NULL COMMENT '群成员id',
    `type`           varchar(255)   NULL DEFAULT NULL COMMENT '成员类型。\r\n1 - 企业成员\r\n2 - 外部联系人',
    `unionid`        varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人在微信开放平台的唯一身份标识（微信unionid）',
    `join_time`      datetime NULL DEFAULT NULL COMMENT '入群时间',
    `join_scene`     varchar(255)   NULL DEFAULT NULL COMMENT '入群方式。\r\n0/1 - 由群成员邀请入群（直接邀请入群）\r\n0/2 - 由群成员邀请入群（通过邀请链接入群）\r\n3 - 通过扫描群二维码入群',
    `invitor`        varchar(255)   NULL DEFAULT NULL COMMENT '邀请者。目前仅当是由本企业内部成员邀请入群时会返回该值',
    `group_nickname` varchar(255)   NULL DEFAULT NULL COMMENT '客户在群里的昵称',
    `name`           varchar(255)   NULL DEFAULT NULL COMMENT '名字。仅当 need_name = 1 时返回\r\n如果是微信用户，则返回其在微信中设置的名字\r\n如果是企业微信联系人，则返回其设置对外展示的别名或实名',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`        varchar(50)   NULL DEFAULT NULL COMMENT '企业微信的企业id',
    `is_out`         int NULL DEFAULT 1 COMMENT '是否退群  1未退群 2 已退群',
    `out_time`       datetime NULL DEFAULT NULL COMMENT '退群时间',
    `quit_scene`     int NULL DEFAULT NULL COMMENT '成员的退群方式 0 - 自己退群 1 - 群主/群管理员移出',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_chat_user`(`chat_id` ASC, `user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户群详情' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_live_code
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_live_code`;
CREATE TABLE `qw_group_live_code`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `group_name`   varchar(255)   NULL DEFAULT NULL COMMENT '活码名称',
    `qrcode_num`   int NULL DEFAULT 0 COMMENT '实际二维码数量',
    `to_day_num`   int NULL DEFAULT 0 COMMENT '今日加群数',
    `count_num`    bigint NULL DEFAULT 0 COMMENT '累积加群数',
    `project_name` varchar(255)   NULL DEFAULT NULL COMMENT '项目名称',
    `project_id`   bigint NULL DEFAULT NULL COMMENT '项目id',
    `status`       int NULL DEFAULT NULL COMMENT '是否启用 1是 0否',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '群活码' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_msg
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_msg`;
CREATE TABLE `qw_group_msg`
(
    `id`               bigint                                                         NOT NULL AUTO_INCREMENT COMMENT '群发记录主表ID',
    `msgid`            varchar(255)   NULL DEFAULT NULL COMMENT '企业群发消息的id，可用于获取群发消息发送结果',
    `chat_type`        varchar(255)    NOT NULL COMMENT '群发任务的类型，默认为single，表示发送给客户，group表示发送给客户群',
    `select_type`      tinyint NULL DEFAULT NULL COMMENT '选择single 时，选择客户的类型 1全部客户 2筛选的客户',
    `filter_customers` json NULL COMMENT '筛选客户时的筛选条件',
    `sender`           varchar(255)    NOT NULL COMMENT '发送企业群发消息的成员userid，当类型为发送给客户群时必填',
    `allow_select`     int NULL DEFAULT NULL COMMENT '是否允许成员在待发送客户列表中重新进行选择，默认为true，仅支持客户群发场景',
    `text_content`     varchar(4000)   NOT NULL COMMENT '消息文本内容，最多4000个字节',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `tag_names`        text   NULL COMMENT '要进行群发的客户标签列表，同组标签之间按或关系进行筛选，不同组标签按且关系筛选，每组最多指定100个标签，支持规则组标签',
    `group_chat_names` varchar(255)   NULL DEFAULT NULL COMMENT '客户群群发-标题(内部显示)',
    `from_user_count`  int NULL DEFAULT 0 COMMENT '已发送成员/群',
    `to_user_count`    int NULL DEFAULT 0 COMMENT '送达客户/群',
    `from_user_num`    int NULL DEFAULT 0 COMMENT '发送成员/群总数',
    `to_user_num`      int NULL DEFAULT NULL COMMENT '发送客户/群总数',
    `create_time`      datetime NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `create_name`      varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `is_send`          int NULL DEFAULT NULL COMMENT '是否发送 0 发送失败  1发送成功 2发送成功待录入详细信息 3待发送',
    `is_timer_send`    int NULL DEFAULT 2 COMMENT '定时发送 1定时发送 2立即发送',
    `timer_send`       datetime NULL DEFAULT NULL COMMENT '定时发送时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `idx_msgid`(`msgid` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户群发记录主表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_msg_item
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_msg_item`;
CREATE TABLE `qw_group_msg_item`
(
    `id`                       int    NOT NULL AUTO_INCREMENT,
    `group_msg_id`             bigint NOT NULL COMMENT '群发记录主表id',
    `msg_id`                   varchar(255)   NULL DEFAULT NULL COMMENT '企业群发消息的id，可用于获取群发消息发送结果',
    `msg_type`                 tinyint(1) NOT NULL DEFAULT 1 COMMENT '附件类型 1 文本+图片 2文本+图文 3文本+小程序  4文本+文件 5 文本+视频',
    `media_id`                 varchar(255)   NULL DEFAULT NULL COMMENT '图片的media_id',
    `media_pic_url`            varchar(255)   NULL DEFAULT NULL COMMENT '图片的链接',
    `title`                    varchar(255)   NULL DEFAULT NULL COMMENT '图文消息标题',
    `picurl`                   varchar(255)   NULL DEFAULT NULL COMMENT '图文消息封面的url',
    `description`              varchar(600)   NULL DEFAULT NULL COMMENT '图文消息的描述',
    `url`                      varchar(255)   NULL DEFAULT NULL COMMENT '图文消息的链接',
    `miniprogram_pic_media_id` varchar(255)   NULL DEFAULT NULL COMMENT '小程序消息封面的mediaid',
    `miniprogram_pic_url`      varchar(255)   NULL DEFAULT NULL COMMENT '小程序封面地址',
    `miniprogram_appid`        varchar(255)   NULL DEFAULT NULL COMMENT '小程序appid',
    `miniprogram_title`        varchar(255)   NULL DEFAULT NULL COMMENT '小程序消息标题',
    `miniprogram_page`         varchar(255)   NULL DEFAULT NULL COMMENT '小程序page路径',
    `video_media_id`           varchar(255)   NULL DEFAULT NULL COMMENT '视频的media_id',
    `video_url`                varchar(255)   NULL DEFAULT NULL COMMENT '视频地址',
    `file_media_id`            varchar(255)   NULL DEFAULT NULL COMMENT '文件的media_id',
    `file_url`                 varchar(255)   NULL DEFAULT NULL COMMENT '文件地址',
    `corp_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    `company_id`               bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`              datetime NULL DEFAULT NULL,
    `update_time`              datetime NULL DEFAULT NULL,
    `created_at`               varchar(255)   NULL DEFAULT NULL COMMENT '媒体文件上传时间戳',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                      `idx_group_msg_id`(`group_msg_id` ASC) USING BTREE,
    INDEX                      `idx_msg_id`(`msg_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '客户群发消息的附件记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_group_msg_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_group_msg_user`;
CREATE TABLE `qw_group_msg_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `user_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业服务人员的userid',
    `msg_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企业群发消息的id，可用于获取群发消息发送结果',
    `group_msg_id`    int NULL DEFAULT NULL COMMENT '群发记录主表id',
    `status`          int NULL DEFAULT 0 COMMENT '发送状态：0-未发送 2-已发送',
    `send_time`       bigint NULL DEFAULT NULL COMMENT '发送时间，未发送时不返回',
    `external_userid` varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人userid，群发消息到企业的客户群不返回该字段',
    `chat_id`         varchar(255)   NULL DEFAULT NULL COMMENT '外部客户群id，群发消息到客户不返回该字段',
    `chat_type`       varchar(255)   NULL DEFAULT NULL COMMENT '群发任务类型 single表示发送给客户，group表示发送给客户群',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `send_status`     varchar(255)   NULL DEFAULT '0' COMMENT '发送（接收）状态：0-未发送 1-已发送 2-因客户不是好友导致发送失败 3-因客户已经收到其他群发消息导致发送失败',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `IDX_user_id_msg_id`(`user_id` ASC, `msg_id` ASC) USING BTREE,
    INDEX             `idx_group_msg_id`(`group_msg_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '群发成员发送任务及执行结果反馈记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_groupchat_statistic
-- ----------------------------
DROP TABLE IF EXISTS `qw_groupchat_statistic`;
CREATE TABLE `qw_groupchat_statistic`
(
    `be`                       int NOT NULL AUTO_INCREMENT,
    `owner`                    varchar(255)   NULL DEFAULT NULL COMMENT '群主ID',
    `day_time`                 int NULL DEFAULT NULL COMMENT '日期，秒时间戳',
    `new_chat_cnt`             int NULL DEFAULT NULL COMMENT '新增客户群数量',
    `chat_total`               int NULL DEFAULT NULL COMMENT '截至当天客户群总数量',
    `chat_has_msg`             int NULL DEFAULT NULL COMMENT '截至当天有发过消息的客户群数量',
    `new_member_cnt`           int NULL DEFAULT NULL COMMENT '客户群新增群人数',
    `member_total`             int NULL DEFAULT NULL COMMENT '截至当天客户群总人数',
    `member_has_msg`           int NULL DEFAULT NULL COMMENT '截至当天有发过消息的群成员数',
    `msg_total`                int NULL DEFAULT NULL COMMENT '截至当天客户群消息总数',
    `migrate_trainee_chat_cnt` int NULL DEFAULT NULL COMMENT '截至当天新增迁移群数(仅教培行业返回)',
    `companyId`                bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    PRIMARY KEY (`be`) USING BTREE,
    UNIQUE INDEX `unique_groupchat_statistic`(`owner` DESC, `day_time` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微群聊数据统计数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_information
-- ----------------------------
DROP TABLE IF EXISTS `qw_information`;
CREATE TABLE `qw_information`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `void_id`     varbinary(255) NULL DEFAULT NULL COMMENT '视频id',
    `type`        int NULL DEFAULT NULL,
    `add_num`     int NULL DEFAULT 0 COMMENT '添加人数',
    `num`         int NULL DEFAULT 0 COMMENT '剩余人数',
    `delete_num`  int NULL DEFAULT 0 COMMENT '删除人数',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '信息流管理表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_ipad_server
-- ----------------------------
DROP TABLE IF EXISTS `qw_ipad_server`;
CREATE TABLE `qw_ipad_server`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `title`       varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `address_id`  varchar(255)   NULL DEFAULT NULL COMMENT '地址',
    `ip`          varchar(20)   NULL DEFAULT NULL COMMENT 'ip',
    `port`        varchar(20)   NULL DEFAULT NULL COMMENT '地址',
    `url`         varchar(255)   NULL DEFAULT NULL COMMENT 'url',
    `total_count` int NULL DEFAULT NULL COMMENT '总数',
    `count`       int NULL DEFAULT NULL COMMENT '剩余数量',
    `create_time` datetime NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `group_no`    int NULL DEFAULT NULL,
    `create_by`   varchar(255)   NULL DEFAULT NULL,
    `update_by`   varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `address_id`(`address_id` ASC) USING BTREE,
    INDEX         `count`(`count` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ipad服务器' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_ipad_server_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_ipad_server_log`;
CREATE TABLE `qw_ipad_server_log`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `server_id`       bigint NULL DEFAULT NULL COMMENT '服务器id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `tilie`           varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `type`            int NULL DEFAULT NULL COMMENT '类别 1 绑定 2 解绑',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `server_id`(`server_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `type`(`type` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ipad服务器日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_ipad_server_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_ipad_server_user`;
CREATE TABLE `qw_ipad_server_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `server_id`       bigint NULL DEFAULT NULL COMMENT '服务器id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '公司用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `server_id`(`server_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'ipad用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_ipad_total
-- ----------------------------
DROP TABLE IF EXISTS `qw_ipad_total`;
CREATE TABLE `qw_ipad_total`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `company_id`   bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_name` varchar(255)   NULL DEFAULT NULL COMMENT '公司名称',
    `bind_count`   bigint NULL DEFAULT NULL COMMENT '绑定数量',
    `stat_time`    varchar(50)   NULL DEFAULT NULL COMMENT '日期',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_material
-- ----------------------------
DROP TABLE IF EXISTS `qw_material`;
CREATE TABLE `qw_material`
(
    `material_id`       bigint NOT NULL AUTO_INCREMENT COMMENT '素材库id',
    `material_type`     varchar(255)   NULL DEFAULT NULL COMMENT '媒体文件类型,文本(text),图片(image),图文(imagetext),语音(voice),视频(video),普通文件(file)',
    `material_media_id` varchar(255)   NULL DEFAULT NULL COMMENT '媒体文件上传后获取的唯一标识，3天内有效',
    `material_url`      text   NULL COMMENT '媒体文件地址，图片可以上传永久的，其他类型的3天有效（朋友圈的都是media_id）',
    `material_name`     varchar(255)   NULL DEFAULT NULL COMMENT '素材名',
    `created_at`        varchar(255)   NULL DEFAULT NULL COMMENT '媒体文件上传时间戳',
    `material_group_id` bigint NULL DEFAULT NULL COMMENT '素材分组id',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '公司id',
    `text_content`      varchar(4000)   NULL DEFAULT NULL COMMENT '文本消息',
    `title`             varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `send_count`        varchar(255)   NULL DEFAULT NULL COMMENT '发送次数',
    `create_time`       datetime NULL DEFAULT NULL,
    `update_time`       datetime NULL DEFAULT NULL,
    `title_url`         varchar(255)   NULL DEFAULT NULL COMMENT '标题图片',
    `group_type`        tinyint NULL DEFAULT NULL COMMENT '素材分类 1 普通素材组 2 朋友圈素材组',
    `create_user_id`    bigint NULL DEFAULT NULL COMMENT '创建者ID',
    `corp_id`           varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    PRIMARY KEY (`material_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '素材库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_material_group
-- ----------------------------
DROP TABLE IF EXISTS `qw_material_group`;
CREATE TABLE `qw_material_group`
(
    `material_group_id`   bigint NOT NULL AUTO_INCREMENT COMMENT '分组id',
    `material_group_name` varchar(255)   NULL DEFAULT NULL COMMENT '分组名称',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`         datetime NULL DEFAULT NULL,
    `update_time`         datetime NULL DEFAULT NULL,
    `group_type`          tinyint NULL DEFAULT NULL COMMENT '素材分类 1 普通素材组 2 朋友圈素材组',
    `create_user_id`      bigint NULL DEFAULT NULL COMMENT '创建者ID',
    `corp_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    PRIMARY KEY (`material_group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信素材分组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_messages
-- ----------------------------
DROP TABLE IF EXISTS `qw_messages`;
CREATE TABLE `qw_messages`
(
    `id`         int                                                           NOT NULL AUTO_INCREMENT COMMENT '自增主键，唯一标识',
    `msgid`      varchar(255)   NOT NULL COMMENT '消息ID，唯一',
    `action`     varchar(50)    NOT NULL COMMENT '操作类型',
    `from`       varchar(255)   NOT NULL COMMENT '发送者ID',
    `tolist`     json                                                          NOT NULL COMMENT '接收者ID列表，存储为JSON格式',
    `roomid`     varchar(255)   NULL DEFAULT NULL COMMENT '房间ID，允许为空',
    `msgtime`    datetime                                                      NOT NULL COMMENT '消息时间',
    `msgtype`    varchar(50)    NOT NULL COMMENT '消息类型',
    `content`    text   NOT NULL COMMENT '消息内容',
    `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企业微信会话存档表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg`;
CREATE TABLE `qw_msg`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_0
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_0`;
CREATE TABLE `qw_msg_0`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_1
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_1`;
CREATE TABLE `qw_msg_1`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_2
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_2`;
CREATE TABLE `qw_msg_2`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_3
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_3`;
CREATE TABLE `qw_msg_3`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_4
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_4`;
CREATE TABLE `qw_msg_4`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_5
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_5`;
CREATE TABLE `qw_msg_5`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_6
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_6`;
CREATE TABLE `qw_msg_6`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_7
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_7`;
CREATE TABLE `qw_msg_7`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_8
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_8`;
CREATE TABLE `qw_msg_8`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_msg_9
-- ----------------------------
DROP TABLE IF EXISTS `qw_msg_9`;
CREATE TABLE `qw_msg_9`
(
    `msg_id`          bigint NOT NULL AUTO_INCREMENT,
    `session_id`      bigint NULL DEFAULT NULL COMMENT '会话id',
    `qw_ext_id`       varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人主键ID',
    `qw_user_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微用户主键iD',
    `content`         text   NULL COMMENT '消息内容',
    `msg_type`        tinyint(1) NULL DEFAULT NULL COMMENT '消息类型 1文本',
    `send_type`       tinyint(1) NULL DEFAULT NULL COMMENT '发送类型 1用户发送 2客服发送',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `role_id`         bigint NULL DEFAULT NULL COMMENT '角色ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `msg_json`        text   NULL COMMENT '消息JSON',
    `status`          tinyint(1) NULL DEFAULT 0 COMMENT '0未读 1已读',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL,
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `qw_msg_id`       bigint NULL DEFAULT NULL COMMENT '企微消息ID',
    `qw_app_info`     varchar(255)   NULL DEFAULT NULL COMMENT '企微消息info',
    PRIMARY KEY (`msg_id`) USING BTREE,
    INDEX             `session_id`(`session_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '企微聊天记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_push_count
-- ----------------------------
DROP TABLE IF EXISTS `qw_push_count`;
CREATE TABLE `qw_push_count`
(
    `id`         int NOT NULL AUTO_INCREMENT,
    `type`       int NULL DEFAULT NULL COMMENT '推送类型',
    `push_count` int NULL DEFAULT NULL COMMENT '销售推送企业微信消息的限定次数',
    `company_id` bigint NULL DEFAULT NULL COMMENT '推送公司id',
    `status`     int NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '定义销售推送不同类型的企业消息的次数' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_push_count_copy1
-- ----------------------------
DROP TABLE IF EXISTS `qw_push_count_copy1`;
CREATE TABLE `qw_push_count_copy1`
(
    `id`         int NOT NULL AUTO_INCREMENT,
    `type`       int NULL DEFAULT NULL COMMENT '推送类型',
    `push_count` int NULL DEFAULT NULL COMMENT '销售推送企业微信消息的限定次数',
    `company_id` bigint NULL DEFAULT NULL COMMENT '推送公司id',
    `status`     int NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '定义销售推送不同类型的企业消息的次数' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_restriction_push_record
-- ----------------------------
DROP TABLE IF EXISTS `qw_restriction_push_record`;
CREATE TABLE `qw_restriction_push_record`
(
    `id`             int NOT NULL AUTO_INCREMENT,
    `type`           int NULL DEFAULT NULL COMMENT '推送信息的类型',
    `qw_user_id`     bigint NULL DEFAULT NULL COMMENT '企微用户销售ID',
    `qw_external_id` bigint NULL DEFAULT NULL COMMENT '推送公司客户id',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '推送公司id',
    `status`         int NULL DEFAULT NULL COMMENT '状态',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '发送时间',
    `time`           bigint NULL DEFAULT NULL COMMENT '发送的时间戳',
    `remarks`        varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_query_optimized`(`qw_user_id` ASC, `qw_external_id` ASC, `type` ASC, `time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '记录销售推送成功企业微信信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_restriction_push_record_copy1
-- ----------------------------
DROP TABLE IF EXISTS `qw_restriction_push_record_copy1`;
CREATE TABLE `qw_restriction_push_record_copy1`
(
    `id`             int NOT NULL AUTO_INCREMENT,
    `type`           int NULL DEFAULT NULL COMMENT '推送信息的类型',
    `qw_user_id`     bigint NULL DEFAULT NULL COMMENT '企微用户销售ID',
    `qw_external_id` bigint NULL DEFAULT NULL COMMENT '推送公司客户id',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '推送公司id',
    `status`         int NULL DEFAULT NULL COMMENT '状态',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '发送时间',
    `time`           bigint NULL DEFAULT NULL COMMENT '发送的时间戳',
    `remarks`        varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `idx_query_optimized`(`qw_user_id` ASC, `qw_external_id` ASC, `type` ASC, `time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '记录销售推送成功企业微信信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_schedule
-- ----------------------------
DROP TABLE IF EXISTS `qw_schedule`;
CREATE TABLE `qw_schedule`
(
    `id` int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_session
-- ----------------------------
DROP TABLE IF EXISTS `qw_session`;
CREATE TABLE `qw_session`
(
    `session_id`      bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `chat_id`         varchar(255)   NULL DEFAULT NULL COMMENT '会话标识',
    `qw_ext_wx_id`    varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人wxid',
    `qw_ext_id`       bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `qw_user_id`      varchar(200)   NULL DEFAULT NULL COMMENT '客服ID ',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '结束时间',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 ',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `user_type`       tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '客户昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '归属员工',
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `is_room`         tinyint NULL DEFAULT 0 COMMENT '是否群聊 0否 1是',
    `first_letter`    varchar(2)   NULL DEFAULT NULL COMMENT '首字母',
    `last_msg_id`     bigint NULL DEFAULT NULL COMMENT '最后一条消息id',
    `last_msg_type`   varchar(255)   NULL DEFAULT 'text' COMMENT '最后一条消息类型',
    `last_send_time`  bigint NULL DEFAULT NULL COMMENT '最后一条消息发送时间',
    `last_content`    text   NULL COMMENT '最后一条消息内容',
    PRIMARY KEY (`session_id`) USING BTREE,
    INDEX             `qw_ext_wx_id`(`qw_ext_wx_id` ASC) USING BTREE,
    INDEX             `qw_ext_id`(`qw_ext_id` ASC) USING BTREE,
    INDEX             `idx_qw_user`(`qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '对话关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_session_copy1
-- ----------------------------
DROP TABLE IF EXISTS `qw_session_copy1`;
CREATE TABLE `qw_session_copy1`
(
    `session_id`      bigint NOT NULL AUTO_INCREMENT COMMENT '会话ID',
    `chat_id`         varchar(255)   NULL DEFAULT NULL COMMENT '会话标识',
    `qw_ext_wx_id`    varchar(255)   NULL DEFAULT NULL COMMENT '外部联系人wxid',
    `qw_ext_id`       bigint NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `qw_user_id`      varchar(200)   NULL DEFAULT NULL COMMENT '客服ID ',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '结束时间',
    `status`          tinyint(1) NULL DEFAULT NULL COMMENT '状态 ',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `user_type`       tinyint(1) NULL DEFAULT 1 COMMENT '用户类型 1微信用户 2小程序用户 3销售用户',
    `nick_name`       varchar(200)   NULL DEFAULT NULL COMMENT '客户昵称',
    `avatar`          varchar(200)   NULL DEFAULT NULL COMMENT '头像',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '归属员工',
    `create_by`       varchar(255)   NULL DEFAULT NULL,
    `update_by`       varchar(255)   NULL DEFAULT NULL,
    `is_room`         tinyint NULL DEFAULT 0 COMMENT '是否群聊 0否 1是',
    `first_letter`    varchar(2)   NULL DEFAULT NULL COMMENT '首字母',
    `last_msg_id`     bigint NULL DEFAULT NULL COMMENT '最后一条消息id',
    `last_msg_type`   varchar(255)   NULL DEFAULT 'text' COMMENT '最后一条消息类型',
    `last_send_time`  bigint NULL DEFAULT NULL COMMENT '最后一条消息发送时间',
    `last_content`    text   NULL COMMENT '最后一条消息内容',
    PRIMARY KEY (`session_id`) USING BTREE,
    INDEX             `qw_ext_wx_id`(`qw_ext_wx_id` ASC) USING BTREE,
    INDEX             `qw_ext_id`(`qw_ext_id` ASC) USING BTREE,
    INDEX             `idx_qw_user`(`qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '对话关系表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_clickhouse
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_clickhouse`;
CREATE TABLE `qw_sop_clickhouse`
(
    `id`            bigint NOT NULL AUTO_INCREMENT,
    `name`          varchar(50)   NULL DEFAULT NULL COMMENT '规则名称',
    `status`        int NULL DEFAULT NULL COMMENT '状态 1正常 0停用 2已完成 3已完成但没有满足条件的 4执行中',
    `type`          int NULL DEFAULT NULL COMMENT '类别 1个微 2企业微信',
    `qw_user_ids`   text   NULL COMMENT 'qw_user主表的主键',
    `tags`          varchar(255)   NULL DEFAULT NULL COMMENT '选择的标签',
    `filter_type`   int NULL DEFAULT NULL COMMENT '过滤类别 1 包含全部 2 包含任意',
    `exclude_tags`  varchar(255)   NULL DEFAULT NULL COMMENT '排除的标签',
    `start_time`    datetime NULL DEFAULT NULL COMMENT '开始时间',
    `temp_id`       bigint NULL DEFAULT NULL COMMENT '模板id',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_by`     varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time`   datetime NULL DEFAULT NULL COMMENT '创建时间',
    `send_type`     tinyint NULL DEFAULT 1 COMMENT '发送类型 1接口发送 2 Ai发送 3完客回复 4新客对话',
    `corp_id`       varchar(255)   NULL DEFAULT NULL,
    `expiry_time`   int NULL DEFAULT 1 COMMENT '过期时间',
    `is_auto_sop`   tinyint NULL DEFAULT 1 COMMENT '是否开启新客户添加自动创建sop 1是 2否',
    `auto_sop_time` varchar(500)   NULL DEFAULT NULL COMMENT '自动添加SOP的时间段',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `idx_send_type_create_time`(`send_type` ASC, `create_time` ASC) USING BTREE,
    INDEX           `idx_company_status_type`(`company_id` ASC, `status` ASC, `type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微sop' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_logs_clickhouse
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_logs_clickhouse`;
CREATE TABLE `qw_sop_logs_clickhouse`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `qw_userid`        varchar(255)   NULL DEFAULT NULL COMMENT 'qw_user表-企微的成员qw_user_id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `log_type`         int NULL DEFAULT NULL COMMENT '类别 1个人 2企业微信',
    `content_json`     json NULL COMMENT '符合条件的规则',
    `send_status`      int NULL DEFAULT NULL COMMENT '发送(给成员)状态 0发送失败 1发送成功 3待发送 4未发送(未确定) 5已作废',
    `send_time`        datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `receiving_status` int NULL DEFAULT 0 COMMENT '接收(客户的)状态：0-未发送 1-已发送 2-因客户不是好友导致发送失败 3-因客户已经收到其他群发消息导致发送失败',
    `msg_id`           varchar(255)   NULL DEFAULT NULL COMMENT '消息ID',
    `send_type`        tinyint NULL DEFAULT 1 COMMENT '发送类型 1接口发送 2 Ai发送',
    `sop_id`           bigint NULL DEFAULT NULL COMMENT 'qw_sop表主键',
    `real_send_time`   datetime NULL DEFAULT NULL COMMENT '实际发送时间',
    `remark`           varchar(500)   NULL DEFAULT NULL COMMENT '备注（发送失败的原因）',
    `corp_id`          varchar(255)   NULL DEFAULT NULL,
    `customer_id`      bigint NULL DEFAULT NULL COMMENT 'crm_customer的主键',
    `fs_user_id`       bigint NULL DEFAULT NULL COMMENT '小程序用户表主键',
    `expiration_time`  datetime NULL DEFAULT NULL COMMENT '过期时间',
    `sort`             int NULL DEFAULT 1 COMMENT '排序',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `qw_userid`(`qw_userid` ASC) USING BTREE,
    INDEX              `log_type`(`log_type` ASC) USING BTREE,
    INDEX              `external_user_id`(`external_user_id` ASC) USING BTREE,
    INDEX              `sop_id`(`sop_id` ASC) USING BTREE,
    INDEX              `send_status`(`send_status` ASC) USING BTREE,
    INDEX              `send_time`(`send_time` ASC) USING BTREE,
    INDEX              `6`(`send_status` ASC, `send_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信SOP  定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_logs_detalis
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_logs_detalis`;
CREATE TABLE `qw_sop_logs_detalis`
(
    `id`                    int NOT NULL,
    `type`                  varchar(255)   NULL DEFAULT NULL,
    `external_user_id`      varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`            varchar(255)   NULL DEFAULT NULL,
    `corp_id`               varchar(255)   NULL DEFAULT NULL,
    `send_list`             longtext   NULL,
    `next_external_user_id` varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_logs_service provider
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_logs_service provider`;
CREATE TABLE `qw_sop_logs_service provider`
(
    `id`               bigint NOT NULL AUTO_INCREMENT,
    `qw_userid`        varchar(255)   NULL DEFAULT NULL COMMENT 'qw_user表-企微的成员qw_user_id',
    `external_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '企微外部联系人id',
    `log_type`         int NULL DEFAULT NULL COMMENT '类别 1个人 2群',
    `content_json`     json NULL COMMENT '符合条件的规则',
    `send_status`      int NULL DEFAULT NULL COMMENT '发送(给成员)状态 0发送失败 1发送成功 3待发送',
    `send_time`        datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `receiving_status` int NULL DEFAULT 0 COMMENT '接收(客户的)状态：0-未发送 1-已发送 2-因客户不是好友导致发送失败 3-因客户已经收到其他群发消息导致发送失败',
    `msg_id`           varchar(255)   NULL DEFAULT NULL COMMENT '消息ID',
    `send_type`        tinyint NULL DEFAULT 1 COMMENT '发送类型 1定时接口发送 2 Ai接口发送',
    `sop_id`           bigint NULL DEFAULT NULL COMMENT 'qw_sop表主键',
    `real_send_time`   datetime NULL DEFAULT NULL COMMENT '实际发送时间',
    `remark`           varchar(500)   NULL DEFAULT NULL COMMENT '(备注)发送失败原因',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `unino_qw_sop_logs`(`qw_userid` ASC, `external_user_id` ASC, `send_time` ASC, `send_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信SOP  定时任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_service_provider
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_service_provider`;
CREATE TABLE `qw_sop_service_provider`
(
    `id`           bigint NOT NULL AUTO_INCREMENT,
    `name`         varchar(50)   NULL DEFAULT NULL COMMENT '规则名称',
    `status`       int NULL DEFAULT NULL COMMENT '状态 正常 停用',
    `type`         int NULL DEFAULT NULL COMMENT '类别 1个人 ',
    `tags`         varchar(255)   NULL DEFAULT NULL COMMENT '标签',
    `exclude_tags` varchar(255)   NULL DEFAULT NULL COMMENT '排除标签',
    `qw_user_ids`  text   NULL COMMENT 'qw_user主表的主键',
    `setting`      text   NULL COMMENT '规则',
    `company_id`   bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_by`    varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `send_type`    tinyint NULL DEFAULT 1 COMMENT '发送类型 1定时接口发送 2 Ai接口发送',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `idx_send_type_create_time`(`send_type` ASC, `create_time` ASC) USING BTREE,
    INDEX          `idx_company_status_type`(`company_id` ASC, `status` ASC, `type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微sop' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp_qw_sop_temp
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_qw_sop_temp`;
CREATE TABLE `qw_sop_temp_qw_sop_temp`
(
    `id`          int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '模板标题',
    `setting`     longtext   NULL COMMENT '规则',
    `status`      varchar(255)   NULL DEFAULT NULL COMMENT '状态 正常 或 停用',
    `gap`         int NULL DEFAULT NULL COMMENT '间隔天数',
    `sort`        int NULL DEFAULT NULL COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`   varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `company_id`  int NULL DEFAULT NULL,
    `corp_id`     varchar(255)   NULL DEFAULT NULL,
    `send_type`   tinyint NULL DEFAULT NULL COMMENT '模板类型 1企微接口 2 Ai插件  3客户触发模板',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'sop模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_tag
-- ----------------------------
DROP TABLE IF EXISTS `qw_tag`;
CREATE TABLE `qw_tag`
(
    `id`             bigint NOT NULL AUTO_INCREMENT,
    `tag_id`         varchar(255)   NULL DEFAULT NULL COMMENT '标签id',
    `name`           varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `group_id`       varchar(255)   NULL DEFAULT NULL COMMENT '标签组id',
    `order`          varchar(255)   NULL DEFAULT NULL COMMENT '排序',
    `corp_id`        varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `company_id`     bigint NULL DEFAULT NULL,
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更改时间',
    `tag_from`       tinyint NULL DEFAULT NULL COMMENT '标签来源',
    `reminder_words` longtext   NULL COMMENT '提示词',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `1`(`tag_id` ASC, `group_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX            `name`(`name` ASC) USING BTREE,
    INDEX            `corp_id`(`corp_id` ASC) USING BTREE,
    INDEX            `2`(`group_id` ASC) USING BTREE,
    INDEX            `3`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微客户标签' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_tag_group
-- ----------------------------
DROP TABLE IF EXISTS `qw_tag_group`;
CREATE TABLE `qw_tag_group`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `group_id`    varchar(255)   NULL DEFAULT NULL COMMENT '标签id',
    `name`        varchar(255)   NULL DEFAULT NULL COMMENT '名称',
    `order`       varchar(255)   NULL DEFAULT NULL COMMENT '排序',
    `corp_id`     varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    `company_id`  bigint NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更改时间',
    `group_from`  tinyint NULL DEFAULT NULL COMMENT '标签组来源',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `1`(`group_id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微客户标签组' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_user`;
CREATE TABLE `qw_user`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `qw_user_id`       varchar(255)   NULL DEFAULT NULL COMMENT '企微用户id',
    `qw_user_name`     varchar(255)   NULL DEFAULT NULL COMMENT '企微用户名',
    `avatar`           varchar(255)   NULL DEFAULT NULL COMMENT '头像',
    `department`       varchar(255)   NULL DEFAULT NULL COMMENT '所属部门id',
    `openid`           varchar(255)   NULL DEFAULT NULL COMMENT 'openid',
    `company_id`       bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '公司员工id',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    `status`           int NULL DEFAULT 0 COMMENT '0 未绑定 1 已绑定',
    `is_del`           int NULL DEFAULT 0 COMMENT '是否删除',
    `welcome_text`     varchar(255)   NULL DEFAULT NULL COMMENT 'sop消息文本前缀',
    `welcome_image`    varchar(255)   NULL DEFAULT NULL COMMENT '【弃用】',
    `is_send_msg`      int NULL DEFAULT 2 COMMENT '1 添加【完课备注】在最【旧备注-(前面)】\r\n2 添加【完课备注】在最【旧备注-(后面)】\r\n3 使用简洁版备注【*日期完】,在【旧备注-前面】\r\n4 使用简洁版备注【*日期完】,在【旧备注-后面】\r\n5 不用完课备注',
    `app_key`          varchar(255)   NULL DEFAULT NULL,
    `config_id`        varchar(255)   NULL DEFAULT NULL COMMENT '活码的id',
    `contact_way`      varchar(255)   NULL DEFAULT NULL COMMENT '联系我',
    `qw_hook_id`       varchar(20)   NULL DEFAULT NULL,
    `qw_hook_mac`      varchar(20)   NULL DEFAULT NULL,
    `fastGpt_role_id`  bigint NULL DEFAULT NULL COMMENT '绑定的AI客服角色',
    `login_status`     int NULL DEFAULT 0 COMMENT '企微登录状态 1登录 0离线',
    `tool_status`      int NULL DEFAULT 0 COMMENT '插件的登录状态  1登录 0离线',
    `login_code_url`   varchar(25)   NULL DEFAULT NULL COMMENT '登录的服务器',
    `fast_gpt_role_id` bigint NULL DEFAULT NULL,
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`        bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`        varchar(255)   NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `remark`           varchar(255)   NULL DEFAULT NULL,
    `version`          varchar(255)   NULL DEFAULT NULL COMMENT '插件版本',
    `unionid`          varchar(255)   NULL DEFAULT NULL,
    `vid`              bigint NULL DEFAULT NULL COMMENT 'hookvid',
    `uid`              varchar(255)   NULL DEFAULT NULL COMMENT 'hookuid',
    `ipad_status`      int NULL DEFAULT NULL COMMENT '0 未登录 1 登录',
    `server_id`        int NULL DEFAULT NULL COMMENT 'ipad服务器id',
    `server_status`    int NULL DEFAULT NULL COMMENT '0未绑定 1绑定',
    `send_msg_type`    int NULL DEFAULT 0 COMMENT '发送消息类型0侧边栏1pad',
    `is_auto`          char(2)   NULL DEFAULT '00' COMMENT '是否自动发课 00、禁用，01、启用',
    `video_get_status` int NULL DEFAULT 1 COMMENT '是否获取视频号消息（0否1是）',
    `ai_status`        tinyint(1) NULL DEFAULT 0 COMMENT '角色状态 默认为0 0为启用 1为禁用',    `qw_open_user_id` varchar(100)   NULL DEFAULT NULL,

    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `5`(`qw_user_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX              `1`(`id` ASC) USING BTREE,
    INDEX              `2`(`company_id` ASC) USING BTREE,
    INDEX              `3`(`company_user_id` ASC) USING BTREE,
    INDEX              `4`(`qw_user_id` ASC) USING BTREE,
    INDEX              `6`(`app_key` ASC) USING BTREE,
    INDEX              `7`(`qw_hook_id` ASC) USING BTREE,
    INDEX              `id`(`id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微用户' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_user_complain_record
-- ----------------------------
DROP TABLE IF EXISTS `qw_user_complain_record`;
CREATE TABLE `qw_user_complain_record`
(
    `record_id`         bigint NOT NULL AUTO_INCREMENT COMMENT '投诉记录id',
    `phone`             varchar(50)   NULL DEFAULT NULL COMMENT '用户手机号',
    `complaint_type_id` bigint NULL DEFAULT NULL COMMENT '投诉类型id',
    `complaint_content` varchar(255)   NULL DEFAULT NULL COMMENT '投诉内容',
    `complaint_url`     varchar(800)   NULL DEFAULT NULL COMMENT '投诉上传图片',
    `create_time`       datetime NULL DEFAULT NULL COMMENT '创建时间',
    `qw_user_id`        bigint NULL DEFAULT NULL COMMENT '企微员工id',
    `ext_id`            bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `user_id`           bigint NULL DEFAULT NULL COMMENT 'fs_user_id',
    `position`          varchar(255)   NULL DEFAULT NULL COMMENT '位置',
    PRIMARY KEY (`record_id`) USING BTREE,
    INDEX               `complaint_type_id_index`(`complaint_type_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微员工投诉记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_user_del_loss_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_user_del_loss_log`;
CREATE TABLE `qw_user_del_loss_log`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT,
    `external_contact_id` bigint NULL DEFAULT NULL COMMENT '企微微信客户id',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`     bigint NULL DEFAULT NULL COMMENT '员工id',
    `type`                tinyint(1) NULL DEFAULT NULL COMMENT '类型：1-删除 2-流失',
    `time`                varchar(50)   NULL DEFAULT NULL COMMENT '时间',
    `qw_user_id`          varchar(255)   NULL DEFAULT NULL COMMENT '属于用户id',
    `corp_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微用户流失删除日志' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_user_video
-- ----------------------------
DROP TABLE IF EXISTS `qw_user_video`;
CREATE TABLE `qw_user_video`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `app_key`         varchar(255)   NULL DEFAULT NULL COMMENT '授权码',
    `sender_name`     varchar(255)   NULL DEFAULT NULL COMMENT '发送人名称',
    `object_id`       varchar(255)   NULL DEFAULT NULL COMMENT '视频号id',
    `cover_url`       varchar(1000)   NULL DEFAULT NULL COMMENT '封面图片地址',
    `thumb_url`       text   NULL COMMENT '封面图片地址',
    `avatar`          varchar(500)   NULL DEFAULT NULL COMMENT '头像',
    `nick_name`       varchar(255)   NULL DEFAULT NULL COMMENT '封面标题',
    `desc`            varchar(1000)   NULL DEFAULT NULL COMMENT '简介',
    `url`             varchar(2000)   NULL DEFAULT NULL COMMENT '视频地址',
    `extras`          longtext   NULL COMMENT '标识',
    `create_time`     datetime NULL DEFAULT NULL,
    `update_time`     datetime NULL DEFAULT NULL,
    `object_nonce_id` varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企业微信的视频号' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_user_voice_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_user_voice_log`;
CREATE TABLE `qw_user_voice_log`
(
    `id`              int NOT NULL AUTO_INCREMENT COMMENT 'id',
    `ext_id`          bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `duration`        bigint NULL DEFAULT NULL COMMENT '时长秒',
    `title`           varchar(255)   NULL DEFAULT NULL COMMENT '标题  0正常 1停用',
    `status`          int NULL DEFAULT NULL COMMENT '1接听 2未接',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `corp_id`(`corp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微用户通话记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_userbehavior_data
-- ----------------------------
DROP TABLE IF EXISTS `qw_userbehavior_data`;
CREATE TABLE `qw_userbehavior_data`
(
    `id`                    bigint NOT NULL AUTO_INCREMENT,
    `userid`                varchar(255)   NULL DEFAULT NULL COMMENT '企微成员ID',
    `stat_time`             bigint NULL DEFAULT NULL COMMENT '数据日期 秒时间戳',
    `chat_cnt`              int NULL DEFAULT NULL COMMENT '聊天总数',
    `message_cnt`           int NULL DEFAULT NULL COMMENT '发送消息数',
    `reply_percentage` double NULL DEFAULT NULL COMMENT '已回复聊天占比',
    `avg_reply_time`        int NULL DEFAULT NULL COMMENT '平均首次回复时长，单位为分钟',
    `negative_feedback_cnt` int NULL DEFAULT NULL COMMENT '删除/拉黑成员的客户数',
    `new_apply_cnt`         int NULL DEFAULT NULL COMMENT '主动向客户发起的好友申请数量',
    `new_contact_cnt`       int NULL DEFAULT NULL COMMENT '成员新添加的客户数量',
    `companyId`             bigint NULL DEFAULT NULL COMMENT '公司id',
    `corp_id`               varchar(255)   NULL DEFAULT NULL COMMENT '企业id',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `unique_userbehavior_data`(`userid` DESC, `stat_time` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微联系客户统计数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_watch_log
-- ----------------------------
DROP TABLE IF EXISTS `qw_watch_log`;
CREATE TABLE `qw_watch_log`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `ext_id`          bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT 'qw用户id',
    `status`          int NULL DEFAULT 0 COMMENT '先导课  0 待看 1看课中/中断 2完课 ',
    `day`             int NULL DEFAULT NULL COMMENT '天数',
    `project`         int NULL DEFAULT NULL COMMENT '项目',
    `create_time`     date NULL DEFAULT NULL COMMENT '创建时间',
    `line_time`       date NULL DEFAULT NULL COMMENT '进线时间',
    `fs_user_id`      bigint NULL DEFAULT NULL,
    `company_id`      bigint NULL DEFAULT NULL,
    `company_user_id` bigint NULL DEFAULT NULL,
    `course_id`       bigint NULL DEFAULT NULL,
    `video_id`        bigint NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `project`(`project` ASC) USING BTREE,
    INDEX             `day`(`day` ASC) USING BTREE,
    INDEX             `line_time`(`line_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微看课' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_welcome
-- ----------------------------
DROP TABLE IF EXISTS `qw_welcome`;
CREATE TABLE `qw_welcome`
(
    `welcome_id`               bigint NOT NULL AUTO_INCREMENT COMMENT '入群欢迎语id',
    `template_id`              varchar(255)   NULL DEFAULT NULL COMMENT '欢迎语素材id（最多存100条，包含企微后台添加的）',
    `welcome_type`             tinyint(1) NULL DEFAULT NULL COMMENT '欢迎语类型  1 文本+图片 2文本+图文 3文本+小程序  4文本+文件 5 文本+视频',
    `text_content`             varchar(4000)   NULL DEFAULT NULL COMMENT '消息文本内容',
    `image_media_id`           varchar(255)   NULL DEFAULT NULL COMMENT '图片的media_id可以通过素材管理接口获得',
    `image_pic_url`            varchar(255)   NULL DEFAULT NULL COMMENT '图片的链接，仅可使用上传图片接口得到的链接',
    `link_title`               varchar(128)   NULL DEFAULT NULL COMMENT '图文消息标题，最长为128字节',
    `link_picurl`              varchar(255)   NULL DEFAULT NULL COMMENT '图文消息封面的url',
    `link_desc`                varchar(512)   NULL DEFAULT NULL COMMENT '图文消息的描述，最长为512字节',
    `link_url`                 varchar(255)   NULL DEFAULT NULL COMMENT '图文消息的链接',
    `miniprogram_title`        varchar(64)   NULL DEFAULT NULL COMMENT '小程序消息标题，最长为64字节',
    `miniprogram_pic_media_id` varchar(255)   NULL DEFAULT NULL COMMENT '小程序消息封面的mediaid，封面图建议尺寸为520*416',
    `miniprogram_pic_url`      varchar(255)   NULL DEFAULT NULL COMMENT '小程序封面地址',
    `miniprogram_appid`        varchar(255)   NULL DEFAULT NULL COMMENT '小程序appid，必须是关联到企业的小程序应用',
    `miniprogram_page`         varchar(255)   NULL DEFAULT NULL COMMENT '小程序page路径',
    `file_media_id`            varchar(255)   NULL DEFAULT NULL COMMENT '文件id，可以通过素材管理、异步上传临时素材接口获得',
    `file_url`                 varchar(255)   NULL DEFAULT NULL COMMENT '文件地址',
    `video_media_id`           varchar(255)   NULL DEFAULT NULL COMMENT '视频媒体文件id，可以通过素材管理、异步上传临时素材接口获得',
    `video_url`                varchar(255)   NULL DEFAULT NULL COMMENT '视频地址',
    `notify`                   tinyint(1) NULL DEFAULT 1 COMMENT '是否通知成员将这条入群欢迎语应用到客户群中，0-不通知，1-通知， 不填则通知',
    `corp_id`                  varchar(255)   NULL DEFAULT NULL COMMENT '企微的企业id',
    `company_id`               bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time`              datetime NULL DEFAULT NULL,
    `update_time`              datetime NULL DEFAULT NULL,
    `create_name`              varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `created_at`               varchar(255)   NULL DEFAULT NULL COMMENT '媒体文件上传时间戳',
    PRIMARY KEY (`welcome_id`) USING BTREE,
    INDEX                      `inx_template_id`(`template_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '入群欢迎语管理' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_work_link
-- ----------------------------
DROP TABLE IF EXISTS `qw_work_link`;
CREATE TABLE `qw_work_link`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`         int NULL DEFAULT 0 COMMENT '链接类型0广告1外呼',
    `dept_id`      bigint NULL DEFAULT NULL COMMENT '部门ID',
    `link_name`    varchar(255)   NULL DEFAULT NULL COMMENT '获客链接名称',
    `link_id`      varchar(255)   NULL DEFAULT NULL COMMENT '获客链接ID',
    `no`           varchar(255)   NULL DEFAULT NULL COMMENT '短链编号',
    `url`          varchar(255)   NULL DEFAULT NULL COMMENT '获客链接地址',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `corp_id`      varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    `parent_id`    bigint NULL DEFAULT NULL COMMENT '渠道链接的主链接',
    `channel_id`   int NULL DEFAULT NULL COMMENT '渠道id',
    `channel_name` varchar(255)   NULL DEFAULT NULL COMMENT '渠道名称',
    `skip_verify`  int NULL DEFAULT NULL COMMENT '是否无需验证，默认为true',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微获客链接管理' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_work_link_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_work_link_user`;
CREATE TABLE `qw_work_link_user`
(
    `id`            bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `link_id`       bigint NULL DEFAULT NULL COMMENT '链接ID',
    `qw_user_id`    bigint NULL DEFAULT NULL COMMENT '企微表ID',
    `qw_user_wx_id` varchar(255)   NULL DEFAULT NULL COMMENT '企微微信用户ID',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`     bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`     bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`        varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企微获客链接用户关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_work_short_link
-- ----------------------------
DROP TABLE IF EXISTS `qw_work_short_link`;
CREATE TABLE `qw_work_short_link`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `work_link_id` bigint NULL DEFAULT NULL COMMENT '获客连接',
    `no`           varchar(255)   NULL DEFAULT NULL COMMENT '短链编号',
    `url`          varchar(255)   NULL DEFAULT NULL COMMENT '短链地址',
    `redirect_url` varchar(255)   NULL DEFAULT NULL COMMENT '跳转地址',
    `type`         varchar(255)   NULL DEFAULT '0' COMMENT '类型;0外呼加企微',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`    bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`       varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企微获客链接短链' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_work_task
-- ----------------------------
DROP TABLE IF EXISTS `qw_work_task`;
CREATE TABLE `qw_work_task`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `ext_id`          bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `status`          int NULL DEFAULT NULL COMMENT '状态 0 待处理 1 已处理 3 过期',
    `type`            int NULL DEFAULT NULL COMMENT '类别 1先导 2 课程 3 大小转 4 转人工',
    `title`           varchar(255)   NULL DEFAULT NULL COMMENT '标题',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `score`           int NULL DEFAULT NULL COMMENT '分值',
    `track_type`      int NULL DEFAULT NULL COMMENT '处理状态 1正常处理 2 未接听 3 已接听 ',
    `sop_id`          varchar(255)   NULL DEFAULT NULL COMMENT 'sopid',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '用户id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更改时间',
    `duration`        bigint NULL DEFAULT NULL COMMENT '时长秒',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX             `qw_user_id`(`qw_user_id` ASC) USING BTREE,
    INDEX             `status`(`status` ASC) USING BTREE,
    INDEX             `type`(`type` ASC) USING BTREE,
    INDEX             `sop_id`(`sop_id` ASC) USING BTREE,
    INDEX             `company_id`(`company_id` ASC) USING BTREE,
    INDEX             `company_user_id`(`company_user_id` ASC) USING BTREE,
    INDEX             `create_time`(`create_time` DESC) USING BTREE,
    INDEX             `title`(`title` ASC) USING BTREE,
    INDEX             `track_type`(`track_type` ASC) USING BTREE,
    INDEX             `idx_comp_user_status_time_score`(`company_id` ASC, `company_user_id` ASC, `status` ASC, `create_time` ASC, `score` DESC, `id` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '企微任务看板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_work_user
-- ----------------------------
DROP TABLE IF EXISTS `qw_work_user`;
CREATE TABLE `qw_work_user`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `link_id`         bigint NULL DEFAULT NULL COMMENT '链接ID',
    `external_userid` varchar(255)   NULL DEFAULT NULL COMMENT '客户external_userid',
    `userid`          varchar(255)   NULL DEFAULT NULL COMMENT '跟进人userid',
    `chat_status`     varchar(255)   NULL DEFAULT NULL COMMENT '会话状态，0-客户未发消息 1-客户已发送消息 2-客户发送消息状态未知',
    `state`           varchar(255)   NULL DEFAULT NULL COMMENT '额外参数',
    `upload_status`   int NULL DEFAULT 0 COMMENT '是否上传百度0未上传1已上传',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`       bigint NULL DEFAULT NULL COMMENT '创建人',
    `update_by`       bigint NULL DEFAULT NULL COMMENT '修改人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `remark`          varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `corp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '企微id',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '企微获客添加的用户表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for red_packet_log
-- ----------------------------
DROP TABLE IF EXISTS `red_packet_log`;
CREATE TABLE `red_packet_log`
(
    `id`                 bigint         NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `user_id`            bigint NULL DEFAULT NULL COMMENT '用户ID',
    `amount`             decimal(10, 2) NOT NULL COMMENT '红包金额',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '公司ID',
    `source`             tinyint        NOT NULL DEFAULT 1 COMMENT '来源 1:h5 2:看课小程序',
    `red_packet_mode`    tinyint NULL DEFAULT NULL COMMENT '红包模式',
    `app_id`             varchar(64)   NULL DEFAULT NULL COMMENT '应用ID',
    `acc_balance_before` decimal(10, 2) NOT NULL COMMENT '扣减前余额',
    `acc_balance_after`  decimal(10, 2) NOT NULL COMMENT '扣减后余额',
    `status`             tinyint        NOT NULL DEFAULT 0 COMMENT '状态：0-处理中 1-成功 2-失败',
    `error_msg`          varchar(255)   NULL DEFAULT NULL COMMENT '错误信息',
    `create_time`        datetime       NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`        datetime       NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `create_by`          varchar(64)   NULL DEFAULT NULL COMMENT '创建人',
    `update_by`          varchar(64)   NULL DEFAULT NULL COMMENT '更新人',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                `idx_user_id`(`user_id` ASC) USING BTREE,
    INDEX                `idx_company_id`(`company_id` ASC) USING BTREE,
    INDEX                `idx_create_time`(`create_time` ASC) USING BTREE,
    INDEX                `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '红包发放日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for resource_management
-- ----------------------------
DROP TABLE IF EXISTS `resource_management`;
CREATE TABLE `resource_management`
(
    `id`                     bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `maintain_id`            bigint                                                       NOT NULL COMMENT '主体ID(deptId或companyId)',
    `maintain_type`          char(1)       NOT NULL COMMENT '资源归属类型(D:部门，C:公司)',
    `parent_id`              bigint                                                       NOT NULL COMMENT '父ID(deptId或companyId)',
    `red`                    int                                                          NOT NULL DEFAULT 0 COMMENT '红包配额',
    `red_effective_time`     datetime                                                     NOT NULL COMMENT '红包配额有效时间',
    `traffic`                int                                                          NOT NULL DEFAULT 0 COMMENT '流量配额',
    `traffic_effective_time` datetime                                                     NOT NULL COMMENT '流量配额有效时间',
    `pad`                    int                                                          NOT NULL DEFAULT 0 COMMENT '席位配额',
    `pad_effective_time`     datetime                                                     NOT NULL COMMENT '席位配额有效时间',
    `modifier`               varchar(50)   NOT NULL COMMENT '修改人',
    `modify_time`            datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '资源管理表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for saas_tenant
-- ----------------------------
DROP TABLE IF EXISTS `saas_tenant`;
CREATE TABLE `saas_tenant`
(
    `tenant_id`   bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '租户ID',
    `tenant_name` varchar(128)   NOT NULL COMMENT '租户名称',
    `status`      tinyint NULL DEFAULT 1 COMMENT '状态 1正常 0停用',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`tenant_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '租户表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for saas_tenant_config
-- ----------------------------
DROP TABLE IF EXISTS `saas_tenant_config`;
CREATE TABLE `saas_tenant_config`
(
    `config_id`    bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `tenant_id`    bigint NULL DEFAULT NULL COMMENT '租户ID',
    `config_key`   varchar(32)   NULL DEFAULT NULL COMMENT '配置名',
    `config_value` text   NULL COMMENT '配置值 （json）',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`  datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`config_id`) USING BTREE,
    UNIQUE INDEX `uk_tenant_config_key`(`tenant_id` ASC, `config_key` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '租户配置' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sop_user_logs
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs`;
CREATE TABLE `sop_user_logs`
(
    `id`          int NOT NULL,
    `sop_id`      varchar(255)   NULL DEFAULT NULL,
    `sop_temp_id` varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`  varchar(255)   NULL DEFAULT NULL,
    `corp_id`     varchar(255)   NULL DEFAULT NULL,
    `start_time`  datetime NULL DEFAULT NULL,
    `status`      int NULL DEFAULT NULL,
    `user_id`     varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sop_user_logs_info
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs_info`;
CREATE TABLE `sop_user_logs_info`
(
    `id`                  int NOT NULL,
    `sop_id`              varchar(255)   NULL DEFAULT NULL,
    `user_logs_id`        varchar(255)   NULL DEFAULT NULL,
    `external_contact_id` varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`          varchar(255)   NULL DEFAULT NULL,
    `corp_id`             varchar(255)   NULL DEFAULT NULL,
    `external_id`         int NULL DEFAULT NULL,
    `fs_user_id`          int NULL DEFAULT NULL,
    `external_user_name`  varchar(255)   NULL DEFAULT NULL,
    `create_time`         varchar(255)   NULL DEFAULT NULL,
    `crt_Time`            varchar(255)   NULL DEFAULT NULL,
    `update_time`         varchar(255)   NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for store_company_code
-- ----------------------------
DROP TABLE IF EXISTS `store_company_code`;
CREATE TABLE `store_company_code`
(
    `id`               bigint   NOT NULL AUTO_INCREMENT COMMENT '主键',
    `product_id`       bigint   NOT NULL COMMENT '商品唯一标识',
    `product_code_url` varchar(255)   NULL DEFAULT NULL COMMENT '商品代码URL',
    `create_time`      datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time`      datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '商品小程序二维码' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
DROP TABLE IF EXISTS `sys_config`;
CREATE TABLE `sys_config`
(
    `config_id`    int NOT NULL AUTO_INCREMENT COMMENT '参数主键',
    `config_name`  varchar(100)   NULL DEFAULT '' COMMENT '参数名称',
    `config_key`   varchar(100)   NULL DEFAULT '' COMMENT '参数键名',
    `config_value` longtext   NULL COMMENT '参数键值',
    `config_type`  char(1)   NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
    `create_by`    varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`    varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`       varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dept
-- ----------------------------
DROP TABLE IF EXISTS `sys_dept`;
CREATE TABLE `sys_dept`
(
    `dept_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '部门id',
    `parent_id`   bigint NULL DEFAULT 0 COMMENT '父部门id',
    `ancestors`   varchar(50)   NULL DEFAULT '' COMMENT '祖级列表',
    `dept_name`   varchar(30)   NULL DEFAULT '' COMMENT '部门名称',
    `order_num`   int NULL DEFAULT 0 COMMENT '显示顺序',
    `leader`      varchar(20)   NULL DEFAULT NULL COMMENT '负责人',
    `phone`       varchar(11)   NULL DEFAULT NULL COMMENT '联系电话',
    `email`       varchar(50)   NULL DEFAULT NULL COMMENT '邮箱',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
    `del_flag`    char(1)   NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '部门表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dept_config
-- ----------------------------
DROP TABLE IF EXISTS `sys_dept_config`;
CREATE TABLE `sys_dept_config`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `dept_id`     bigint NULL DEFAULT NULL COMMENT '部门ID',
    `pad_num`     int NULL DEFAULT NULL COMMENT 'pad 数量限制',
    `pad_num_sub` int NULL DEFAULT 0 COMMENT '剩余pad 数量',
    `pad_time`    date NULL DEFAULT NULL COMMENT 'pad 过期时间',
    `red_package` decimal(15, 4) NULL DEFAULT NULL COMMENT '剩余红包金额',
    `flow_num`    bigint NULL DEFAULT NULL COMMENT '流量',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   varchar(300)   NULL DEFAULT NULL COMMENT '创建人',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`   varchar(300)   NULL DEFAULT NULL COMMENT '修改人',
    `remark`      varchar(300)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '部门配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dept_config_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_dept_config_log`;
CREATE TABLE `sys_dept_config_log`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `dept_id`      bigint NULL DEFAULT NULL COMMENT '部门ID',
    `log_type`     int NULL DEFAULT NULL COMMENT '数据类型（0pad1红包2流量）',
    `operate_type` int NULL DEFAULT NULL COMMENT '操作类型（0新增1减少）',
    `num`          varchar(300)   NULL DEFAULT NULL COMMENT '操作数量',
    `first_num`    varchar(300)   NULL DEFAULT NULL COMMENT '操作前数量',
    `last_num`     varchar(300)   NULL DEFAULT NULL COMMENT '操作完成后数量',
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`    varchar(300)   NULL DEFAULT NULL COMMENT '创建人',
    `update_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`    varchar(300)   NULL DEFAULT NULL COMMENT '修改人',
    `remark`       varchar(300)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '系统部门资源配置使用记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dict_data
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_data`;
CREATE TABLE `sys_dict_data`
(
    `dict_code`   bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码',
    `dict_sort`   int NULL DEFAULT 0 COMMENT '字典排序',
    `dict_label`  varchar(100)   NULL DEFAULT '' COMMENT '字典标签',
    `dict_value`  varchar(255)   NULL DEFAULT '' COMMENT '字典键值',
    `dict_type`   varchar(100)   NULL DEFAULT '' COMMENT '字典类型',
    `css_class`   varchar(100)   NULL DEFAULT NULL COMMENT '样式属性（其他样式扩展）',
    `list_class`  varchar(100)   NULL DEFAULT NULL COMMENT '表格回显样式',
    `is_default`  char(1)   NULL DEFAULT 'N' COMMENT '是否默认（Y是 N否）',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
    `dict_source` varchar(20) NULL DEFAULT 'tenant' COMMENT '来源 platform/tenant',
    `is_platform_managed` tinyint NULL DEFAULT 0 COMMENT '是否平台管控 1是 0否',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dict_type
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_type`;
CREATE TABLE `sys_dict_type`
(
    `dict_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
    `dict_name`   varchar(100)   NULL DEFAULT '' COMMENT '字典名称',
    `dict_type`   varchar(100)   NULL DEFAULT '' COMMENT '字典类型',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
    `dict_source` varchar(20) NULL DEFAULT 'tenant' COMMENT '来源 platform/tenant',
    `is_platform_managed` tinyint NULL DEFAULT 0 COMMENT '是否平台管控 1是 0否',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`dict_id`) USING BTREE,
    UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_dict_type_copy1
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_type_copy1`;
CREATE TABLE `sys_dict_type_copy1`
(
    `dict_id`     bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
    `dict_name`   varchar(100)   NULL DEFAULT '' COMMENT '字典名称',
    `dict_type`   varchar(100)   NULL DEFAULT '' COMMENT '字典类型',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
    `dict_source` varchar(20) NULL DEFAULT 'tenant' COMMENT '来源 platform/tenant',
    `is_platform_managed` tinyint NULL DEFAULT 0 COMMENT '是否平台管控 1是 0否',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`dict_id`) USING BTREE,
    UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_job
-- ----------------------------
DROP TABLE IF EXISTS `sys_job`;
CREATE TABLE `sys_job`
(
    `job_id`          bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '任务ID',
    `job_name`        varchar(64)    NOT NULL DEFAULT '' COMMENT '任务名称',
    `job_group`       varchar(64)    NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名',
    `invoke_target`   varchar(500)   NOT NULL COMMENT '调用目标字符串',
    `cron_expression` varchar(255)   NULL DEFAULT '' COMMENT 'cron执行表达式',
    `misfire_policy`  varchar(20)   NULL DEFAULT '3' COMMENT '计划执行错误策略（1立即执行 2执行一次 3放弃执行）',
    `concurrent`      char(1)   NULL DEFAULT '1' COMMENT '是否并发执行（0允许 1禁止）',
    `status`          char(1)   NULL DEFAULT '0' COMMENT '状态（0正常 1暂停）',
    `create_by`       varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`          varchar(500)   NULL DEFAULT '' COMMENT '备注信息',
    PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '定时任务调度表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_job_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_job_log`;
CREATE TABLE `sys_job_log`
(
    `job_log_id`     bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '任务日志ID',
    `job_name`       varchar(64)    NOT NULL COMMENT '任务名称',
    `job_group`      varchar(64)    NOT NULL COMMENT '任务组名',
    `invoke_target`  varchar(500)   NOT NULL COMMENT '调用目标字符串',
    `job_message`    varchar(500)   NULL DEFAULT NULL COMMENT '日志信息',
    `status`         char(1)   NULL DEFAULT '0' COMMENT '执行状态（0正常 1失败）',
    `exception_info` varchar(2000)   NULL DEFAULT '' COMMENT '异常信息',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_keyword
-- ----------------------------
DROP TABLE IF EXISTS `sys_keyword`;
CREATE TABLE `sys_keyword`
(
    `keyword_id`  bigint NOT NULL AUTO_INCREMENT COMMENT '关键字id',
    `keyword`     varchar(50)   NULL DEFAULT NULL COMMENT '关键字',
    `keyword_type` int NULL DEFAULT 1 COMMENT '关键字类型，字典 keyword_type',
    `keyword_content` varchar(500) NULL DEFAULT NULL COMMENT '关键字内容/扩展说明',
    `remark` varchar(500) NULL DEFAULT NULL COMMENT '备注',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '所属公司',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`keyword_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '系统关键字表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_logininfor
-- ----------------------------
DROP TABLE IF EXISTS `sys_logininfor`;
CREATE TABLE `sys_logininfor`
(
    `info_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID',
    `user_name`      varchar(50)   NULL DEFAULT '' COMMENT '用户账号',
    `ipaddr`         varchar(128)   NULL DEFAULT '' COMMENT '登录IP地址',
    `login_location` varchar(255)   NULL DEFAULT '' COMMENT '登录地点',
    `browser`        varchar(50)   NULL DEFAULT '' COMMENT '浏览器类型',
    `os`             varchar(50)   NULL DEFAULT '' COMMENT '操作系统',
    `status`         char(1)   NULL DEFAULT '0' COMMENT '登录状态（0成功 1失败）',
    `msg`            varchar(255)   NULL DEFAULT '' COMMENT '提示消息',
    `login_time`     datetime NULL DEFAULT NULL COMMENT '访问时间',
    PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu`
(
    `menu_id`     bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
    `menu_name`   varchar(50)   NOT NULL COMMENT '菜单名称',
    `parent_id`   bigint NULL DEFAULT 0 COMMENT '父菜单ID',
    `order_num`   int NULL DEFAULT 0 COMMENT '显示顺序',
    `path`        varchar(200)   NULL DEFAULT '' COMMENT '路由地址',
    `component`   varchar(255)   NULL DEFAULT NULL COMMENT '组件路径',
    `query`       varchar(255)   NULL DEFAULT NULL COMMENT '路由参数',
    `is_frame`    int NULL DEFAULT 1 COMMENT '是否为外链（0是 1否）',
    `is_cache`    int NULL DEFAULT 0 COMMENT '是否缓存（0缓存 1不缓存）',
    `menu_type`   char(1)   NULL DEFAULT '' COMMENT '菜单类型（M目录 C菜单 F按钮）',
    `visible`     char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0显示 1隐藏）',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '菜单状态（0正常 1停用）',
    `perms`       varchar(100)   NULL DEFAULT NULL COMMENT '权限标识',
    `icon`        varchar(100)   NULL DEFAULT '#' COMMENT '菜单图标',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT '' COMMENT '备注',
    PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sys_notice
-- ----------------------------
DROP TABLE IF EXISTS `sys_notice`;
CREATE TABLE `sys_notice`
(
    `notice_id`      int                                                    NOT NULL AUTO_INCREMENT COMMENT '公告ID',
    `notice_title`   varchar(50)   NOT NULL COMMENT '公告标题',
    `notice_type`    char(1)       NOT NULL COMMENT '公告类型（1通知 2公告）',
    `notice_content` longblob NULL COMMENT '公告内容',
    `status`         char(1)   NULL DEFAULT '0' COMMENT '公告状态（0正常 1关闭）',
    `create_by`      varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`      varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`         varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '通知公告表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_oper_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_oper_log`;
CREATE TABLE `sys_oper_log`
(
    `oper_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
    `title`          varchar(50)   NULL DEFAULT '' COMMENT '模块标题',
    `business_type`  int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除 4授权 5导出 6导入 7强退 8生成代码 9清空数据 ）',
    `method`         varchar(100)   NULL DEFAULT '' COMMENT '方法名称',
    `request_method` varchar(10)   NULL DEFAULT '' COMMENT '请求方式',
    `operator_type`  int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
    `oper_name`      varchar(50)   NULL DEFAULT '' COMMENT '操作人员',
    `dept_name`      varchar(50)   NULL DEFAULT '' COMMENT '部门名称',
    `oper_url`       varchar(2000)   NULL DEFAULT '' COMMENT '请求URL',
    `oper_ip`        varchar(128)   NULL DEFAULT '' COMMENT '主机地址',
    `oper_location`  varchar(255)   NULL DEFAULT '' COMMENT '操作地点',
    `oper_param`     varchar(2000)   NULL DEFAULT '' COMMENT '请求参数',
    `json_result`    varchar(2000)   NULL DEFAULT '' COMMENT '返回参数',
    `status`         int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
    `error_msg`      varchar(2000)   NULL DEFAULT '' COMMENT '错误消息',
    `oper_time`      datetime NULL DEFAULT NULL COMMENT '操作时间',
    PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_oper_log_scrm
-- ----------------------------
DROP TABLE IF EXISTS `sys_oper_log_scrm`;
CREATE TABLE `sys_oper_log_scrm`
(
    `oper_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
    `title`          varchar(50)   NULL DEFAULT '' COMMENT '模块标题',
    `business_type`  int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除 4授权 5导出 6导入 7强退 8生成代码 9清空数据 10审核）',
    `method`         varchar(100)   NULL DEFAULT '' COMMENT '方法名称',
    `request_method` varchar(10)   NULL DEFAULT '' COMMENT '请求方式',
    `operator_type`  int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
    `oper_name`      varchar(50)   NULL DEFAULT '' COMMENT '操作人员',
    `dept_name`      varchar(50)   NULL DEFAULT '' COMMENT '部门名称',
    `oper_url`       varchar(2000)   NULL DEFAULT '' COMMENT '请求URL',
    `oper_ip`        varchar(128)   NULL DEFAULT '' COMMENT '主机地址',
    `oper_location`  varchar(255)   NULL DEFAULT '' COMMENT '操作地点',
    `oper_param`     varchar(2000)   NULL DEFAULT '' COMMENT '请求参数',
    `json_result`    varchar(2000)   NULL DEFAULT '' COMMENT '返回参数',
    `status`         int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
    `error_msg`      varchar(2000)   NULL DEFAULT '' COMMENT '错误消息',
    `oper_time`      datetime NULL DEFAULT NULL COMMENT '操作时间',
    `main_type`      varchar(16)   NULL DEFAULT NULL COMMENT '主体类型(店铺 商品)',
    `des`            varchar(255)   NULL DEFAULT NULL COMMENT '描述',
    `reason`         varchar(2000)   NULL DEFAULT NULL COMMENT '审核理由',
    `attach_image`   varchar(1000)   NULL DEFAULT NULL COMMENT '附件图片',
    `main_id`        bigint NULL DEFAULT NULL COMMENT '日志主体ID',
    PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_post
-- ----------------------------
DROP TABLE IF EXISTS `sys_post`;
CREATE TABLE `sys_post`
(
    `post_id`     bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
    `post_code`   varchar(64)   NOT NULL COMMENT '岗位编码',
    `post_name`   varchar(50)   NOT NULL COMMENT '岗位名称',
    `post_sort`   int                                                    NOT NULL COMMENT '显示顺序',
    `status`      char(1)       NOT NULL COMMENT '状态（0正常 1停用）',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role`
(
    `role_id`             bigint                                                  NOT NULL AUTO_INCREMENT COMMENT '角色ID',
    `role_name`           varchar(30)    NOT NULL COMMENT '角色名称',
    `role_key`            varchar(100)   NOT NULL COMMENT '角色权限字符串',
    `role_sort`           int                                                     NOT NULL COMMENT '显示顺序',
    `data_scope`          char(1)   NULL DEFAULT '1' COMMENT '数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）',
    `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
    `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
    `status`              char(1)        NOT NULL COMMENT '角色状态（0正常 1停用）',
    `del_flag`            char(1)   NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `create_by`           varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`           varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`              varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `is_check_phone`      tinyint NULL DEFAULT 0 COMMENT '是否可以查看手机全号 0否 1是',
    `is_check_address`    tinyint NULL DEFAULT 0 COMMENT '是否可以查看地址全号 0否 1是',
    PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_role_dept
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_dept`;
CREATE TABLE `sys_role_dept`
(
    `role_id` bigint NOT NULL COMMENT '角色ID',
    `dept_id` bigint NOT NULL COMMENT '部门ID',
    PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_role_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_menu`;
CREATE TABLE `sys_role_menu`
(
    `role_id` bigint NOT NULL COMMENT '角色ID',
    `menu_id` bigint NOT NULL COMMENT '菜单ID',
    PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user`
(
    `user_id`     bigint                                                 NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `dept_id`     bigint NULL DEFAULT NULL COMMENT '部门ID',
    `user_name`   varchar(30)   NOT NULL COMMENT '用户账号',
    `nick_name`   varchar(30)   NOT NULL COMMENT '用户昵称',
    `user_type`   varchar(2)   NULL DEFAULT '00' COMMENT '用户类型（00系统用户）',
    `email`       varchar(50)   NULL DEFAULT '' COMMENT '用户邮箱',
    `phonenumber` varchar(11)   NULL DEFAULT '' COMMENT '手机号码',
    `sex`         char(1)   NULL DEFAULT '0' COMMENT '用户性别（0男 1女 2未知）',
    `avatar`      varchar(100)   NULL DEFAULT '' COMMENT '头像地址',
    `password`    varchar(100)   NULL DEFAULT '' COMMENT '密码',
    `status`      char(1)   NULL DEFAULT '0' COMMENT '帐号状态（0正常 1停用）',
    `del_flag`    char(1)   NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `login_ip`    varchar(128)   NULL DEFAULT '' COMMENT '最后登录IP',
    `login_date`  datetime NULL DEFAULT NULL COMMENT '最后登录时间',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`      varchar(500)   NULL DEFAULT NULL COMMENT '备注',
    `doctor_id`   int NULL DEFAULT NULL,
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司相关数据权限，如订单类的，为空时查所有',
    `union_id`    varchar(255)   NULL DEFAULT NULL COMMENT '微信unionid',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_user_post
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_post`;
CREATE TABLE `sys_user_post`
(
    `user_id` bigint NOT NULL COMMENT '用户ID',
    `post_id` bigint NOT NULL COMMENT '岗位ID',
    PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_user_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role`
(
    `user_id` bigint NOT NULL COMMENT '用户ID',
    `role_id` bigint NOT NULL COMMENT '角色ID',
    PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sys_user_set
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_set`;
CREATE TABLE `sys_user_set`
(
    `user_id`     bigint NOT NULL COMMENT '系统用户id',
    `rate`        int    NOT NULL COMMENT '价格显示比例',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for temp_danmu
-- ----------------------------
DROP TABLE IF EXISTS `temp_danmu`;
CREATE TABLE `temp_danmu`
(
    `id`      int                                                           NOT NULL AUTO_INCREMENT,
    `content` varchar(500)   NOT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for tenant_info
-- ----------------------------
DROP TABLE IF EXISTS `tenant_info`;
CREATE TABLE `tenant_info` (
   `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '租户唯一ID',
   `tenant_code` varchar(64) NOT NULL COMMENT '租户编码（唯一，如企业简称/编号）',
   `tenant_name` varchar(128) NOT NULL COMMENT '租户名称',
   `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-启用，0-禁用, 2-初始化，3-创建失败',
   `expire_time` datetime DEFAULT NULL COMMENT '租户有效期',
   `db_url` varchar(200) DEFAULT NULL COMMENT '数据库连接地址',
   `db_ip` varchar(100) DEFAULT NULL COMMENT '数据库ip',
   `db_port` varchar(10) DEFAULT NULL COMMENT '数据库ip',
   `db_account` varchar(100) DEFAULT NULL COMMENT '数据库帐号',
   `db_pwd` varchar(50) DEFAULT NULL COMMENT '数据库密码',
   `db_name` varchar(100) DEFAULT NULL COMMENT '数据库名称',
   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
   `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
   `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
   PRIMARY KEY (`id`),
   UNIQUE KEY `uk_tenant_code` (`tenant_code`),
   KEY `idx_status` (`status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='租户基础信息表';
-- ----------------------------
-- Table structure for tulin_info_sync_log
-- ----------------------------
DROP TABLE IF EXISTS `tulin_info_sync_log`;
CREATE TABLE `tulin_info_sync_log`
(
    `fs_user_id`  bigint NOT NULL COMMENT 'fs_user表的user_id',
    `request_url` varchar(300)   NULL DEFAULT NULL COMMENT '请求的url',
    `send_body`   varchar(1000)   NULL DEFAULT NULL COMMENT '请求体',
    `result_body` varchar(1000)   NULL DEFAULT NULL COMMENT '请求返回结果体',
    `result`      tinyint(1) NULL DEFAULT NULL COMMENT '是否成功：1成功、0失败',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`fs_user_id`) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for uni_push_log
-- ----------------------------
DROP TABLE IF EXISTS `uni_push_log`;
CREATE TABLE `uni_push_log`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
    `jpush_id`    varchar(255)   NULL DEFAULT NULL COMMENT '推送id',
    `type`        float NULL DEFAULT NULL COMMENT '推送类型:0 订单通知(0.1药品 0.2服务包) 1健康管理 2营销',
    `des_type`    tinyint NULL DEFAULT NULL COMMENT '详细类型:\r\ntype:1 0:未支付 1:支付成功 2:发货 3:派送 4:签收',
    `user_id`     bigint NULL DEFAULT NULL COMMENT '关联用户id',
    `business_id` bigint NULL DEFAULT NULL COMMENT '关联事件id',
    `push_msg`    varchar(255)   NULL DEFAULT NULL COMMENT '推送内容',
    `push_res`    tinyint NULL DEFAULT NULL COMMENT '推送结果 1:成功 0:失败',
    `return_msg`  varchar(255)   NULL DEFAULT NULL COMMENT '返回结果详情',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_read`     tinyint NULL DEFAULT 0 COMMENT '是否已读 0:否 1:是',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = 'uni推送消息记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for vc_company_user
-- ----------------------------
DROP TABLE IF EXISTS `vc_company_user`;
CREATE TABLE `vc_company_user`
(
    `id`                        int NOT NULL AUTO_INCREMENT,
    `times`                     int NULL DEFAULT NULL COMMENT '销售已上传声音次数（单个音色只给单个销售用，而且只能传5次）',
    `speaker_id`                varchar(255)   NULL DEFAULT NULL COMMENT '上传豆包的音色id',
    `upload_url`                varchar(255)   NULL DEFAULT NULL COMMENT '销售传入的声纹地址',
    `upload_time` double NULL DEFAULT NULL COMMENT '上传的语音时长（秒）',
    `company_user_id`           bigint NULL DEFAULT NULL COMMENT '用户id',
    `latest_text_to_speech_url` varchar(255)   NULL DEFAULT NULL COMMENT '最后一次文字转语音生成的url',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_beginner_guide
-- ----------------------------
DROP TABLE IF EXISTS `watch_beginner_guide`;
CREATE TABLE `watch_beginner_guide`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `title`       varchar(50)   NULL DEFAULT NULL COMMENT '标题',
    `url`         varchar(100)   NULL DEFAULT '' COMMENT '链接',
    `type`        int NULL DEFAULT NULL COMMENT '资料类型 1:文章 2:视频',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`      tinyint NULL DEFAULT 0 COMMENT '是否已删除',
    `belong`      varchar(10)   NULL DEFAULT NULL COMMENT '归属公司',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '新手引导' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_device_account
-- ----------------------------
DROP TABLE IF EXISTS `watch_device_account`;
CREATE TABLE `watch_device_account`
(
    `id`        bigint                                                       NOT NULL AUTO_INCREMENT,
    `device_id` varchar(30)   NOT NULL COMMENT '设备id',
    `account`   varchar(50)   NULL DEFAULT NULL COMMENT '账户',
    `password`  varchar(50)   NULL DEFAULT NULL COMMENT '密码',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX       `watch_id`(`device_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '设备(睡眠,房颤查询账户记录)' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_device_day
-- ----------------------------
DROP TABLE IF EXISTS `watch_device_day`;
CREATE TABLE `watch_device_day`
(
    `id`            bigint                                                       NOT NULL AUTO_INCREMENT,
    `device_id`     varchar(64)   NOT NULL COMMENT '设备编号',
    `sleep_score`   int NULL DEFAULT NULL COMMENT '睡眠评分',
    `sleep_status`  int NULL DEFAULT NULL COMMENT '睡眠评分',
    `sleep_detail`  longtext   NULL COMMENT '睡眠详细数据',
    `rri_status`    varchar(50)   NULL DEFAULT NULL COMMENT '房颤状态',
    `step_total`    int NULL DEFAULT NULL COMMENT '步数总和',
    `calorie_total` int NULL DEFAULT NULL COMMENT '卡路里总和',
    `create_time`   datetime                                                     NOT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '每天设备信息汇总' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_device_info
-- ----------------------------
DROP TABLE IF EXISTS `watch_device_info`;
CREATE TABLE `watch_device_info`
(
    `device_id`       bigint NOT NULL AUTO_INCREMENT COMMENT '设备id',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '所属员工id',
    `doctor_id`       bigint NULL DEFAULT NULL COMMENT '所属医生id',
    `user_id`         varchar(255)   NULL DEFAULT NULL COMMENT '绑定用户id',
    `family_user_id`  varchar(255)   NULL DEFAULT NULL COMMENT '绑定为家人的用户id',
    `device_number`   varchar(64)   NULL DEFAULT NULL COMMENT '设备编号',
    `battery`         int NULL DEFAULT NULL COMMENT '电量',
    `rssi`            int NULL DEFAULT NULL COMMENT '信号',
    `status`          int NULL DEFAULT NULL COMMENT '设备状态',
    `create_by`       varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`          tinyint NULL DEFAULT 0 COMMENT '是否已删除',
    `life_status`     tinyint NULL DEFAULT 0 COMMENT '状态 0:空置 1:已送出 2:已激活',
    `is_normal`       tinyint NULL DEFAULT 1 COMMENT '健康状态:0异常 1正常',
    PRIMARY KEY (`device_id`) USING BTREE,
    INDEX             `device_number`(`device_number` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '设备硬件信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_device_setup
-- ----------------------------
DROP TABLE IF EXISTS `watch_device_setup`;
CREATE TABLE `watch_device_setup`
(
    `device_id`    varchar(15)   NOT NULL COMMENT '绑定设备id',
    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`    varchar(64)   NULL DEFAULT NULL COMMENT '创建者',
    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
    `update_by`    varchar(64)   NULL DEFAULT NULL COMMENT '更新者',
    `smart_doctor` tinyint NULL DEFAULT NULL COMMENT '智慧医生 0:关闭 1:打开',
    `sedentary`    varchar(255)   NULL DEFAULT NULL COMMENT '久坐提醒',
    `fallcheck`    tinyint NULL DEFAULT NULL COMMENT '跌倒检测 0:关闭 1:打开',
    `heart_health` tinyint NULL DEFAULT NULL COMMENT '心脏健康 0:关闭 1:打开',
    `hralarm`      varchar(255)   NULL DEFAULT NULL COMMENT '心率指导',
    `spo2alarm`    varchar(255)   NULL DEFAULT NULL COMMENT '血氧预警',
    `alarm_clock`  varchar(1500)   NULL DEFAULT NULL COMMENT '闹钟&日程',
    `power`        varchar(255)   NULL DEFAULT NULL COMMENT '省电设置',
    `phonebook`    varchar(255)   NULL DEFAULT NULL COMMENT '常用联系人',
    `time`         varchar(255)   NULL DEFAULT NULL COMMENT '日期与时间',
    `lcdgesture`   varchar(255)   NULL DEFAULT NULL COMMENT '翻腕亮屏',
    `unit`         varchar(255)   NULL DEFAULT NULL COMMENT '单位设置',
    `mode`         varchar(255)   NULL DEFAULT NULL COMMENT '手表模式',
    `version`      varchar(20)   NULL DEFAULT NULL COMMENT '固件升级',
    PRIMARY KEY (`device_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '设备设置信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_family_user
-- ----------------------------
DROP TABLE IF EXISTS `watch_family_user`;
CREATE TABLE `watch_family_user`
(
    `id`                      bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `watch_user_id`           bigint NULL DEFAULT NULL COMMENT '腕表用户id',
    `phone`                   varchar(11)   NULL DEFAULT NULL COMMENT '电话',
    `sex`                     tinyint NULL DEFAULT NULL COMMENT '性别 0:未知 1:男 2:女',
    `birthday`                datetime NULL DEFAULT NULL COMMENT '生日',
    `height`                  int NULL DEFAULT NULL COMMENT '身高(单位:厘米)',
    `weight`                  int NULL DEFAULT NULL COMMENT '体重(单位:千克)',
    `target_step`             varchar(10)   NULL DEFAULT '5000' COMMENT '目标步数',
    `target_calorie`          varchar(10)   NULL DEFAULT '200' COMMENT '目标卡路里',
    `target_activity`         varchar(10)   NULL DEFAULT '1' COMMENT '目标活动时长',
    `target_sport`            varchar(10)   NULL DEFAULT '30' COMMENT '目标锻炼时长',
    `device_id`               varchar(255)   NULL DEFAULT NULL COMMENT '预警设备id',
    `monitor_data_type_order` varchar(255)   NULL DEFAULT '1,2,3,4,5,6,7,8,9,10' COMMENT '监测数据类型排序',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`                  tinyint(1) NULL DEFAULT 0,
    `nick_name`               varchar(50)   NULL DEFAULT NULL COMMENT '昵称',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '家人腕表配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_materials
-- ----------------------------
DROP TABLE IF EXISTS `watch_materials`;
CREATE TABLE `watch_materials`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`     bigint NULL DEFAULT NULL COMMENT '公司id',
    `device_id`      varchar(15)   NULL DEFAULT NULL COMMENT '设备编号',
    `materials_id`   int NULL DEFAULT NULL COMMENT '物料id',
    `materials_name` varchar(64)   NULL DEFAULT NULL COMMENT '物料名称',
    `available_num`  bigint NULL DEFAULT NULL COMMENT '现有数量',
    `used_num`       bigint NULL DEFAULT NULL COMMENT '已使用数量',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`         tinyint NULL DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '设备物料信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_materials_type
-- ----------------------------
DROP TABLE IF EXISTS `watch_materials_type`;
CREATE TABLE `watch_materials_type`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `materials_name` varchar(64)   NULL DEFAULT NULL COMMENT '物料名称',
    `number`         varchar(255)   NULL DEFAULT NULL COMMENT '货号',
    `factory`        varchar(100)   NULL DEFAULT NULL COMMENT '生产厂家',
    `create_time`    datetime NULL DEFAULT NULL COMMENT '创建时间',
    `create_by`      varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `update_time`    datetime NULL DEFAULT NULL COMMENT '更新时间',
    `update_by`      varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `is_del`         tinyint NULL DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '设备物料种类' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_medication_task
-- ----------------------------
DROP TABLE IF EXISTS `watch_medication_task`;
CREATE TABLE `watch_medication_task`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `package_order_id`     bigint NULL DEFAULT NULL COMMENT '套餐订单id',
    `user_id`              bigint NULL DEFAULT NULL COMMENT '用户id',
    `package_id`           bigint NULL DEFAULT NULL COMMENT '套餐id',
    `product_id`           bigint NULL DEFAULT NULL COMMENT '商品id',
    `product_name`         varchar(255)   NULL DEFAULT NULL COMMENT '产品名称',
    `usage_frequency_unit` tinyint NULL DEFAULT NULL COMMENT '服用频率(次/天)',
    `required_num`         int NULL DEFAULT NULL COMMENT '应提醒次数',
    `actual_num`           int NULL DEFAULT NULL COMMENT '实际提醒次数',
    `create_time`          datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`          datetime NULL DEFAULT NULL COMMENT '更新时间',
    `status`               tinyint NULL DEFAULT NULL COMMENT '提醒状态:0 未完成 1完成',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '腕表用药提醒' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_monitor_data_type
-- ----------------------------
DROP TABLE IF EXISTS `watch_monitor_data_type`;
CREATE TABLE `watch_monitor_data_type`
(
    `id`          bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`        varchar(255)   NULL DEFAULT NULL COMMENT '数据类型',
    `title`       varchar(255)   NULL DEFAULT NULL COMMENT '小标题',
    `icon`        varchar(100)   NULL DEFAULT NULL COMMENT '图标',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`   varchar(64)   NULL DEFAULT '' COMMENT '创建者',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    `update_by`   varchar(64)   NULL DEFAULT '' COMMENT '更新者',
    `is_del`      tinyint UNSIGNED NULL DEFAULT 0 COMMENT '是否删除 0否 1是',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = 'app-健康监测数据类型' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_msg_set
-- ----------------------------
DROP TABLE IF EXISTS `watch_msg_set`;
CREATE TABLE `watch_msg_set`
(
    `id`              int NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `msg_type`        tinyint NULL DEFAULT NULL COMMENT '消息类型 (0:看课提醒 1:用药提醒 2:测试提醒 3:其他 )',
    `msg_title`       varchar(15)   NULL DEFAULT NULL COMMENT '标题',
    `msg_description` varchar(240)   NULL DEFAULT NULL COMMENT '消息详情',
    `details_type`    varchar(10)   NULL DEFAULT NULL COMMENT '详情类型',
    `normal_rule`     int NULL DEFAULT NULL COMMENT '正常提醒规则(间隔时长:小时)',
    `abnormal_rule`   int NULL DEFAULT NULL COMMENT '异常提醒规则(间隔时长:小时)',
    `status`          tinyint NULL DEFAULT 0 COMMENT '状态 0正常 1停用',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '腕表消息详情设置' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_send_msg_log
-- ----------------------------
DROP TABLE IF EXISTS `watch_send_msg_log`;
CREATE TABLE `watch_send_msg_log`
(
    `log_id`        bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `operator_type` tinyint NULL DEFAULT NULL COMMENT '操作类别（0后台用户 1销售端用户 2医生端用户 3系统自动发送）',
    `oper_id`       bigint NULL DEFAULT NULL COMMENT '操作人员id',
    `title`         varchar(50)   NULL DEFAULT NULL COMMENT '消息标题',
    `description`   varchar(255)   NULL DEFAULT NULL COMMENT '消息详情',
    `status`        tinyint NULL DEFAULT NULL COMMENT '操作状态（0正常 1异常）',
    `device_ids`    varchar(1000)   NULL DEFAULT NULL COMMENT '发送消息对象',
    `error_msg`     varchar(2000)   NULL DEFAULT '' COMMENT '错误消息',
    `oper_time`     datetime NULL DEFAULT NULL COMMENT '操作时间',
    `msg_type`      tinyint NULL DEFAULT NULL COMMENT '消息类型 (0:看课提醒 1:用药提醒 2:测试提醒 3:其他 )',
    `details_type`  varchar(255)   NULL DEFAULT NULL COMMENT '详情类型',
    PRIMARY KEY (`log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '发送消息日志记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_send_msg_set
-- ----------------------------
DROP TABLE IF EXISTS `watch_send_msg_set`;
CREATE TABLE `watch_send_msg_set`
(
    `id`          int                                                          NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `type`        varchar(30)   NOT NULL COMMENT '设置类型',
    `status`      tinyint                                                      NOT NULL COMMENT '状态:0-关闭 1-开启 ',
    `start`       varchar(30)   NULL DEFAULT NULL COMMENT '开始时间',
    `end`         varchar(30)   NULL DEFAULT NULL COMMENT '结束时间',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '腕表消息发送限制' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for watch_user
-- ----------------------------
DROP TABLE IF EXISTS `watch_user`;
CREATE TABLE `watch_user`
(
    `user_id`                 bigint NOT NULL COMMENT '用户id',
    `sex`                     tinyint NULL DEFAULT NULL COMMENT '性别 0:未知 1:男 2:女',
    `birthday`                datetime NULL DEFAULT NULL COMMENT '生日',
    `w_company_id`            bigint NULL DEFAULT NULL COMMENT '腕表系统公司id',
    `height`                  int NULL DEFAULT NULL COMMENT '身高(单位:厘米)',
    `weight`                  int NULL DEFAULT NULL COMMENT '体重(单位:千克)',
    `target_step`             varchar(10)   NULL DEFAULT '5000' COMMENT '目标步数',
    `target_calorie`          varchar(10)   NULL DEFAULT '200' COMMENT '目标卡路里',
    `target_activity`         varchar(10)   NULL DEFAULT '1' COMMENT '目标活动时长',
    `target_sport`            varchar(10)   NULL DEFAULT '30' COMMENT '目标锻炼时长',
    `device_id`               varchar(255)   NULL DEFAULT NULL COMMENT '预警设备id(自己)',
    `other_device`            json NULL COMMENT '其余预警设备',
    `monitor_data_type_order` varchar(255)   NULL DEFAULT '1,2,3,4,5,6,7,8,9,10' COMMENT '监测数据类型排序',
    `create_time`             datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    `update_time`             datetime NULL DEFAULT NULL COMMENT '更新时间',
    `is_del`                  tinyint(1) NULL DEFAULT 0,
    `nick_name`               varchar(20)   NULL DEFAULT NULL COMMENT '腕表昵称',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB COMMENT = '用户腕表配置表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for wx_contact
-- ----------------------------
DROP TABLE IF EXISTS `wx_contact`;
CREATE TABLE `wx_contact`
(
    `id`                bigint NOT NULL AUTO_INCREMENT COMMENT 'crm客户ID',
    `user_name`         varchar(300)   NULL DEFAULT NULL COMMENT '微信ID',
    `nick_name`         varchar(300)   NULL DEFAULT NULL COMMENT '微信昵称',
    `quan_pin`          varchar(300)   NULL DEFAULT NULL COMMENT '全拼',
    `sex`               int NULL DEFAULT NULL COMMENT '性别',
    `alias`             varchar(300)   NULL DEFAULT NULL COMMENT '微信号',
    `phone`             varchar(300)   NULL DEFAULT NULL COMMENT '电话号码',
    `head_img_url`      varchar(300)   NULL DEFAULT NULL COMMENT '头像',
    `encrypt_user_name` varchar(300)   NULL DEFAULT NULL COMMENT '微信V3',
    `province`          varchar(300)   NULL DEFAULT NULL COMMENT '所在地区',
    `city`              varchar(300)   NULL DEFAULT NULL COMMENT '所在地区',
    `account_id`        bigint NULL DEFAULT NULL COMMENT '加微的账号ID',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '销售公司ID',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '销售人员ID',
    `customer_id`       bigint NULL DEFAULT NULL COMMENT 'crm客户ID',
    `create_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`         varchar(300)   NULL DEFAULT NULL COMMENT '创建人',
    `update_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`         varchar(300)   NULL DEFAULT NULL COMMENT '修改人',
    `remark`            varchar(300)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX               `account`(`account_id` ASC) USING BTREE COMMENT 'account'
) ENGINE = InnoDB COMMENT = '个微联系人' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for wx_msg_log
-- ----------------------------
DROP TABLE IF EXISTS `wx_msg_log`;
CREATE TABLE `wx_msg_log`
(
    `id`             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `receive_type`   int NULL DEFAULT NULL COMMENT '接收状态0收1发',
    `account_id`     bigint NULL DEFAULT NULL COMMENT '账号ID',
    `auth_key`       varchar(300)   NULL DEFAULT NULL COMMENT '设备标识',
    `type`           varchar(300)   NULL DEFAULT NULL COMMENT '发送类型',
    `msg_id`         bigint NULL DEFAULT NULL COMMENT '消息ID',
    `from_user_name` varchar(300)   NULL DEFAULT NULL COMMENT '发送微信号',
    `to_user_name`   varchar(300)   NULL DEFAULT NULL COMMENT '接收微信号',
    `msg_type`       int NULL DEFAULT NULL COMMENT '消息类型',
    `content`        longtext   NULL COMMENT '内容',
    `img_status`     int NULL DEFAULT NULL,
    `img_buf`        varchar(300)   NULL DEFAULT NULL,
    `push_content`   varchar(300)   NULL DEFAULT NULL,
    `new_msg_id`     bigint NULL DEFAULT NULL COMMENT '消息ID',
    `create_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`      varchar(300)   NULL DEFAULT NULL COMMENT '创建人',
    `update_time`    datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`      varchar(300)   NULL DEFAULT NULL COMMENT '修改人',
    `remark`         varchar(300)   NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '个微消息记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for fs_statis_qw_temp_param
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_qw_temp_param`;
CREATE TABLE `fs_statis_qw_temp_param`
(
    `id`              int NOT NULL AUTO_INCREMENT,
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `this_date`       date NULL DEFAULT NULL COMMENT '当天时间',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微id',
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_param_multi`(`this_date` ASC, `company_user_id` ASC, `qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for fs_statis_qw_watch
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_qw_watch`;
CREATE TABLE `fs_statis_qw_watch`
(
    `id`                      bigint NOT NULL AUTO_INCREMENT,
    `dept_id`                 bigint NULL DEFAULT NULL COMMENT '部门',
    `company_user_id`         bigint NULL DEFAULT NULL COMMENT '销售id',
    `qw_user_id`              varchar(50)   NULL DEFAULT NULL COMMENT '企微号',
    `sop_task_num`            bigint NULL DEFAULT 0 COMMENT '任务数',
    `period_num`              bigint NULL DEFAULT 0 COMMENT '营期数',
    `period_person_num`       bigint NULL DEFAULT 0 COMMENT '营期人数',
    `completed_num`           bigint NULL DEFAULT 0 COMMENT '完课数',
    `data_date`               date NULL DEFAULT NULL COMMENT '数据日期',
    `send_num`                bigint NULL DEFAULT NULL COMMENT '发课数',
    `not_registered_num`      bigint NULL DEFAULT NULL COMMENT '待看课数',
    `interrupt_num`           bigint NULL DEFAULT NULL COMMENT '中断数',
    `registered_num`          bigint GENERATED ALWAYS AS ((`send_num` - `not_registered_num`)) VIRTUAL COMMENT '上线数' NULL,
    `qw_repeat_num`           bigint NULL DEFAULT 0 COMMENT '企微重粉数',
    `user_repeat_num`         bigint NULL DEFAULT 0 COMMENT '小程序(看课)重粉',
    `black_num`               bigint NULL DEFAULT 0 COMMENT '拉黑数',
    `deleted_num`             bigint NULL DEFAULT 0 COMMENT '删除数',
    `order_num`               bigint NULL DEFAULT 0 COMMENT '订单总数',
    `order_money_total`       decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '订单总金额',
    `red_package_money_total` decimal(10, 4) NULL DEFAULT 0.0000 COMMENT '红包总金额',
    `call_num`                bigint NULL DEFAULT 0 COMMENT '总拨打数',
    `receive_pass_num`        bigint NULL DEFAULT 0 COMMENT '接通数',
    `receive_not_num`         bigint NULL DEFAULT 0 COMMENT '未接通数',
    `call_time_total`         bigint NULL DEFAULT 0 COMMENT '通话时长(单位s)',
    `remind_pending_num`      bigint NULL DEFAULT 0 COMMENT '催课未处理数',
    `remind_processed_num`    bigint NULL DEFAULT 0 COMMENT '催课已处理数',
    `reg_rate`                decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                       when (`send_num` = 0) then 0.0000
                                                                       else round((`registered_num` / `send_num`), 4) end)) VIRTUAL COMMENT '上线率 = 已报名人数 / 发课数' NULL,
    `finished_rate`           decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                       when (`registered_num` = 0) then 0.0000
                                                                       else round((`completed_num` / `send_num`), 4) end)) VIRTUAL COMMENT '完课率 = 已完课人数 / 发课数' NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_dept_user_period_date`(`dept_id` ASC, `company_user_id` ASC, `qw_user_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                     `idx_fs_statis_saler_watch_composite`(`company_user_id` ASC, `qw_user_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                     `idx_fs_statis_saler_watch_date_user`(`data_date` ASC, `company_user_id` ASC, `qw_user_id` ASC) USING BTREE,
    INDEX                     `dept_id`(`dept_id` ASC, `company_user_id` ASC, `period_num` ASC, `period_person_num` ASC, `completed_num` ASC, `qw_user_id` ASC, `data_date` ASC, `send_num` ASC, `not_registered_num` ASC, `interrupt_num` ASC, `registered_num` ASC, `qw_repeat_num` ASC, `user_repeat_num` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for fs_statis_saler_watch
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_saler_watch`;
CREATE TABLE `fs_statis_saler_watch`
(
    `id`                          bigint NOT NULL AUTO_INCREMENT,
    `dept_id`                     bigint NULL DEFAULT NULL COMMENT '部门',
    `company_user_id`             bigint NULL DEFAULT NULL COMMENT '销售id',
    `train_camp_num`              bigint NULL DEFAULT 0 COMMENT '营期人数',
    `completed_num`               bigint NULL DEFAULT 0 COMMENT '完课数',
    `offline_total`               int NULL DEFAULT NULL COMMENT '未上线-总数',
    `offline_not_part`            int NULL DEFAULT NULL COMMENT '未上线-未参与',
    `offline_not_watched`         int NULL DEFAULT NULL COMMENT '未上线-为观看',
    `online_total`                int NULL DEFAULT NULL COMMENT '已上线-总数',
    `online_online_rate`          float NULL DEFAULT NULL COMMENT '已上线-上线率',
    `online_playback_comple_rate` float NULL DEFAULT NULL COMMENT '已上线-完播率',
    `online_incomplete_playback`  int NULL DEFAULT NULL COMMENT '已上线-未完播',
    `online_complete_playback`    int NULL DEFAULT NULL COMMENT '已上线-已完播',
    `period_id`                   varchar(50)   NULL DEFAULT NULL COMMENT 'sop营期id',
    `sop_id`                      varchar(50)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `data_date`                   date NULL DEFAULT NULL COMMENT '数据日期',
    `send_num`                    bigint NULL DEFAULT NULL COMMENT '发课数',
    `not_registered_num`          bigint NULL DEFAULT NULL COMMENT '待看课数',
    `interrupt_num`               bigint NULL DEFAULT NULL COMMENT '中断数',
    `registered_num`              bigint GENERATED ALWAYS AS ((`send_num` - `not_registered_num`)) VIRTUAL COMMENT '上线数' NULL,
    `qw_repeat_num`               bigint NULL DEFAULT 0 COMMENT '企微重粉数',
    `user_repeat_num`             bigint NULL DEFAULT 0 COMMENT '小程序(看课)重粉',
    `reg_rate`                    decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                           when (`send_num` = 0) then 0.0000
                                                                           else round((`registered_num` / `send_num`), 4) end)) VIRTUAL COMMENT '上线率 = 已报名人数 / 发课数' NULL,
    `finished_rate`               decimal(10, 4) GENERATED ALWAYS AS ((case
                                                                           when (`registered_num` = 0) then 0.0000
                                                                           else round((`completed_num` / `send_num`), 4) end)) VIRTUAL COMMENT '完课率 = 已完课人数 / 发课数' NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_dept_user_period_date`(`dept_id` ASC, `company_user_id` ASC, `period_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                         `idx_fs_statis_saler_watch_composite`(`company_user_id` ASC, `period_id` ASC, `data_date` ASC) USING BTREE,
    INDEX                         `idx_fs_statis_saler_watch_date_user`(`data_date` ASC, `company_user_id` ASC, `period_id` ASC) USING BTREE,
    INDEX                         `dept_id`(`dept_id` ASC, `company_user_id` ASC, `train_camp_num` ASC, `completed_num` ASC, `period_id` ASC, `sop_id` ASC, `data_date` ASC, `send_num` ASC, `not_registered_num` ASC, `interrupt_num` ASC, `registered_num` ASC, `qw_repeat_num` ASC, `user_repeat_num` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for fs_statis_temp_param
-- ----------------------------
DROP TABLE IF EXISTS `fs_statis_temp_param`;
CREATE TABLE `fs_statis_temp_param`
(
    `id`              int NOT NULL AUTO_INCREMENT,
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `sop_id`          varchar(50)   NULL DEFAULT NULL COMMENT 'sop_id',
    `this_date`       varchar(50)   NULL DEFAULT NULL COMMENT '当天时间',
    `qw_user_id`      varchar(50)   NULL DEFAULT NULL COMMENT '企微id',
    `period_id`       varchar(50)   NULL DEFAULT NULL COMMENT '营期id',
    `start_time`      varchar(50)   NULL DEFAULT NULL COMMENT '营期时间',
    `create_time`     datetime NULL DEFAULT NULL,
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_param_multi`(`this_date` ASC, `company_user_id` ASC, `sop_id` ASC, `qw_user_id` ASC, `start_time` ASC) USING BTREE,
    INDEX             `sop_id`(`sop_id` ASC, `period_id` ASC) USING BTREE,
    INDEX             `idx_fstp_period_sop`(`period_id` ASC, `sop_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for qw_sop
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop`;
CREATE TABLE `qw_sop`
(
    `id`                  varchar(100)   NOT NULL DEFAULT 'uuid()',
    `name`                varchar(255)   NULL DEFAULT NULL COMMENT 'sop名称',
    `status`              int NULL DEFAULT NULL COMMENT '状态 1正常 0停用 2已完成 3已完成但没有满足条件的 4执行中  6删除',
    `type`                int NULL DEFAULT NULL COMMENT '类别 1个微 2企业微信',
    `qw_user_ids`         varchar(2000)   NULL DEFAULT NULL COMMENT 'qw_user主表的主键',
    `tags`                varchar(2000)   NULL DEFAULT NULL COMMENT '选项的标签',
    `filter_mode`         int NULL DEFAULT 1 COMMENT '筛选方式1标签2群聊',
    `filter_type`         int NULL DEFAULT 2 COMMENT '过滤类型',
    `exclude_tags`        varchar(2000)   NULL DEFAULT NULL COMMENT '排除的标签',
    `temp_id`             varchar(100)   NULL DEFAULT NULL COMMENT '模板id',
    `company_id`          bigint NULL DEFAULT NULL COMMENT '销售公司id',
    `create_by`           varchar(255)   NULL DEFAULT NULL COMMENT '创建人',
    `create_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `send_type`           int NULL DEFAULT 1 COMMENT '发送类型 ',
    `corp_id`             varchar(255)   NULL DEFAULT NULL COMMENT '企业微信公司id',
    `expiry_time`         int NULL DEFAULT 1 COMMENT '过期时间',
    `is_auto_sop`         int NULL DEFAULT 1 COMMENT '是否新客自动创建sop 1 是 2否',
    `auto_sop_time`       varchar(1000)   NULL DEFAULT NULL COMMENT '新客自动创建sop 1 当日 2次日',
    `start_time`          date NULL DEFAULT NULL COMMENT 'sop任务开始时间',
    `min_conversion_day`  int NULL DEFAULT NULL COMMENT '大转',
    `max_conversion_day`  int NULL DEFAULT NULL COMMENT '小转',
    `min_send`            int NULL DEFAULT 0,
    `max_send`            int NULL DEFAULT 0,
    `stop_time`           datetime NULL DEFAULT NULL COMMENT '停止的时间',
    `voice`               int NULL DEFAULT 0 COMMENT '语音生成状态0未生成1已生成',
    `is_rating`           int NULL DEFAULT 2 COMMENT '是否开启评级 1开 2否',
    `course_day`          int NULL DEFAULT 1 COMMENT '第几天发课',
    `is_fixed`            int NULL DEFAULT NULL COMMENT '是否固定营期',
    `start_day_num`       int NULL DEFAULT NULL COMMENT '进入营期打标签开始时间',
    `end_day_num`         int NULL DEFAULT NULL COMMENT '进入营期打标签结束时间',
    `add_tags`            varchar(2000)   NULL DEFAULT NULL COMMENT '添加的标签',
    `course_date_num`     int NULL DEFAULT NULL COMMENT '第几天开始发课',
    `new_template_id`     varchar(100)   NULL DEFAULT NULL COMMENT '新课对话模板',
    `is_register`         int NULL DEFAULT NULL COMMENT '是否只发送注册用户',
    `project`             int NULL DEFAULT NULL COMMENT '归属项目',
    `chat_id`             text   NULL COMMENT '群聊ID',
    `repeat`              int NULL DEFAULT 1 COMMENT '是否筛选重复 0 否 1 是',
    `is_samp_send`        int NULL DEFAULT 1 COMMENT '是否按照营期 发送官方群发 1（官方+插件补发） 2 官方+一对一链接',
    `is_live_mgs`         int NULL DEFAULT 0 COMMENT '是否发送直播课0否1是',
    `live_temp_id`        bigint NULL DEFAULT NULL COMMENT '直播推荐模板',
    `live_temp_send_time` varchar(255)   NULL DEFAULT NULL COMMENT '直播推荐模板发送时间',
    `auto_group`          int NULL DEFAULT 0 COMMENT '是否自动创建群聊0否1是',
    `auto_group_level`    varchar(255)   NULL DEFAULT NULL COMMENT '创建群聊等级',
    `group_name`          varchar(255)   NULL DEFAULT NULL COMMENT '群名称',
    `auto_user_reg`       varchar(255)   NULL DEFAULT NULL COMMENT '自动拉群规则用户是否注册',
    `pull_time`           datetime NULL DEFAULT NULL COMMENT '拉群时间',
    `open_comment_status` int NULL DEFAULT NULL COMMENT '开启评论或者弹幕，1-开启评论；2-开启弹幕；3-都关闭',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `index_id`(`id` ASC) USING BTREE,
    INDEX                 `index_2`(`temp_id` ASC) USING BTREE,
    INDEX                 `is_rating`(`is_rating` ASC) USING BTREE,
    INDEX                 `status`(`status` ASC) USING BTREE,
    INDEX                 `inde3`(`corp_id` ASC, `status` ASC, `send_type` ASC, `temp_id` ASC) USING BTREE,
    INDEX                 `inde4`(`type` ASC, `send_type` ASC, `status` ASC) USING BTREE,
    INDEX                 `auto_group`(`auto_group` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = 'sop任务表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_logs`;
CREATE TABLE `qw_sop_logs`
(
    `id`                 bigint NOT NULL AUTO_INCREMENT,
    `type`               int NULL DEFAULT 0 COMMENT '消息类型0企微1群聊',
    `qw_userid`          varchar(255)   NULL DEFAULT NULL COMMENT '销售企业微信账号',
    `external_user_id`   varchar(255)   NULL DEFAULT NULL COMMENT '客户字符串账号',
    `log_type`           int NULL DEFAULT NULL COMMENT '发送类型 1 个微 2企微',
    `content_json`       longtext   NULL COMMENT '发送内容',
    `send_status`        int NULL DEFAULT 0 COMMENT '发送情况 3待发 1发送成',
    `send_time`          datetime NULL DEFAULT NULL COMMENT '预计发送时间',
    `company_id`         bigint NULL DEFAULT NULL COMMENT '销售公司id',
    `receiving_status`   int NULL DEFAULT NULL COMMENT '客户接收状态 0 待接收 1已接受',
    `msg_id`             varchar(255)   NULL DEFAULT NULL,
    `sop_id`             varchar(100)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `real_send_time`     datetime NULL DEFAULT NULL COMMENT '实际发送记录',
    `remark`             varchar(255)   NULL DEFAULT NULL COMMENT '备注',
    `corp_id`            varchar(255)   NULL DEFAULT NULL COMMENT '企业微信公司',
    `customer_id`        bigint NULL DEFAULT NULL,
    `fs_user_id`         bigint NULL DEFAULT NULL COMMENT '小程序id',
    `expiration_time`    datetime NULL DEFAULT NULL COMMENT '过期时间',
    `sort`               int NULL DEFAULT 1 COMMENT '优先级',
    `send_type`          int NULL DEFAULT NULL COMMENT ' 1企微发送 2 Ai接口发送  3：完课发送  4：AI对话 5一键群发 6客户群群发 7欢迎语补发 8AI 9清除草稿 10发送草稿 11 课程模板类型 12 一键群发APP',
    `external_user_name` varchar(255)   NULL DEFAULT NULL COMMENT '客户名称',
    `take_records`       int NULL DEFAULT 0,
    `create_time`        datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `user_logs_id`       varchar(100)   NULL DEFAULT NULL COMMENT '营期id',
    `external_id`        bigint NULL DEFAULT NULL,
    `ms`                 int NULL DEFAULT NULL COMMENT '发送延迟',
    `qw_user_key`        bigint NULL DEFAULT NULL COMMENT '企微用户主键',
    `is_have_app`        int NULL DEFAULT 0 COMMENT '是否包含app消息1包含0不包含',
    `app_send_status`    int NULL DEFAULT 0 COMMENT 'app发送状态0未发送1成功2失败3不发送',
    `app_send_remark`    varchar(255)   NULL DEFAULT NULL COMMENT 'app发送备注',
    `sms_logs_id`        bigint NULL DEFAULT NULL COMMENT '短信执行记录表关联',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                `index_1`(`qw_userid` ASC, `external_user_id` ASC, `send_status` ASC, `corp_id` ASC) USING BTREE,
    INDEX                `index_2`(`qw_userid` ASC, `log_type` ASC, `send_status` ASC, `send_time` ASC, `send_type` ASC) USING BTREE,
    INDEX                `index_4`(`send_type` ASC) USING BTREE,
    INDEX                `index_5`(`send_status` ASC) USING BTREE,
    INDEX                `index_6`(`send_time` ASC) USING BTREE,
    INDEX                `index_company_id`(`company_id` ASC) USING BTREE,
    INDEX                `index_sop_id`(`sop_id` ASC) USING BTREE,
    INDEX                `index_7`(`qw_userid` ASC, `corp_id` ASC, `sop_id` ASC) USING BTREE,
    INDEX                `index_8`(`id` ASC, `receiving_status` ASC, `send_status` ASC, `real_send_time` ASC, `remark` ASC) USING BTREE,
    INDEX                `index_9`(`qw_userid` ASC, `corp_id` ASC, `external_user_id` ASC, `log_type` ASC, `send_status` ASC, `send_type` ASC) USING BTREE,
    INDEX                `index_10`(`log_type` ASC, `send_type` ASC, `send_status` ASC, `receiving_status` ASC, `send_time` ASC) USING BTREE,
    INDEX                `log_type`(`log_type` ASC) USING BTREE,
    INDEX                `user_keu`(`qw_user_key` ASC) USING BTREE,
    INDEX                `index_3`(`log_type` ASC, `send_status` ASC, `send_type` ASC, `send_time` ASC, `qw_user_key` ASC) USING BTREE,
    INDEX                `sop_index`(`qw_user_key` ASC, `log_type` ASC, `send_status` ASC, `send_type` ASC, `send_time` ASC) USING BTREE,
    INDEX                `fs_user_id`(`fs_user_id` ASC) USING BTREE,
    INDEX                `is_have_app`(`is_have_app` ASC) USING BTREE,
    INDEX                `app_send_status`(`app_send_status` ASC) USING BTREE,
    INDEX                `idx_wait_send_queue`(`qw_user_key` ASC, `log_type` ASC, `send_status` ASC, `send_type` ASC, `sort` DESC, `send_time` ASC) USING BTREE,
    INDEX                `idx_app_send_force`(`qw_user_key` ASC, `log_type` ASC, `send_type` ASC, `is_have_app` ASC, `app_send_status` ASC, `sort` DESC, `send_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '发送记录表' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_sms_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_sms_logs`;
CREATE TABLE `qw_sop_sms_logs`
(
    `id`                bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `sop_id`            varchar(100)   NULL DEFAULT NULL COMMENT '关联sopId',
    `sop_log_id`        bigint NULL DEFAULT NULL COMMENT '执行记录Id',
    `qw_user_id`        bigint NULL DEFAULT NULL COMMENT '企微Id',
    `company_id`        bigint NULL DEFAULT NULL COMMENT '销售公司id',
    `company_user_id`   bigint NULL DEFAULT NULL COMMENT '销售id',
    `contact_id`        bigint NULL DEFAULT NULL COMMENT '外部联系人ID',
    `fs_user_id`        varchar(100)   NULL DEFAULT NULL COMMENT '接收用户ID',
    `phone_number`      varchar(20)   NULL DEFAULT NULL COMMENT '接收手机号',
    `remark`            varchar(500)   NULL DEFAULT NULL COMMENT '备注（包含失败信息）',
    `content`           varchar(500)   NULL DEFAULT NULL COMMENT '短信内容',
    `server_id`         bigint NULL DEFAULT NULL COMMENT 'ipad_id',
    `status`            tinyint NULL DEFAULT 0 COMMENT '状态（0未发送，1发送中,2成功发送，3发送失败）',
    `send_time`         datetime NULL DEFAULT NULL COMMENT '发送时间',
    `create_time`       datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '生成时间',
    `update_time`       datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `sms_template_code` varchar(255)   NULL DEFAULT NULL COMMENT '短信模板code',
    `sms_index`         int NULL DEFAULT NULL COMMENT '下标',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX               `idx_sop_id`(`sop_id` ASC) USING BTREE,
    INDEX               `idx_server_status_time`(`server_id` ASC, `status` ASC, `create_time` ASC) USING BTREE,
    INDEX               `idx_server_status_time_id`(`server_id` ASC, `status` ASC, `create_time` ASC, `id` ASC) USING BTREE,
    INDEX               `idx_soplog_smsindex`(`sop_log_id` ASC, `sms_index` ASC) USING BTREE,
    INDEX               `idx_soplog_status`(`sop_log_id` ASC, `status` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '发送短信日志表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for qw_sop_tag
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_tag`;
CREATE TABLE `qw_sop_tag`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`             int NULL DEFAULT NULL COMMENT '1 普通打标签',
    `status`           int NULL DEFAULT NULL COMMENT '1 待执行 2 执行中 3已经完成  4 失败 5 没有标签跳过 6 没有营期跳过',
    `sop_user_logs_id` varchar(255)   NULL DEFAULT NULL COMMENT '营期id',
    `add_tags`         varchar(255)   NULL DEFAULT NULL COMMENT '添加标签',
    `del_tags`         varchar(255)   NULL DEFAULT NULL COMMENT '移除标签',
    `corp_id`          varchar(255)   NULL DEFAULT NULL COMMENT '企微主体',
    `send_time`        datetime NULL DEFAULT NULL,
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`      datetime NULL DEFAULT NULL COMMENT '更改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `id`(`id` ASC) USING BTREE,
    INDEX              `status`(`status` ASC) USING BTREE,
    INDEX              `sop_user_logs_id`(`sop_user_logs_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'sop打标签' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_tag_logs
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_tag_logs`;
CREATE TABLE `qw_sop_tag_logs`
(
    `id`               bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `type`             int NULL DEFAULT NULL COMMENT '1 普通打标签 2 特殊打标签',
    `sop_tag_id`       bigint NULL DEFAULT NULL COMMENT 'id',
    `sop_user_logs_id` varchar(255)   NULL DEFAULT NULL COMMENT '营期id',
    `add_tag`          varchar(255)   NULL DEFAULT NULL COMMENT '添加标签',
    `del_tag`          varchar(255)   NULL DEFAULT NULL COMMENT '删除标签',
    `ext_id`           bigint NULL DEFAULT NULL COMMENT '外部联系人id',
    `status`           int NULL DEFAULT NULL COMMENT '1 正常  2 失败',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX              `id`(`id` ASC) USING BTREE,
    INDEX              `type`(`type` ASC) USING BTREE,
    INDEX              `sop_tag_id`(`sop_tag_id` ASC) USING BTREE,
    INDEX              `sop_user_logs_id`(`sop_user_logs_id` ASC) USING BTREE,
    INDEX              `ext_id`(`ext_id` ASC) USING BTREE,
    INDEX              `status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '打标签详细' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp`;
CREATE TABLE `qw_sop_temp`
(
    `id`             varchar(100)   NOT NULL DEFAULT 'uuid()',
    `name`           varchar(255)   NULL DEFAULT NULL COMMENT '模板名称',
    `setting`        longtext   NULL COMMENT '内容',
    `status`         varchar(255)   NULL DEFAULT NULL COMMENT '状态 0 未启用 1 启用',
    `gap`            int NULL DEFAULT NULL COMMENT '排序',
    `sort`           int NULL DEFAULT NULL COMMENT '排序',
    `create_time`    datetime NULL DEFAULT NULL,
    `create_by`      varchar(255)   NULL DEFAULT NULL,
    `company_id`     int NULL DEFAULT NULL COMMENT '销售公司id',
    `corp_id`        varchar(255)   NULL DEFAULT NULL COMMENT '企业微信公司id',
    `send_type`      int NULL DEFAULT NULL COMMENT '模板类型',
    `update_time`    datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    `project`        int NULL DEFAULT NULL COMMENT '所属项目',
    `course_id`      bigint NULL DEFAULT NULL COMMENT '课程ID',
    `create_by_dept` int NULL DEFAULT NULL COMMENT '所属部门',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX            `index_id`(`id` ASC) USING BTREE,
    INDEX            `index2`(`id` ASC, `status` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '模板' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp_content
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_content`;
CREATE TABLE `qw_sop_temp_content`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `rules_id`     bigint NULL DEFAULT NULL COMMENT '规则ID',
    `temp_id`      varchar(64)   NULL DEFAULT NULL,
    `content_type` int NULL DEFAULT NULL COMMENT '发送类型',
    `content`      longtext   NULL COMMENT '内容（JSON）',
    `is_bind_url`  int NULL DEFAULT NULL COMMENT '是否绑定url',
    `expires_days` varchar(255)   NULL DEFAULT NULL COMMENT '链接过期时间',
    `day_id`       bigint NULL DEFAULT NULL,
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `temp_id`(`temp_id` ASC) USING BTREE,
    INDEX          `day_id`(`day_id` ASC) USING BTREE,
    INDEX          `rule_id`(`rules_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'sop任务模板内容' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp_day
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_day`;
CREATE TABLE `qw_sop_temp_day`
(
    `id`          bigint NOT NULL AUTO_INCREMENT,
    `name`        varchar(255)   NULL DEFAULT NULL,
    `temp_id`     varchar(255)   NULL DEFAULT NULL,
    `day_num`     int NULL DEFAULT NULL,
    `sorts`       int NULL DEFAULT NULL,
    `voice`       int NULL DEFAULT 0 COMMENT '语言生成状态0正常1生成中',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `is_rating`   tinyint NULL DEFAULT 0 COMMENT '是否评级 0 否 1是 (只有群发助手才有)',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `temp_id`(`temp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp_media
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_media`;
CREATE TABLE `qw_sop_temp_media`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `media_id`    varchar(50)   NULL DEFAULT NULL COMMENT '素材ID',
    `corp_id`     varchar(50)   NULL DEFAULT NULL COMMENT '企业微信ID',
    `content_id`  bigint NULL DEFAULT NULL COMMENT '模板ID',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_content_id`(`content_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for qw_sop_temp_rules
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_rules`;
CREATE TABLE `qw_sop_temp_rules`
(
    `id`           bigint                                                       NOT NULL AUTO_INCREMENT COMMENT 'id',
    `day_id`       bigint NULL DEFAULT NULL,
    `temp_id`      varchar(64)   NOT NULL COMMENT '模板ID',
    `name`         varchar(255)   NULL DEFAULT NULL COMMENT '内容名称',
    `day_num`      int NULL DEFAULT NULL COMMENT '天数',
    `sorts`        int NULL DEFAULT NULL COMMENT '排序',
    `time`         varchar(255)   NULL DEFAULT NULL COMMENT '发送时间',
    `content_type` int NULL DEFAULT NULL COMMENT '消息类别;（1普通，2课程，3订单，4AI触达）',
    `course_type`  int NULL DEFAULT NULL COMMENT '消息类型',
    `course_id`    bigint NULL DEFAULT NULL COMMENT '课程ID',
    `video_id`     bigint NULL DEFAULT NULL COMMENT '视屏ID',
    `ai_touch`     varchar(255)   NULL DEFAULT NULL COMMENT 'Ai触达类型',
    `type`         int NULL DEFAULT NULL,
    `create_time`  datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `add_tag`      varchar(255)   NULL DEFAULT NULL,
    `del_tag`      varchar(255)   NULL DEFAULT NULL,
    `is_official`  int NULL DEFAULT 0 COMMENT '是否官方',
    `is_at_all`    int NULL DEFAULT 0 COMMENT '是否@所有人，1是0否',
    `live_id`      bigint NULL DEFAULT NULL COMMENT '直播间id',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX          `temp_id`(`temp_id` ASC) USING BTREE,
    INDEX          `day_id`(`day_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = 'sop任务模板规则' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for qw_sop_temp_voice
-- ----------------------------
DROP TABLE IF EXISTS `qw_sop_temp_voice`;
CREATE TABLE `qw_sop_temp_voice`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售用户ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '销售公司ID',
    `qw_user_id`      bigint NULL DEFAULT NULL COMMENT '企微用户id',
    `temp_id`         varchar(255)   NULL DEFAULT NULL COMMENT '模板ID',
    `rule_id`         bigint NULL DEFAULT NULL COMMENT '模板规则ID',
    `day_id`          bigint NULL DEFAULT NULL,
    `content_id`      bigint NULL DEFAULT NULL COMMENT '模板内容ID',
    `voice_txt`       varchar(900)   NULL DEFAULT NULL COMMENT '语音文本',
    `voice_url`       varchar(255)   NULL DEFAULT NULL COMMENT '语音文件路径',
    `user_voice_url`  varchar(255)   NULL DEFAULT NULL COMMENT '员工录制文件路径',
    `record_type`     int NULL DEFAULT 0 COMMENT '是否录制完成 0未录制 1已录制',
    `duration`        int NULL DEFAULT NULL COMMENT '秒',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `a`(`company_user_id` ASC, `temp_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '模板对应的销售语音文件' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for sop_user_logs
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs`;
CREATE TABLE `sop_user_logs`
(
    `id`                varchar(100)   NOT NULL DEFAULT (uuid()),
    `sop_id`            varchar(100)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `sop_temp_id`       varchar(100)   NULL DEFAULT NULL COMMENT '模板id',
    `qw_user_id`        varchar(255)   NULL DEFAULT NULL COMMENT '销售-企业微信账号',
    `actual_qw_user_id` varchar(255)   NULL DEFAULT NULL COMMENT '实际发送人userId',
    `corp_id`           varchar(100)   NULL DEFAULT NULL COMMENT '公司id',
    `start_time`        date NULL DEFAULT NULL COMMENT '营期时间',
    `status`            int NULL DEFAULT NULL COMMENT '状态 0未启动 1 启用 2暂停',
    `user_id`           varchar(255)   NULL DEFAULT NULL COMMENT '销售信息-qwUser主键/销售id/销售公司',
    `chat_id`           varchar(255)   NULL DEFAULT NULL COMMENT '群聊ID',
    `actual_qw_id`      bigint NULL DEFAULT NULL COMMENT '实际发送人id',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_4`(`sop_id` ASC, `qw_user_id` ASC, `corp_id` ASC, `start_time` ASC, `status` ASC, `chat_id` ASC) USING BTREE,
    INDEX               `index_1`(`id` ASC) USING BTREE,
    INDEX               `index_3`(`sop_id` ASC, `sop_temp_id` ASC) USING BTREE,
    INDEX               `index_2`(`sop_id` ASC, `sop_temp_id` ASC, `qw_user_id` ASC, `corp_id` ASC, `start_time` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = 'sop营期表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sop_user_logs_info
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs_info`;
CREATE TABLE `sop_user_logs_info`
(
    `id`                  varchar(100)   NOT NULL DEFAULT (uuid()),
    `sop_id`              varchar(100)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `user_logs_id`        varchar(100)   NULL DEFAULT NULL COMMENT '营期id',
    `external_contact_id` varchar(100)   NULL DEFAULT NULL COMMENT '客户字符串id',
    `qw_user_id`          varchar(100)   NULL DEFAULT NULL COMMENT '销售企业微信账号',
    `corp_id`             varchar(100)   NULL DEFAULT NULL COMMENT '企业微信公司',
    `external_id`         bigint NULL DEFAULT NULL COMMENT '客户主键id',
    `fs_user_id`          bigint NULL DEFAULT NULL COMMENT '小程序id',
    `external_user_name`  varchar(255)   NULL DEFAULT NULL COMMENT '客户名称',
    `create_time`         date NULL DEFAULT (curdate()),
    `crt_Time`            datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间 时分秒',
    `update_time`         datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `is_days_not_study`   int NULL DEFAULT 0 COMMENT '是否7天都没有看课 0否 1是',
    `status`              int NULL DEFAULT 0 COMMENT '禁用状态 0 正常 1禁用',
    `remark`              varchar(1024)   NULL DEFAULT NULL COMMENT '备注',
    `finish_course_days`  int NULL DEFAULT 0 COMMENT '连续完课天数',
    `finish_time`         datetime NULL DEFAULT NULL COMMENT '最近完课时间',
    `finish_cout`         int NULL DEFAULT 0 COMMENT '总完课天数',
    `grade`               int NULL DEFAULT NULL COMMENT '客户评级的等级',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_1`(`sop_id` ASC, `user_logs_id` ASC, `external_contact_id` ASC, `qw_user_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX                 `index_id`(`id` ASC) USING BTREE,
    INDEX                 `external_id`(`external_id` ASC) USING BTREE,
    INDEX                 `index_3`(`external_contact_id` ASC, `qw_user_id` ASC, `corp_id` ASC) USING BTREE
) ENGINE = InnoDB COMMENT = '营期的客户信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sop_user_logs_info_chat
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs_info_chat`;
CREATE TABLE `sop_user_logs_info_chat`
(
    `id`                  varchar(100)   NOT NULL DEFAULT (uuid()),
    `sop_id`              varchar(100)   NULL DEFAULT NULL,
    `user_logs_id`        varchar(100)   NULL DEFAULT NULL,
    `external_contact_id` varchar(255)   NULL DEFAULT NULL,
    `qw_user_id`          varchar(255)   NULL DEFAULT NULL,
    `corp_id`             varchar(255)   NULL DEFAULT NULL,
    `external_id`         bigint NULL DEFAULT NULL,
    `fs_user_id`          bigint NULL DEFAULT NULL,
    `external_user_name`  varchar(255)   NULL DEFAULT NULL,
    `version`             varchar(255)   NULL DEFAULT NULL,
    `create_time`         date NULL DEFAULT (curdate()),
    `crt_Time`            datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time`         datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                 `index_id`(`id` ASC) USING BTREE,
    INDEX                 `index_sopid`(`sop_id` ASC, `qw_user_id` ASC, `corp_id` ASC) USING BTREE,
    INDEX                 `index_2`(`qw_user_id` ASC, `corp_id` ASC, `external_contact_id` ASC) USING BTREE,
    INDEX                 `index_3`(`sop_id` ASC, `external_contact_id` ASC, `qw_user_id` ASC) USING BTREE
) ENGINE = InnoDB ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sop_user_logs_wx
-- ----------------------------
DROP TABLE IF EXISTS `sop_user_logs_wx`;
CREATE TABLE `sop_user_logs_wx`
(
    `id`              bigint NOT NULL AUTO_INCREMENT,
    `sop_id`          varchar(100)   NULL DEFAULT NULL COMMENT 'sop任务id',
    `sop_temp_id`     varchar(100)   NULL DEFAULT NULL COMMENT '模板id',
    `user_wx_name`    varchar(255)   NULL DEFAULT NULL COMMENT '销售-企业微信账号',
    `account_id`      bigint NULL DEFAULT NULL COMMENT '企微用户ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '企微账号ID',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '公司ID',
    `start_time`      date NULL DEFAULT NULL COMMENT '营期时间',
    `status`          int NULL DEFAULT 1 COMMENT '状态 0未启动 1 启用 2暂停',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `index_4`(`sop_id` ASC, `user_wx_name` ASC, `start_time` ASC, `status` ASC) USING BTREE,
    INDEX             `index_1`(`id` ASC) USING BTREE,
    INDEX             `index_3`(`sop_id` ASC, `sop_temp_id` ASC) USING BTREE,
    INDEX             `index_2`(`sop_id` ASC, `sop_temp_id` ASC, `user_wx_name` ASC, `start_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '个微sop营期表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for company_ai_workflow_server
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_server`;
CREATE TABLE `company_ai_workflow_server`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '服务id',
    `title`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
    `total_count` int UNSIGNED NULL DEFAULT NULL COMMENT '总数',
    `count`       int UNSIGNED NULL DEFAULT NULL COMMENT '使用数据',
    `group_no`    int NULL DEFAULT NULL COMMENT '分组',
    `create_time` datetime NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_node_version
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_node_version`;
CREATE TABLE `company_ai_workflow_node_version`
(
    `id`          bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `version_id`  bigint                                                        NOT NULL COMMENT '版本ID',
    `workflow_id` bigint                                                        NOT NULL COMMENT '工作流ID',
    `node_id`     bigint NULL DEFAULT NULL COMMENT '原节点ID',
    `node_key`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  NOT NULL COMMENT '节点唯一标识',
    `node_name`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点名称',
    `node_type`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点类型',
    `node_icon`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点图标',
    `node_color`  varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点颜色',
    `pos_x`       int NULL DEFAULT 0 COMMENT 'X坐标',
    `pos_y`       int NULL DEFAULT 0 COMMENT 'Y坐标',
    `width`       int NULL DEFAULT 200 COMMENT '节点宽度',
    `height`      int NULL DEFAULT 80 COMMENT '节点高度',
    `node_config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '节点配置JSON',
    `sort_order`  int NULL DEFAULT 0 COMMENT '排序',
    `voice_url`   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '声音地址',
    `create_time` datetime NULL DEFAULT NULL COMMENT '原创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '原更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `idx_version_id`(`version_id`) USING BTREE,
    INDEX         `idx_workflow_id`(`workflow_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_node_type
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_node_type`;
CREATE TABLE `company_ai_workflow_node_type`
(
    `type_id`        bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '类型ID',
    `type_code`      varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型编码',
    `type_name`      varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型名称',
    `type_icon`      varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类型图标',
    `type_color`     varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '#1890ff' COMMENT '类型颜色',
    `type_category`  varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'basic' COMMENT '类型分类 basic/logic/ai/integration',
    `default_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '默认配置JSON',
    `sort_order`     int NULL DEFAULT 0 COMMENT '排序',
    `status`         tinyint NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `create_time`    datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`type_id`) USING BTREE,
    UNIQUE INDEX `uk_type_code`(`type_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_node
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_node`;
CREATE TABLE `company_ai_workflow_node`
(
    `node_id`     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '节点ID',
    `workflow_id` bigint                                                        NOT NULL COMMENT '工作流ID',
    `node_key`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  NOT NULL COMMENT '节点唯一标识',
    `node_name`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点名称',
    `node_type`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点类型val',
    `node_icon`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点图标',
    `node_color`  varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点颜色',
    `pos_x`       int NULL DEFAULT 0 COMMENT 'X坐标',
    `pos_y`       int NULL DEFAULT 0 COMMENT 'Y坐标',
    `width`       int NULL DEFAULT 200 COMMENT '节点宽度',
    `height`      int NULL DEFAULT 80 COMMENT '节点高度',
    `node_config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '节点配置JSON',
    `sort_order`  int NULL DEFAULT 0 COMMENT '排序',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
    `voice_url`   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '声音的地址,目前只有start,end,ai需要',
    PRIMARY KEY (`node_id`) USING BTREE,
    INDEX         `idx_workflow_id`(`workflow_id`) USING BTREE,
    INDEX         `idx_node_key`(`node_key`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_exec_log
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_exec_log`;
CREATE TABLE `company_ai_workflow_exec_log`
(
    `id`                   bigint NOT NULL AUTO_INCREMENT COMMENT '记录主键id',
    `workflow_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工作流执行实例id',
    `node_id`              bigint NULL DEFAULT NULL COMMENT '节点id',
    `node_key`             varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点Key',
    `node_name`            varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '节点名称',
    `node_type`            int NULL DEFAULT NULL COMMENT '节点类型',
    `input_data`           text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入数据',
    `output_data`          text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输出数据',
    `status`               tinyint NULL DEFAULT NULL COMMENT '状态 ExecutionStatus',
    `start_time`           datetime NULL DEFAULT NULL COMMENT '开始时间',
    `end_time`             datetime NULL DEFAULT NULL COMMENT '结束时间',
    `duration`             bigint NULL DEFAULT NULL COMMENT '执行时长(毫秒)',
    `error_message`        text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
    `retry_count`          int NULL DEFAULT NULL COMMENT '重试次数',
    `created_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
    `is_generate`          tinyint(1) NULL DEFAULT 0 COMMENT '是否生成数据（0否，1是）',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                  `instance_id_idx`(`workflow_instance_id`) USING BTREE,
    INDEX                  `index_is_generate`(`is_generate`) USING BTREE,
    INDEX                  `idx_node_type_is_generate_instance`(`node_type`, `is_generate`, `workflow_instance_id`) USING BTREE,
    INDEX                  `idx_workflow_instance_id`(`workflow_instance_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_exec
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_exec`;
CREATE TABLE `company_ai_workflow_exec`
(
    `id`                   bigint                                                       NOT NULL AUTO_INCREMENT,
    `workflow_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作流执行实例id',
    `workflow_id`          bigint NULL DEFAULT NULL COMMENT '工作流id',
    `workflow_version`     int NULL DEFAULT NULL COMMENT '工作流版本',
    `current_node_id`      bigint NULL DEFAULT NULL COMMENT '当前节点id',
    `current_node_key`     varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前节点key',
    `current_node_name`    varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前节点名称',
    `current_node_type`    tinyint NULL DEFAULT NULL COMMENT '当前节点类型',
    `status`               tinyint NULL DEFAULT NULL COMMENT '状态 ExecutionStatus',
    `variables`            text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '参数',
    `start_time`           datetime NULL DEFAULT NULL COMMENT '开始时间',
    `last_update_time`     datetime NULL DEFAULT NULL COMMENT '最后更新时间',
    `business_key`         bigint NULL DEFAULT NULL COMMENT '业务键值',
    `start_node_key`       varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实例工作流开始节点',
    `end_node_key`         varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实例工作流结束节点',
    `runtime_range_start`  time NULL DEFAULT NULL COMMENT '运行时间可执行开始时间',
    `runtime_range_end`    time NULL DEFAULT NULL COMMENT '运行时间可执行结束时间',
    `cid_group_no`         int                                                          NOT NULL COMMENT '任务执行cid分组数',
    `is_generate`          tinyint(1) NULL DEFAULT 0 COMMENT '是否生成数据（0否，1是）',
    PRIMARY KEY (`id`, `workflow_instance_id`) USING BTREE,
    UNIQUE INDEX `instance_id_idx`(`workflow_instance_id`) USING BTREE,
    INDEX                  `workflow_version_idx`(`workflow_id`, `workflow_version`) USING BTREE,
    INDEX                  `status_idx`(`status`) USING BTREE,
    INDEX                  `cid_group_no_idx`(`cid_group_no`) USING BTREE,
    INDEX                  `index_is_generate`(`is_generate`) USING BTREE,
    INDEX                  `index_business_key_current_node_type_is_generate`(`business_key`, `current_node_type`, `is_generate`) USING BTREE,
    INDEX                  `idx_business_key_start_time`(`business_key`, `start_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_edge_version
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_edge_version`;
CREATE TABLE `company_ai_workflow_edge_version`
(
    `id`              bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '主键',
    `version_id`      bigint                                                       NOT NULL COMMENT '版本ID',
    `workflow_id`     bigint                                                       NOT NULL COMMENT '工作流ID',
    `edge_id`         bigint NULL DEFAULT NULL COMMENT '原连线ID',
    `edge_key`        varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '连线唯一标识',
    `edge_label`      varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '连线标签',
    `source_node_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '源节点Key',
    `target_node_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '目标节点Key',
    `source_anchor`   varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'bottom' COMMENT '源锚点',
    `target_anchor`   varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'top' COMMENT '目标锚点',
    `edge_type`       varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'smoothstep' COMMENT '连线类型',
    `edge_color`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '#999999' COMMENT '连线颜色',
    `condition_expr`  varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '条件表达式',
    `sort_order`      int NULL DEFAULT 0 COMMENT '排序',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '原创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '原更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_version_id`(`version_id`) USING BTREE,
    INDEX             `idx_workflow_id`(`workflow_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_edge
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_edge`;
CREATE TABLE `company_ai_workflow_edge`
(
    `edge_id`         bigint                                                       NOT NULL AUTO_INCREMENT COMMENT '连线ID',
    `workflow_id`     bigint                                                       NOT NULL COMMENT '工作流ID',
    `edge_key`        varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '连线唯一标识',
    `edge_label`      varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '连线标签',
    `source_node_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '源节点Key',
    `target_node_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '目标节点Key',
    `source_anchor`   varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'bottom' COMMENT '源锚点 top/bottom/left/right',
    `target_anchor`   varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'top' COMMENT '目标锚点',
    `edge_type`       varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'smoothstep' COMMENT '连线类型 straight/smoothstep/bezier',
    `edge_color`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '#999999' COMMENT '连线颜色',
    `condition_expr`  varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '条件表达式',
    `sort_order`      int NULL DEFAULT 0 COMMENT '排序',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`edge_id`) USING BTREE,
    INDEX             `idx_workflow_id`(`workflow_id`) USING BTREE,
    INDEX             `idx_source_node`(`source_node_key`) USING BTREE,
    INDEX             `idx_target_node`(`target_node_key`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow`;
CREATE TABLE `company_ai_workflow`
(
    `workflow_id`     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '工作流ID',
    `workflow_name`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作流名称',
    `workflow_desc`   varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工作流描述',
    `workflow_type`   tinyint NULL DEFAULT 1 COMMENT '工作流类型 1对话流程 2任务流程 3审批流程',
    `status`          tinyint NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `version`         int NULL DEFAULT 1 COMMENT '版本号',
    `canvas_data`     longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '画布数据JSON(缩放、位置等)',
    `create_by`       varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `remark`          varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
    `del_flag`        tinyint NULL DEFAULT 0 COMMENT '删除标志 0正常 1删除',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '绑定的销售id',
    `company_id`      int NULL DEFAULT NULL,
    `start_node_key`  varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '流程开始节点',
    `end_node_key`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '流程结束节点',
    PRIMARY KEY (`workflow_id`) USING BTREE,
    INDEX             `idx_workflow_name`(`workflow_name`) USING BTREE,
    INDEX             `idx_status`(`status`) USING BTREE,
    INDEX             `index_del`(`del_flag`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for company_comm_gateway_log
-- ----------------------------
DROP TABLE IF EXISTS `company_comm_gateway_log`;
CREATE TABLE `company_comm_gateway_log`
(
    `log_id`           bigint         NOT NULL AUTO_INCREMENT COMMENT '主键',
    `master_log_id`    bigint         DEFAULT NULL COMMENT '主库日志ID',
    `company_id`       bigint         DEFAULT NULL COMMENT '公司ID',
    `company_user_id`  bigint         DEFAULT NULL COMMENT '调用人用户ID',
    `caller_account`   varchar(100)   DEFAULT NULL COMMENT '调用人账号',
    `api_type`         varchar(20)    NOT NULL COMMENT '接口类型 call/sms',
    `api_path`         varchar(200)   DEFAULT NULL COMMENT '请求路径',
    `request_body`     mediumtext     COMMENT '请求参数',
    `response_body`    mediumtext     COMMENT '返回参数',
    `result_code`      int            DEFAULT NULL COMMENT '业务code',
    `result_msg`       varchar(500)   DEFAULT NULL COMMENT '结果说明',
    `success`          tinyint(1)     DEFAULT 0 COMMENT '是否成功 0否1是',
    `limit_hit`        tinyint(1)     DEFAULT 0 COMMENT '是否触发频率限制 0否1是',
    `limit_reason`     varchar(200)   DEFAULT NULL COMMENT '限制原因',
    `callee_phone`     varchar(32)    DEFAULT NULL COMMENT '被叫号码',
    `caller_phone`     varchar(32)    DEFAULT NULL COMMENT '主叫号码/线路标识',
    `gateway_id`       bigint         DEFAULT NULL COMMENT '外呼线路ID',
    `billing_amount`   decimal(12, 4) DEFAULT 0.0000 COMMENT '计费金额',
    `cost_price`       decimal(12, 4) DEFAULT 0.0000 COMMENT '成本价(单价)',
    `calc_price`       decimal(12, 4) DEFAULT 0.0000 COMMENT '计算价/售价(单价)',
    `billing_quantity` int            DEFAULT 1 COMMENT '计费数量',
    `billing_unit`     varchar(20)    DEFAULT NULL COMMENT '计费单位 call/sms',
    `client_ip`        varchar(64)    DEFAULT NULL COMMENT '客户端IP',
    `auth_scope`       varchar(20)    DEFAULT NULL COMMENT '鉴权范围 external/internal',
    `duration_ms`      int            DEFAULT NULL COMMENT '耗时毫秒',
    `create_time`      datetime       DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX              `idx_company_callee_time`(`company_id`, `callee_phone`, `create_time`) USING BTREE,
    INDEX              `idx_company_caller_time`(`company_id`, `caller_phone`, `create_time`) USING BTREE,
    INDEX              `idx_company_api_time`(`company_id`, `api_type`, `create_time`) USING BTREE,
    INDEX              `idx_master_log_id`(`master_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通讯网关API调用记录(租户库)' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for company_bind_gateway
-- ----------------------------
DROP TABLE IF EXISTS `company_bind_gateway`;
CREATE TABLE `company_bind_gateway`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `gateway_id`  bigint NULL DEFAULT NULL COMMENT '网关线路id',
    `company_id`  bigint NULL DEFAULT NULL COMMENT '公司id',
    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for company_voice_robotic_business
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_business`;
CREATE TABLE `company_voice_robotic_business`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `robotic_id`      bigint NULL DEFAULT NULL COMMENT '任务id',
    `callee_id`       bigint NULL DEFAULT NULL COMMENT '外呼id',
    `wx_client_id`    bigint NULL DEFAULT NULL COMMENT '个微信账号id',
    `add_wx_done`     int NULL DEFAULT NULL COMMENT '加微动作完成，每次加1 初始0',
    `call_phone_done` int NULL DEFAULT NULL COMMENT 'AI打电话动作完成，每次加1 初始0',
    `send_msg_done`   int NULL DEFAULT NULL COMMENT '发送短信动作完成，每次加1 初始0',
    `create_time`     datetime NULL DEFAULT NULL COMMENT '创建时间',
    `update_time`     datetime NULL DEFAULT NULL COMMENT '更新时间',
    `create_by`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `update_by`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
    `is_generate`     tinyint(1) NULL DEFAULT 0 COMMENT '是否生成数据（0否，1是）',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `idx_robotic_id_is_generate`(`robotic_id`, `is_generate`) USING BTREE,
    INDEX             `idx_robotic_id_callee_id`(`robotic_id`, `callee_id`, `id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for company_bind_ai_model
-- ----------------------------
DROP TABLE IF EXISTS `company_bind_ai_model`;
CREATE TABLE `company_bind_ai_model`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id`  bigint NOT NULL COMMENT '销售公司ID',
    `model_id`    bigint NOT NULL COMMENT '模型ID',
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_company_model`(`company_id`, `model_id`) USING BTREE,
    INDEX         `idx_company_id`(`company_id`) USING BTREE,
    INDEX         `idx_model_id`(`model_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_ai_workflow_version
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_workflow_version`;
CREATE TABLE `company_ai_workflow_version`
(
    `version_id`      bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '版本ID',
    `workflow_id`     bigint                                                        NOT NULL COMMENT '工作流ID，关联主表company_ai_workflow.workflow_id',
    `version_no`      int                                                           NOT NULL COMMENT '版本号，从1开始递增',
    `workflow_name`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作流名称',
    `workflow_desc`   varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工作流描述',
    `workflow_type`   tinyint NULL DEFAULT 1 COMMENT '工作流类型 1对话流程 2任务流程 3审批流程',
    `status`          tinyint NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
    `canvas_data`     longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '画布数据JSON',
    `start_node_key`  varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '流程开始节点',
    `end_node_key`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '流程结束节点',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '绑定销售id',
    `company_id`      int NULL DEFAULT NULL COMMENT '公司id',
    `snapshot_time`   datetime NULL DEFAULT NULL COMMENT '快照生成时间',
    `snapshot_by`     varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '快照生成者',
    `remark`          varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
    PRIMARY KEY (`version_id`) USING BTREE,
    INDEX             `idx_workflow_id`(`workflow_id`) USING BTREE,
    INDEX             `idx_workflow_version_no`(`workflow_id`, `version_no`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_lobster_tag_user_rel
-- ----------------------------
DROP TABLE IF EXISTS `company_lobster_tag_user_rel`;
CREATE TABLE `company_lobster_tag_user_rel`
(
    `id`                  bigint       NOT NULL AUTO_INCREMENT COMMENT '主键',
    `company_id`          bigint       NOT NULL COMMENT '公司ID（租户隔离）',
    `binding_id`          bigint       NOT NULL COMMENT '标签模板绑定ID（company_tag_template_binding.id）',
    `tag_code`            varchar(128) NOT NULL COMMENT '标签编码（冗余）',
    `template_id`         bigint       NOT NULL COMMENT '工作流模板ID（冗余）',
    `external_contact_id` bigint       NOT NULL COMMENT '企微外部联系人ID（qw_external_contact.id）',
    `create_by`           varchar(64)  DEFAULT NULL COMMENT '创建人',
    `create_time`         datetime     DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `corp_id`             varchar(255) DEFAULT NULL COMMENT '企微主体id',
    `company_user_id`     bigint       DEFAULT NULL COMMENT '销售id',
    `qw_user_id`          bigint       DEFAULT NULL,
    `del_flag`            tinyint      DEFAULT '0' COMMENT '0正常1删除',
    `update_time`         datetime     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `update_by`           varchar(64)  DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `uk_binding_contact` (`binding_id`,`external_contact_id`) USING BTREE,
    KEY                   `idx_company_id` (`company_id`) USING BTREE,
    KEY                   `idx_binding_id` (`binding_id`) USING BTREE,
    KEY                   `idx_external_contact` (`external_contact_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='龙虾标签-企微客户关联表';

-- ----------------------------
-- Table structure for company_workflow_lobster
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster`;
CREATE TABLE `company_workflow_lobster`
(
    `id`            bigint       NOT NULL AUTO_INCREMENT,
    `company_id`    bigint       NOT NULL COMMENT '公司ID',
    `template_code` varchar(64)  NOT NULL COMMENT '模板编码',
    `template_name` varchar(128) NOT NULL COMMENT '模板名称',
    `industry_type` varchar(64)           DEFAULT 'general' COMMENT '行业类型',
    `description`   text COMMENT '描述',
    `canvas_data`   longtext COMMENT '画布数据JSON(包含节点位置、连线、缩放等可视化信息)',
    `status`        tinyint      NOT NULL DEFAULT '0' COMMENT '状态:0草稿 1发布 2停用',
    `version`       int          NOT NULL DEFAULT '1' COMMENT '版本',
    `create_by`     varchar(64)           DEFAULT NULL,
    `create_time`   datetime              DEFAULT CURRENT_TIMESTAMP,
    `update_by`     varchar(64)           DEFAULT NULL,
    `update_time`   datetime              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `del_flag`      tinyint      NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_template_code` (`template_code`),
    KEY             `idx_company_id` (`company_id`),
    KEY             `idx_cwl_company_del_create` (`company_id`,`del_flag`,`create_time`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾模板';

-- ----------------------------
-- Table structure for company_workflow_lobster_edge
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster_edge`;
CREATE TABLE `company_workflow_lobster_edge`
(
    `id`               bigint      NOT NULL AUTO_INCREMENT COMMENT '主键',
    `workflow_id`      bigint      NOT NULL COMMENT '工作流ID',
    `edge_key`         varchar(64) NOT NULL COMMENT '连线唯一标识',
    `source_node_code` varchar(64) NOT NULL COMMENT '源节点编码',
    `target_node_code` varchar(64) NOT NULL COMMENT '目标节点编码',
    `source_port`      varchar(32)  DEFAULT 'right' COMMENT '源节点连接点',
    `target_port`      varchar(32)  DEFAULT 'left' COMMENT '目标节点连接点',
    `edge_label`       varchar(128) DEFAULT NULL COMMENT '连线标签',
    `edge_color`       varchar(32)  DEFAULT '#999' COMMENT '连线颜色',
    `condition_expr`   text COMMENT '条件表达式（判断节点分支）',
    `sort_no`          int          DEFAULT '0' COMMENT '排序',
    `del_flag`         tinyint      DEFAULT '0' COMMENT '删除标志 0正常 1删除',
    `create_by`        varchar(64)  DEFAULT '' COMMENT '创建者',
    `create_time`      datetime     DEFAULT NULL COMMENT '创建时间',
    `update_by`        varchar(64)  DEFAULT '' COMMENT '更新者',
    `update_time`      datetime     DEFAULT NULL COMMENT '更新时间',
    `edge_type`        varchar(32)  DEFAULT '0' ,
    PRIMARY KEY (`id`),
    KEY                `idx_workflow_del` (`workflow_id`,`del_flag`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾连线表';

-- ----------------------------
-- Table structure for company_workflow_lobster_node
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster_node`;
CREATE TABLE `company_workflow_lobster_node`
(
    `id`               bigint       NOT NULL AUTO_INCREMENT,
    `workflow_id`      bigint       NOT NULL COMMENT '模板ID',
    `node_code`        varchar(64)  NOT NULL COMMENT '节点编码',
    `node_name`        varchar(128) NOT NULL COMMENT '节点名称',
    `node_type`        tinyint      NOT NULL COMMENT '1开始 2消息 3判断 4等待 5结束 6API调用',
    `sort_no`          int          NOT NULL DEFAULT '0' COMMENT '排序',
    `position_x`       int                   DEFAULT '0' COMMENT '节点X坐标',
    `position_y`       int                   DEFAULT '0' COMMENT '节点Y坐标',
    `width`            int                   DEFAULT '200' COMMENT '节点宽度',
    `height`           int                   DEFAULT '80' COMMENT '节点高度',
    `next_node_code`   varchar(64)           DEFAULT NULL COMMENT '下一节点',
    `message_template` text COMMENT '消息模板',
    `condition_expr`   text COMMENT '条件表达式JSON',
    `node_config`      text COMMENT '节点配置JSON',
    `greeting_config`  text COMMENT '问候配置JSON',
    `create_by`        varchar(64)           DEFAULT NULL,
    `create_time`      datetime              DEFAULT CURRENT_TIMESTAMP,
    `update_by`        varchar(64)           DEFAULT NULL,
    `update_time`      datetime              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `del_flag`         tinyint      NOT NULL DEFAULT '0',
    `send_time`        time                  DEFAULT NULL COMMENT '发送时间',
    `max_round`        int                   DEFAULT '0' COMMENT '最大循环数',
    PRIMARY KEY (`id`),
    KEY                `idx_workflow_id` (`workflow_id`),
    KEY                `idx_node_code` (`node_code`),
    KEY                `idx_cwln_workflow_del_sort` (`workflow_id`,`del_flag`,`sort_no`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾节点';

-- ----------------------------
-- Table structure for company_workflow_lobster_record
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster_record`;
CREATE TABLE `company_workflow_lobster_record`
(
    `id`               bigint      NOT NULL AUTO_INCREMENT,
    `company_id`       bigint      NOT NULL COMMENT '公司ID',
    `record_no`        varchar(64) NOT NULL COMMENT '生成记录号',
    `requirement`      text COMMENT '用户需求',
    `selected_api_ids` varchar(500)         DEFAULT NULL COMMENT '选择的接口ID',
    `status`           tinyint     NOT NULL DEFAULT '0' COMMENT '0生成中 1成功 2失败 3已确认',
    `error_msg`        varchar(500)         DEFAULT NULL COMMENT '失败原因',
    `result_json`      longtext COMMENT '生成结果JSON',
    `create_by`        varchar(64)          DEFAULT NULL,
    `create_time`      datetime             DEFAULT CURRENT_TIMESTAMP,
    `update_by`        varchar(64)          DEFAULT NULL,
    `update_time`      datetime             DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `del_flag`         tinyint     NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_record_no` (`record_no`),
    KEY                `idx_company_status` (`company_id`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾生成记录';

-- ----------------------------
-- Table structure for company_workflow_lobster_task
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster_task`;
CREATE TABLE `company_workflow_lobster_task`
(
    `id`                bigint       NOT NULL AUTO_INCREMENT COMMENT '主键',
    `company_id`        bigint       NOT NULL COMMENT '公司ID（租户隔离）',
    `template_id`       bigint       NOT NULL COMMENT '工作流模板ID（company_workflow_lobster.id）',
    `task_name`         varchar(128) NOT NULL COMMENT '任务名称',
    `task_type`         tinyint      NOT NULL COMMENT '任务类型1开始 2消息 3判断 4等待 5结束 6API调用',
    `task_content`      text COMMENT '任务内容（JSON格式，存储节点配置参数）',
    `cron_expression`   varchar(64)           DEFAULT NULL COMMENT 'Cron表达式（定时触发用）',
    `execute_status`    tinyint      NOT NULL DEFAULT '0' COMMENT '执行状态：0-待执行, 1-执行中, 2-执行成功, 3-执行失败, 4-已取消, 5-已过期',
    `execute_count`     int          NOT NULL DEFAULT '0' COMMENT '已执行次数',
    `max_retry`         int          NOT NULL DEFAULT '0' COMMENT '最大重试次数（0表示不重试）',
    `retry_count`       int          NOT NULL DEFAULT '0' COMMENT '已重试次数',
    `last_execute_time` datetime              DEFAULT NULL COMMENT '上次执行时间',
    `next_execute_time` datetime              DEFAULT NULL COMMENT '下次执行时间',
    `fail_reason`       varchar(512)          DEFAULT NULL COMMENT '失败原因',
    `sort_order`        int          NOT NULL DEFAULT '0' COMMENT '排序号',
    `del_flag`          tinyint      NOT NULL DEFAULT '0' COMMENT '删除标志：0-正常, 1-已删除',
    `remark`            varchar(256)          DEFAULT NULL COMMENT '备注',
    `create_by`         varchar(64)           DEFAULT NULL COMMENT '创建人',
    `create_time`       datetime              DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`         varchar(64)           DEFAULT NULL COMMENT '更新人',
    `update_time`       datetime              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `corp_id`           varchar(255)          DEFAULT NULL,
    `company_user_id`   bigint                DEFAULT NULL,
    `lobster_node_id`   bigint                DEFAULT NULL,
    `send_time`         datetime              DEFAULT NULL,
    `qw_user_id`        bigint                DEFAULT NULL,
    `binding_id`        bigint                DEFAULT NULL,
    `external_user_id`  varchar(255)          DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    KEY                 `idx_company_id` (`company_id`) USING BTREE,
    KEY                 `idx_template_id` (`template_id`) USING BTREE,
    KEY                 `idx_task_type` (`task_type`) USING BTREE,
    KEY                 `idx_send_time` (`send_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='龙虾工作流模板自动任务表';

-- ----------------------------
-- Table structure for company_workflow_lobster_variable
-- ----------------------------
DROP TABLE IF EXISTS `company_workflow_lobster_variable`;
CREATE TABLE `company_workflow_lobster_variable`
(
    `id`            bigint       NOT NULL AUTO_INCREMENT,
    `workflow_id`   bigint       NOT NULL COMMENT '模板ID',
    `var_code`      varchar(64)  NOT NULL COMMENT '变量编码',
    `var_name`      varchar(128) NOT NULL COMMENT '变量名称',
    `var_type`      varchar(32)  NOT NULL DEFAULT 'string' COMMENT '变量类型',
    `source_type`   varchar(32)  NOT NULL DEFAULT 'manual' COMMENT '来源',
    `required`      tinyint      NOT NULL DEFAULT '0' COMMENT '是否必填',
    `default_value` varchar(255)          DEFAULT NULL COMMENT '默认值',
    `description`   varchar(255)          DEFAULT NULL COMMENT '说明',
    `create_by`     varchar(64)           DEFAULT NULL,
    `create_time`   datetime              DEFAULT CURRENT_TIMESTAMP,
    `update_by`     varchar(64)           DEFAULT NULL,
    `update_time`   datetime              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `del_flag`      tinyint      NOT NULL DEFAULT '0',
    `status`        tinyint      NOT NULL DEFAULT '0' COMMENT '0正常，1禁用',
    PRIMARY KEY (`id`),
    KEY             `idx_workflow_var` (`workflow_id`,`var_code`),
    KEY             `idx_cwlv_workflow_del` (`workflow_id`,`del_flag`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾变量';

-- ----------------------------
-- Table structure for company_tag_template_binding
-- ----------------------------
DROP TABLE IF EXISTS `company_tag_template_binding`;
CREATE TABLE `company_tag_template_binding`
(
    `id`              bigint       NOT NULL AUTO_INCREMENT COMMENT '主键',
    `company_id`      bigint       NOT NULL COMMENT '企业ID',
    `tag_code`        varchar(128) NOT NULL COMMENT '标签编码',
    `tag_name`        varchar(128) NOT NULL COMMENT '标签名称',
    `template_id`     bigint       NOT NULL COMMENT '绑定的工作流模板ID',
    `template_name`   varchar(256) DEFAULT NULL COMMENT '模板名称（冗余）',
    `priority`        int          DEFAULT '0' COMMENT '优先级（数值越大优先级越高）',
    `match_condition` text COMMENT '匹配条件（JSON格式）',
    `status`          tinyint      DEFAULT '1' COMMENT '状态：0-禁用, 1-启用',
    `del_flag`        tinyint      DEFAULT '0' COMMENT '删除标志 0正常 1删除',
    `create_by`       varchar(64)  DEFAULT '' COMMENT '创建者',
    `create_time`     datetime     DEFAULT NULL COMMENT '创建时间',
    `update_by`       varchar(64)  DEFAULT '' COMMENT '更新者',
    `update_time`     datetime     DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `idx_cttb_company_tag_template` (`company_id`,`tag_code`,`template_id`,`del_flag`),
    KEY               `idx_cttb_company_del` (`company_id`,`del_flag`),
    KEY               `idx_cttb_template` (`company_id`,`template_id`,`del_flag`),
    KEY               `idx_cttb_status` (`company_id`,`status`,`del_flag`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='标签-模板绑定表';
-- ----------------------------
-- Table structure for company_ai_sensitive_word
-- ----------------------------
DROP TABLE IF EXISTS `company_ai_sensitive_word`;
CREATE TABLE `company_ai_sensitive_word`
(
    `word_id`     bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键',
    `word`        varchar(255) NOT NULL COMMENT '敏感词',
    `enabled`     tinyint NULL DEFAULT 1 COMMENT '是否启用 0/1',
    `source`      tinyint NULL DEFAULT 1 COMMENT '来源 1=手工 2=批量 3=内置',
    `remark`      varchar(500) NULL DEFAULT NULL COMMENT '备注',
    `create_by`   varchar(64) NULL DEFAULT NULL,
    `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
    `update_by`   varchar(64) NULL DEFAULT NULL,
    `update_time` datetime NULL DEFAULT NULL,
    `del_flag`    tinyint NULL DEFAULT 0,
    PRIMARY KEY (`word_id`) USING BTREE,
    UNIQUE INDEX `uk_word`(`word` ASC, `del_flag` ASC) USING BTREE,
    INDEX         `idx_enabled`(`enabled` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '敏感词库' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for company_siptask_info
-- ----------------------------
DROP TABLE IF EXISTS `company_siptask_info`;
CREATE TABLE `company_siptask_info`
(
    `id`          bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `workflow_id` bigint NULL DEFAULT NULL COMMENT '工作流id',
    `task_id`     bigint NULL DEFAULT NULL COMMENT '任务id',
    `node_key`    varchar(255)  NULL DEFAULT NULL COMMENT '节点key',
    `batch_id`    bigint NULL DEFAULT NULL COMMENT '对应sip任务id',
    `task_json`   text NULL COMMENT 'sip外呼任务',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX         `task_node_key_idx`(`task_id`, `node_key`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务与外呼sip任务关联关系表' ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for company_inbound_bind
-- ----------------------------
DROP TABLE IF EXISTS `company_inbound_bind`;
CREATE TABLE `company_inbound_bind`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `company_id`             bigint NULL DEFAULT NULL COMMENT '公司id',
    `inbound_llm_account_id` bigint NULL DEFAULT NULL COMMENT '呼入线路模型id',
    `create_time`            datetime NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `company_idx`(`company_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '呼入线路模型绑定关系' ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for ai_sip_call_user
-- ----------------------------
DROP TABLE IF EXISTS `ai_sip_call_user`;
CREATE TABLE `ai_sip_call_user`
(
    `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `dept_id`         bigint NULL DEFAULT NULL COMMENT '部门ID',
    `login_name`      varchar(30) NOT NULL COMMENT '登录账号',
    `user_name`       varchar(30) NULL DEFAULT '' COMMENT '用户昵称',
    `user_type`       varchar(2) NULL DEFAULT '00' COMMENT '用户类型（00系统用户 01注册用户）',
    `email`           varchar(50)  NULL DEFAULT '' COMMENT '用户邮箱',
    `phonenumber`     varchar(11)  NULL DEFAULT '' COMMENT '手机号码',
    `sex`             char(1)  NULL DEFAULT '0' COMMENT '用户性别（0男 1女 2未知）',
    `avatar`          varchar(100)  NULL DEFAULT '' COMMENT '头像路径',
    `password`        varchar(50)  NULL DEFAULT '' COMMENT '密码',
    `salt`            varchar(20)  NULL DEFAULT '' COMMENT '盐加密',
    `status`          char(1)  NULL DEFAULT '0' COMMENT '帐号状态（0正常 1停用）',
    `del_flag`        char(1)  NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
    `login_ip`        varchar(128)  NULL DEFAULT '' COMMENT '最后登录IP',
    `login_date`      datetime NULL DEFAULT NULL COMMENT '最后登录时间',
    `pwd_update_date` datetime NULL DEFAULT NULL COMMENT '密码最后更新时间',
    `remark`          varchar(500)  NULL DEFAULT NULL COMMENT '备注',
    `logo`            varchar(255)  NULL DEFAULT NULL COMMENT '用户自定义logo',
    `ext_num`         bigint                                                       NOT NULL DEFAULT 0 COMMENT '绑定的分机号',
    `create_by`       varchar(64)  NULL DEFAULT '' COMMENT '创建者',
    `create_time`     datetime                                                     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间',
    `update_by`       varchar(64)  NULL DEFAULT '' COMMENT '更新者',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `company_id`      bigint NULL DEFAULT NULL COMMENT '企业ID',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售ID',
    `gateway_ids`     varchar(255)  NULL DEFAULT NULL COMMENT '网关ids',
    `ext_pass`        varchar(64)   NULL DEFAULT NULL COMMENT '分机密码（SIP注册必需）',
    `user_code`       varchar(64)   NULL DEFAULT NULL COMMENT '分机绑定用户工号',
    `user_source`     varchar(2)    NULL DEFAULT '0' COMMENT '用户来源（0销售 1总后台）',
    `sys_user_id`     bigint        NULL DEFAULT NULL COMMENT '总后台用户ID',
    `sys_user_name`   varchar(64)   NULL DEFAULT NULL COMMENT '总后台用户账号',
    `company_name`    varchar(128)  NULL DEFAULT NULL COMMENT '销售公司名称',
    PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB  AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'sip用户信息表' ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Table structure for ai_sip_call_outbound_cdr
-- ----------------------------
DROP TABLE IF EXISTS `ai_sip_call_outbound_cdr`;
CREATE TABLE `ai_sip_call_outbound_cdr`
(
    `id`              varchar(30)  NOT NULL,
    `caller`          varchar(30)   NOT NULL COMMENT '主叫',
    `opnum`           varchar(50)   NOT NULL COMMENT '工号',
    `callee`          varchar(30)   NOT NULL COMMENT '被叫',
    `start_time`      bigint                                                        NOT NULL COMMENT '外呼开始时间',
    `answered_time`   bigint                                                        NOT NULL DEFAULT 0 COMMENT '被叫接听时间',
    `end_time`        bigint                                                        NOT NULL COMMENT '挂断时间',
    `uuid`            varchar(50)   NOT NULL DEFAULT '' COMMENT '通话UUID',
    `call_type`       varchar(10)   NOT NULL DEFAULT 'audio' COMMENT '音频或视频通话',
    `time_len`        int                                                           NOT NULL COMMENT '通话时长',
    `time_len_valid`  int                                                           NOT NULL COMMENT '有效通话时长',
    `record_filename` varchar(100)  NOT NULL COMMENT '录音文件名',
    `chat_content`    text  NULL COMMENT '对话内容',
    `hangup_cause`    varchar(50)   NOT NULL COMMENT '挂断原因',
    `wavfile`            varchar(255) NULL DEFAULT NULL COMMENT '录音文件URL',
    `source_type`        varchar(2)   NULL DEFAULT NULL COMMENT '外呼类型（0销售后台 1总后台）',
    `company_id`         bigint       NULL DEFAULT NULL COMMENT '销售公司ID',
    `company_user_id`    bigint       NULL DEFAULT NULL COMMENT '销售ID',
    `company_name`       varchar(128) NULL DEFAULT NULL COMMENT '销售公司名称',
    `company_user_name`  varchar(64)  NULL DEFAULT NULL COMMENT '销售账号',
    `sys_user_id`        bigint       NULL DEFAULT NULL COMMENT '总后台用户ID',
    `sys_user_name`      varchar(64)  NULL DEFAULT NULL COMMENT '总后台用户账号',
    `status`             tinyint      NULL DEFAULT 0    COMMENT '状态（0正常 1删除）',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Table structure for company_voice_robotic_call_blacklist
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_robotic_call_blacklist`;
CREATE TABLE `company_voice_robotic_call_blacklist`
(
    `id`            bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `business_type` varchar(32)  NULL DEFAULT NULL COMMENT '业务类型',
    `target_type`   tinyint                                                       NOT NULL COMMENT '对象类型: 1手机号 2客户ID 3企微客户ID',
    `target_value`  varchar(128)  NOT NULL COMMENT '对象值',
    `company_id`    bigint NULL DEFAULT NULL COMMENT '公司id',
    `reason`        varchar(255)  NULL DEFAULT NULL COMMENT '拉黑原因',
    `source`        tinyint                                                       NOT NULL DEFAULT 1 COMMENT '来源: 1手工添加 2系统',
    `status`        tinyint                                                       NOT NULL DEFAULT 1 COMMENT '状态: 1生效 0失效',
    `remark`        varchar(500)  NULL DEFAULT NULL COMMENT '备注',
    `create_by`     varchar(64)  NULL DEFAULT NULL COMMENT '创建人',
    `create_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`     varchar(64)  NULL DEFAULT NULL COMMENT '更新人',
    `update_time`   datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`       tinyint                                                       NOT NULL DEFAULT 0 COMMENT '逻辑删除',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX           `idx_company_target`(`company_id`, `target_type`, `target_value`) USING BTREE,
    INDEX           `idx_company_status_deleted`(`company_id`, `status`, `deleted`) USING BTREE,
    INDEX           `idx_business_type`(`business_type`) USING BTREE,
    INDEX           `idx_create_time`(`create_time`) USING BTREE,
    INDEX           `idx_target_value`(`target_value`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Table structure for crm_customer_analyze
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_analyze`;
CREATE TABLE `crm_customer_analyze`
(
    `id`                     bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `customer_id`            bigint NOT NULL COMMENT '客户id',
    `customer_name`          varchar(255)  NULL DEFAULT NULL COMMENT '客户姓名',
    `customer_portrait_json` varchar(2000)  NULL DEFAULT NULL COMMENT '客户画像',
    `communication_abstract` varchar(1000)  NULL DEFAULT NULL COMMENT '沟通摘要',
    `communication_summary`  varchar(1000)  NULL DEFAULT NULL COMMENT '沟通总结',
    `attrition_level`        tinyint NULL DEFAULT 0 COMMENT '流失风险等级 0:未知;1:无风险;2:低风险;3:中风险;4:高风险',
    `attrition_level_prompt` varchar(1000)  NULL DEFAULT NULL COMMENT '流失风险等级提示',
    `customer_focus_json`    varchar(1000)  NULL DEFAULT NULL COMMENT '客户关注点',
    `intention_degree`       varchar(10)  NULL DEFAULT NULL COMMENT '意向度',
    `ai_chat_record`         text  NULL COMMENT 'ai通话聊天记录',
    `create_time`            datetime NULL DEFAULT NULL COMMENT '创建时间',
    `remark`                 varchar(255)  NULL DEFAULT '' COMMENT '备注',
    `reserve_int`            bigint NULL DEFAULT 0 COMMENT '预留数字型字段',
    `reserve_str`            varchar(1000)  NULL DEFAULT '' COMMENT '预留字符串型字段',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX                    `idx_customer_id`(`customer_id`) USING BTREE,
    INDEX                    `idx_customer_time_id`(`customer_id`, `create_time`, `id`) USING BTREE,
    FULLTEXT                 INDEX `idx_ai_chat_record_fulltext`(`ai_chat_record`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Table structure for company_voice_clone_ref
-- ----------------------------
DROP TABLE IF EXISTS `company_voice_clone_ref`;
CREATE TABLE `company_voice_clone_ref`
(
    `id`              bigint  NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `company_id`      bigint  NOT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id',
    `tts_id`          int     NOT NULL COMMENT '音色表id，对应cc_tts_aliyun.id',
    `status`          tinyint NOT NULL DEFAULT 1 COMMENT '状态：1启用，0禁用',
    `del_flag`        tinyint NOT NULL DEFAULT 0 COMMENT '删除标志（0=正常，1=删除）',
    `create_by`       varchar(64)  NULL DEFAULT '' COMMENT '创建人',
    `create_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`       varchar(64) NULL DEFAULT '' COMMENT '更新人',
    `update_time`     datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `remark`          varchar(500)  NULL DEFAULT NULL COMMENT '备注',
    `voice_name`      varchar(255)  NULL DEFAULT NULL COMMENT '音色名称',
    `voice_code`      varchar(255)  NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `uk_company_tts`(`company_id`, `tts_id`) USING BTREE,
    INDEX             `idx_company_id`(`company_id`) USING BTREE,
    INDEX             `idx_tts_id`(`tts_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '公司音色关联表' ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for crm_customer_call_log
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_call_log`;
CREATE TABLE `crm_customer_call_log`
(
    `log_id`           bigint NOT NULL AUTO_INCREMENT,
    `customer_id`      bigint NULL DEFAULT NULL COMMENT '客户ID',
    `run_time`         datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`        text  NULL COMMENT '调用参数',
    `result`           text  NULL COMMENT '回调返回结果',
    `status`           tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `record_path`      varchar(1000)  NULL DEFAULT NULL COMMENT '录音地址',
    `content_list`     text  NULL COMMENT '通话详细列表',
    `caller_num`       varchar(50)  NULL DEFAULT NULL COMMENT '客户号码',
    `callee_num`       varchar(50)  NULL DEFAULT NULL COMMENT '话术号码',
    `uuid`             varchar(100)  NULL DEFAULT NULL COMMENT '通话的唯一标识',
    `call_create_time` bigint NULL DEFAULT NULL COMMENT '呼入时间',
    `call_answer_time` bigint NULL DEFAULT NULL COMMENT '应答时间',
    `intention`        varchar(255)  NULL DEFAULT NULL COMMENT '客户类型',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '销售id',
    `call_time`        int NULL DEFAULT NULL COMMENT '通话时长，单位秒',
    `cost`             decimal(10, 2) NULL DEFAULT NULL COMMENT '花费金额',
    `create_by`        varchar(255)  NULL DEFAULT NULL,
    `update_by`        varchar(255)  NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    `call_type`        int NULL DEFAULT NULL COMMENT '外呼类型',
    `billing_minute` int NULL DEFAULT NULL COMMENT '计费分钟数，单位分钟',
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX              `company_and_company_user_idx`(`company_id`, `company_user_id`) USING BTREE,
    INDEX              `customer_id_idx`(`customer_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Table structure for crm_customer_property
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_property`;
CREATE TABLE `crm_customer_property`
(
    `id`                  bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    `customer_id`         bigint NULL DEFAULT NULL COMMENT '客户ID',
    `property_id`         bigint NULL DEFAULT NULL COMMENT '字段ID',
    `property_name`       varchar(300)  NULL DEFAULT NULL COMMENT '字段名称',
    `property_value`      varchar(300)  NULL DEFAULT NULL COMMENT '字段内容',
    `property_value_type` varchar(300)  NULL DEFAULT NULL COMMENT '字段类型',
    `trade_type`          varchar(300)  NULL DEFAULT NULL COMMENT '行业类型',
    `ai_analysis`         longtext  NULL COMMENT '内容解析',
    `intention`           varchar(20)  NULL DEFAULT NULL COMMENT '意向登记：high-高意向，medium-中意向，low-低意向，none-无意向',
    `like_ratio`          int NULL DEFAULT NULL COMMENT '喜欢占比：0-100',
    `create_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `create_by`           varchar(300)  NULL DEFAULT NULL COMMENT '创建人',
    `update_time`         datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `update_by`           varchar(300)  NULL DEFAULT NULL COMMENT '修改人',
    `remark`              varchar(300)  NULL DEFAULT NULL COMMENT '备注',
    `deleted`             tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 0否 1是',
    `delete_by`           varchar(300)  NULL DEFAULT NULL COMMENT '删除人',
    `delete_time`         datetime NULL DEFAULT NULL COMMENT '删除时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;


-- ----------------------------
-- Table structure for company_extension_bind
-- ----------------------------
DROP TABLE IF EXISTS `company_extension_bind`;
CREATE TABLE `company_extension_bind`
(
    `id`              bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `company_id`      bigint NOT NULL COMMENT '公司id',
    `company_user_id` bigint NULL DEFAULT NULL COMMENT '销售id（为空时没有绑定）',
    `extension_num`   varchar(50) NULL DEFAULT NULL COMMENT '分机号码',
    `extension_pass`  varchar(50) NULL DEFAULT NULL COMMENT '分机密码',
    `ext_id`          int NULL DEFAULT NULL COMMENT 'easycall使用字段-流水编号',
    `user_code`       varchar(32) NULL DEFAULT NULL COMMENT 'easycall使用字段-所属员工/绑定关系',
    `create_time`     datetime NULL DEFAULT NULL,
    `create_by`       varchar(255) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX             `company_company_user_idx`(`company_id`, `company_user_id`) USING BTREE,
    INDEX             `company_extension_idx`(`company_id`, `extension_num`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for crm_customer_call_app_log
-- ----------------------------
DROP TABLE IF EXISTS `crm_customer_call_app_log`;
CREATE TABLE `crm_customer_call_app_log`
(
    `log_id`           bigint NOT NULL AUTO_INCREMENT,
    `customer_id`      bigint NULL DEFAULT NULL COMMENT '客户ID',
    `run_time`         datetime NULL DEFAULT NULL COMMENT '记录调用时间',
    `run_param`        text  NULL COMMENT '调用参数',
    `result`           text  NULL COMMENT '回调返回结果',
    `status`           tinyint NULL DEFAULT NULL COMMENT '执行状态：1、执行中，2、执行成功，3、执行失败',
    `create_time`      datetime NULL DEFAULT NULL COMMENT '创建时间',
    `record_path`      varchar(1000)  NULL DEFAULT NULL COMMENT '录音地址',
    `content_list`     text  NULL COMMENT '通话详细列表',
    `caller_num`       varchar(50)  NULL DEFAULT NULL COMMENT '客户号码',
    `callee_num`       varchar(50)  NULL DEFAULT NULL COMMENT '话术号码',
    `uuid`             varchar(100)  NULL DEFAULT NULL COMMENT '通话的唯一标识',
    `call_create_time` bigint NULL DEFAULT NULL COMMENT '呼入时间',
    `call_answer_time` bigint NULL DEFAULT NULL COMMENT '应答时间',
    `intention`        varchar(255)  NULL DEFAULT NULL COMMENT '客户类型',
    `company_id`       int NULL DEFAULT NULL COMMENT '公司id',
    `company_user_id`  bigint NULL DEFAULT NULL COMMENT '销售id',
    `call_time`        int NULL DEFAULT NULL COMMENT '通话时长，单位秒',
    `cost`             decimal(10, 2) NULL DEFAULT NULL COMMENT '花费金额',
    `create_by`        varchar(255)  NULL DEFAULT NULL,
    `update_by`        varchar(255)  NULL DEFAULT NULL,
    `update_time`      datetime NULL DEFAULT NULL,
    PRIMARY KEY (`log_id`) USING BTREE,
    INDEX              `company_and_company_user_idx`(`company_id`, `company_user_id`) USING BTREE,
    INDEX              `customer_id_idx`(`customer_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

ALTER TABLE company_user ADD COLUMN mp_subscribed INT(1) DEFAULT 0 COMMENT '是否已订阅公众号通知 (0未订阅 1已订阅)';

CREATE TABLE IF NOT EXISTS lobster_workflow_node_type (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
    node_type INT NOT NULL COMMENT '节点类型编码',
    node_name VARCHAR(100) NOT NULL COMMENT '节点名称',
    code_name VARCHAR(100) NOT NULL COMMENT '英文标识',
    description TEXT COMMENT '节点描述/AI生成时的能力说明',
    category VARCHAR(50) NOT NULL DEFAULT 'core' COMMENT '分类：core-核心节点, extended-扩展节点, external-外部节点, custom-自定义节点',
    icon VARCHAR(200) COMMENT '图标路径',
    color VARCHAR(20) COMMENT '节点颜色',
    template_json TEXT COMMENT '节点配置模板JSON',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用',
    sort_order INT NOT NULL DEFAULT 0 COMMENT '排序号',
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    UNIQUE KEY uk_node_type (node_type),
    UNIQUE KEY uk_code_name (code_name)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='龙虾工作流节点类型配置表';


DROP TABLE IF EXISTS `lobster_channel_type_registry`;
CREATE TABLE `lobster_channel_type_registry`
(
    `id`             bigint      NOT NULL AUTO_INCREMENT,
    `channel_type`   varchar(30) NOT NULL,
    `display_name`   varchar(100) DEFAULT NULL,
    `source_table`   varchar(100) DEFAULT NULL COMMENT '平台用户表名',
    `user_id_column` varchar(100) DEFAULT NULL COMMENT '用户ID列名',
    `enabled`        tinyint      DEFAULT '1',
    `create_time`    datetime     DEFAULT CURRENT_TIMESTAMP,
    `update_time`    datetime     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    UNIQUE KEY `channel_type` (`channel_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

DROP TABLE IF EXISTS `lobster_learning_corpus`;
CREATE TABLE `lobster_learning_corpus`
(
    `id`                BIGINT NOT NULL AUTO_INCREMENT,
    `company_id`        BIGINT NOT NULL COMMENT '租户ID',
    `salesperson_name`  VARCHAR(100) DEFAULT NULL COMMENT '销售人员姓名',
    `customer_question` TEXT         DEFAULT NULL COMMENT '客户问题',
    `sales_answer`      TEXT         DEFAULT NULL COMMENT '销售回答',
    `scenario`          VARCHAR(100) DEFAULT NULL COMMENT '场景',
    `industry_type`     VARCHAR(50)  DEFAULT NULL COMMENT '行业类型',
    `tags`              VARCHAR(500) DEFAULT NULL COMMENT '标签(逗号分隔)',
    `status`            VARCHAR(20)  DEFAULT 'raw' COMMENT 'raw=原始/analyzed=已分析',
    `ai_analysis`       TEXT         DEFAULT NULL COMMENT 'AI分析结果',
    `usage_count`       INT          DEFAULT 0 COMMENT '引用次数',
    `analyze_time`      DATETIME     DEFAULT NULL COMMENT '分析时间',
    `create_time`       DATETIME     DEFAULT CURRENT_TIMESTAMP,
    `update_time`       DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY                 `idx_company_status` (`company_id`, `status`),
    KEY                 `idx_company_scenario` (`company_id`, `scenario`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售对话语料学习表';
SET
FOREIGN_KEY_CHECKS = 1;

DROP TABLE IF EXISTS `fs_course_coupon`;
CREATE TABLE `fs_course_coupon` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `limit_time` datetime DEFAULT NULL COMMENT '有效期',
  `number` int DEFAULT NULL COMMENT '数量',
  `remain_number` int DEFAULT '0' COMMENT '剩余数量',
  `status` int DEFAULT NULL COMMENT '状态',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `limit_day` int DEFAULT '1' COMMENT '领取后有效期',
  `limit_type` int DEFAULT '1' COMMENT '有效期类别 1 过期时间 2 领取后有效期',
  `limit_count` int DEFAULT NULL COMMENT '每人可领取数量',
  `title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '标题',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='课程优惠券';
