-- 1、消息体
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message`
(
    `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'sid',
    `lockVersion` int(32) NULL DEFAULT 0 COMMENT '版本锁',
    `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(消息产生时间)',
    `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable` int(32) NULL DEFAULT 1 COMMENT '是否可用：1可用，0不可用',
    `state` int(32) NULL DEFAULT 1 COMMENT '状态',
    `isDelete` int(32) NULL DEFAULT 0 COMMENT '是否删除：0未删除，1已删除',
    `remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
    `createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid',
    `updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid',
    `msgTypeSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类别Sid',
    `msgType` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类别名称',
    `msgTitle` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息标题',
    `msgContent` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息内容',
    `msgSource` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源（资源名称）',
    `senderSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送人sid',
    `senderName` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发起人姓名',
    `senderDeptSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送人部门Id',
    `senderDeptName` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发起人部门名称',
    `businessSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '业务Id（扩展字段，与工作相关）',
    `moduleSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '插件Sid',
    `moduleAction` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '具体页面action',
    `app_type` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '0.内置Activity  1.内置WebView  2.RePlugin插件',
    `args_json` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数（规则），json类型的传参（必须为 string、string）',
    `h5_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标网页地址',
    `xcx_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小程序页面地址',
    `msgTargetUri` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推送的消息打开的action（APP），推送参数对应class_name',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `id`(`id`) USING BTREE
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息体';

-- 2、消息列表
DROP TABLE IF EXISTS `message_list`;
CREATE TABLE `message_list`
(
    `id`               int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`              varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion`      int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`       timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(发送时间)',
    `modifyTime`       timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间(阅读时间)',
    `isEnable`         int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`            int(32)              DEFAULT '1' COMMENT '状态(阅读状态，0未阅，1已阅)',
    `isDelete`         int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`          varchar(255)         DEFAULT NULL COMMENT '备注',
    `createBySid`      varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid`      varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `msgSid`           varchar(64)          DEFAULT NULL COMMENT '消息sid',
    `receiverSid`      varchar(64)          DEFAULT NULL COMMENT '接收人sid',
    `receiverName`     varchar(64)          DEFAULT NULL COMMENT '接收人姓名',
    `receiverDeptSid`  varchar(64)          DEFAULT NULL COMMENT '接收人部门sid',
    `receiverDeptName` varchar(64)          DEFAULT NULL COMMENT '接收人部门名称',
    `rDelStatus`       int(32)              DEFAULT NULL COMMENT '接收人删除状态',
    `sDelStatus`       int(32)              DEFAULT NULL COMMENT '发送人删除状态',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息列表';

-- 3、消息回复
DROP TABLE IF EXISTS `message_reply`;
CREATE TABLE `message_reply`
(
    `id`              int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`             varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion`     int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`      timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(回复时间)',
    `modifyTime`      timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable`        int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`           int(32)              DEFAULT '1' COMMENT '状态',
    `isDelete`        int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`         varchar(255)         DEFAULT NULL COMMENT '备注',
    `createBySid`     varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid`     varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `msgSid`          varchar(64)          DEFAULT NULL COMMENT '消息体Id',
    `replyConent`     varchar(64)          DEFAULT NULL COMMENT '回复内容',
    `replyPersonName` varchar(32)          DEFAULT NULL COMMENT '回复人姓名',
    `replyUserSid`    varchar(64)          DEFAULT NULL COMMENT '回复用户sid',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息回复';

-- 4、消息附件
DROP TABLE IF EXISTS `message_file`;
CREATE TABLE `message_file`
(
    `id`          int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`         varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion` int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `modifyTime`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable`    int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`       int(32)              DEFAULT '1' COMMENT '状态',
    `isDelete`    int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`     varchar(255)         DEFAULT NULL COMMENT '备注',
    `createBySid` varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid` varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `msgSid`      varchar(64)          DEFAULT NULL COMMENT '消息体Id',
    `fileName`    varchar(64)          DEFAULT NULL COMMENT '名称',
    `fileType`    varchar(64)          DEFAULT NULL COMMENT '文件类型',
    `filePath`    varchar(500)         DEFAULT NULL COMMENT '路径',
    `attachType`  varchar(64)          DEFAULT NULL COMMENT '附件类型',
    `fileSize`    int(32)              DEFAULT NULL COMMENT '文件大小 K',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息附件';

-- 5、提醒规则
DROP TABLE IF EXISTS `message_remindRule`;
CREATE TABLE `message_remindRule`
(
    `id`          int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`         varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion` int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `modifyTime`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable`    int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`       int(32)              DEFAULT '1' COMMENT '状态',
    `isDelete`    int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`     varchar(255)         DEFAULT NULL COMMENT '备注(提醒方式)',
    `createBySid` varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid` varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `ruleCode`    varchar(64)          DEFAULT NULL COMMENT '代码',
    `rules`       int(32)              DEFAULT NULL COMMENT '提前提醒0,超期循环提醒1，循环提醒2',
    `remindWay`   int(32)              DEFAULT NULL COMMENT '系统消息0,手机短信1',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='提醒规则';

-- 6、消息转发记录
DROP TABLE IF EXISTS `message_forwardList`;
CREATE TABLE `message_forwardList`
(
    `id`            int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`           varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion`   int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`    timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `modifyTime`    timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable`      int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`         int(32)              DEFAULT '1' COMMENT '状态',
    `isDelete`      int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`       varchar(255)         DEFAULT NULL COMMENT '备注',
    `createBySid`   varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid`   varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `msgSid`        varchar(64)          DEFAULT NULL COMMENT '消息Id',
    `forwardTime`   timestamp            DEFAULT NULL COMMENT '转发时间',
    `forwardPerson` varchar(64)          DEFAULT NULL COMMENT '转发人',
    `forwordMsgSid` varchar(64)          DEFAULT NULL COMMENT '转发的新消息ID',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息转发记录';

-- 7、消息类别
DROP TABLE IF EXISTS `message_type`;
CREATE TABLE `message_type`
(
    `id`           int(32)     NOT NULL AUTO_INCREMENT COMMENT 'id',
    `sid`          varchar(64) NOT NULL COMMENT 'sid',
    `lockVersion`  int(32)              DEFAULT '0' COMMENT '版本锁',
    `createTime`   timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `modifyTime`   timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `isEnable`     int(32)              DEFAULT '1' COMMENT '是否可用：1可用，0不可用',
    `state`        int(32)              DEFAULT '1' COMMENT '状态',
    `isDelete`     int(32)              DEFAULT '0' COMMENT '是否删除：0未删除，1已删除',
    `remarks`      varchar(255)         DEFAULT NULL COMMENT '备注',
    `createBySid`  varchar(64)          DEFAULT NULL COMMENT '创建人sid',
    `updateBySid`  varchar(64)          DEFAULT NULL COMMENT '修改人sid',
    `msgType`      varchar(64)          DEFAULT NULL COMMENT '消息类别名称',
    `crossIconUrl` varchar(64)          DEFAULT NULL COMMENT '横排消息类别图标',
    `longIconUrl`  varchar(64)          DEFAULT NULL COMMENT '纵排消息类别图标',
    `sort`         int(32)              DEFAULT NULL COMMENT '排序',
    `identifier`   varchar(64)          DEFAULT NULL COMMENT '消息标识：0001为小程序、0002为app',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
) ENGINE = INNODB
  DEFAULT CHARSET = utf8 COMMENT ='消息类别';



