-- IM 模块 MySQL 表结构
|
-- 基于 yudao-module-im 模块实体类提取
|
-- 生成时间: 2026-06-30
|
|
-- ========================================
|
-- 1. im_channel - IM 频道表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_channel`;
|
CREATE TABLE `im_channel` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`code` VARCHAR(64) NOT NULL COMMENT '频道业务码',
|
`name` VARCHAR(128) NOT NULL COMMENT '频道名称',
|
`avatar` VARCHAR(512) DEFAULT NULL COMMENT '频道头像',
|
`sort` INT DEFAULT 0 COMMENT '排序',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0正常 1禁用)',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_code` (`code`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 频道表';
|
|
-- ========================================
|
-- 2. im_channel_material - IM 频道素材表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_channel_material`;
|
CREATE TABLE `im_channel_material` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`channel_id` BIGINT NOT NULL COMMENT '频道编号',
|
`type` TINYINT NOT NULL COMMENT '素材内容类型',
|
`title` VARCHAR(256) NOT NULL COMMENT '标题',
|
`cover_url` VARCHAR(512) DEFAULT NULL COMMENT '封面图',
|
`summary` VARCHAR(1024) DEFAULT NULL COMMENT '摘要',
|
`content` TEXT DEFAULT NULL COMMENT '富文本 HTML',
|
`url` VARCHAR(512) DEFAULT NULL COMMENT '跳转链接',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_channel_id` (`channel_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 频道素材表';
|
|
-- ========================================
|
-- 3. im_conversation_read - IM 会话读位置表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_conversation_read`;
|
CREATE TABLE `im_conversation_read` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`user_id` BIGINT NOT NULL COMMENT '用户编号',
|
`conversation_type` TINYINT NOT NULL COMMENT '会话类型(1私聊 2群聊 3频道)',
|
`target_id` BIGINT NOT NULL COMMENT '目标编号',
|
`message_id` BIGINT NOT NULL COMMENT '最大已读消息编号',
|
`read_time` DATETIME DEFAULT NULL COMMENT '最近已读时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_user_conv` (`user_id`, `conversation_type`, `target_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 会话读位置表';
|
|
-- ========================================
|
-- 4. im_face_pack - IM 表情包表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_face_pack`;
|
CREATE TABLE `im_face_pack` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`name` VARCHAR(128) NOT NULL COMMENT '表情包名称',
|
`icon` VARCHAR(512) DEFAULT NULL COMMENT '表情包图标',
|
`sort` INT DEFAULT 0 COMMENT '排序',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0正常 1禁用)',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 表情包表';
|
|
-- ========================================
|
-- 5. im_face_pack_item - IM 表情包项表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_face_pack_item`;
|
CREATE TABLE `im_face_pack_item` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`pack_id` BIGINT NOT NULL COMMENT '所属表情包编号',
|
`url` VARCHAR(512) NOT NULL COMMENT '表情图 URL',
|
`name` VARCHAR(64) DEFAULT NULL COMMENT '表情名',
|
`width` INT DEFAULT NULL COMMENT '渲染宽度(像素)',
|
`height` INT DEFAULT NULL COMMENT '渲染高度(像素)',
|
`sort` INT DEFAULT 0 COMMENT '排序',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0正常 1禁用)',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_pack_id` (`pack_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 表情包项表';
|
|
-- ========================================
|
-- 6. im_face_user_item - IM 用户私有表情表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_face_user_item`;
|
CREATE TABLE `im_face_user_item` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`user_id` BIGINT NOT NULL COMMENT '所属用户编号',
|
`url` VARCHAR(512) NOT NULL COMMENT '表情图 URL',
|
`name` VARCHAR(64) DEFAULT NULL COMMENT '表情名',
|
`width` INT DEFAULT NULL COMMENT '渲染宽度(像素)',
|
`height` INT DEFAULT NULL COMMENT '渲染高度(像素)',
|
`sort` INT DEFAULT 0 COMMENT '排序',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_user_id` (`user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 用户私有表情表';
|
|
-- ========================================
|
-- 7. im_friend - IM 好友关系表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_friend`;
|
CREATE TABLE `im_friend` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`user_id` BIGINT NOT NULL COMMENT '用户编号',
|
`friend_user_id` BIGINT NOT NULL COMMENT '好友用户编号',
|
`silent` BIT(1) DEFAULT b'0' COMMENT '是否免打扰',
|
`display_name` VARCHAR(128) DEFAULT NULL COMMENT '好友展示备注',
|
`add_source` TINYINT DEFAULT NULL COMMENT '添加来源',
|
`pinned` BIT(1) DEFAULT b'0' COMMENT '是否置顶联系人',
|
`blocked` BIT(1) DEFAULT b'0' COMMENT '是否拉黑',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '好友状态(0正常 1禁用/已删除)',
|
`add_time` DATETIME DEFAULT NULL COMMENT '添加好友时间',
|
`delete_time` DATETIME DEFAULT NULL COMMENT '删除好友时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_user_friend` (`user_id`, `friend_user_id`),
|
KEY `idx_friend_user_id` (`friend_user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 好友关系表';
|
|
-- ========================================
|
-- 8. im_friend_request - IM 好友申请记录表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_friend_request`;
|
CREATE TABLE `im_friend_request` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`from_user_id` BIGINT NOT NULL COMMENT '发起方用户编号',
|
`to_user_id` BIGINT NOT NULL COMMENT '接收方用户编号',
|
`apply_content` VARCHAR(256) DEFAULT NULL COMMENT '申请理由',
|
`display_name` VARCHAR(128) DEFAULT NULL COMMENT '发起方对接收方的备注',
|
`add_source` TINYINT DEFAULT NULL COMMENT '添加来源',
|
`handle_result` TINYINT DEFAULT NULL COMMENT '处理结果',
|
`handle_content` VARCHAR(256) DEFAULT NULL COMMENT '处理理由',
|
`handle_time` DATETIME DEFAULT NULL COMMENT '处理时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_from_user_id` (`from_user_id`),
|
KEY `idx_to_user_id` (`to_user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 好友申请记录表';
|
|
-- ========================================
|
-- 9. im_group - IM 群信息表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_group`;
|
CREATE TABLE `im_group` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`name` VARCHAR(128) NOT NULL COMMENT '群名称',
|
`owner_user_id` BIGINT NOT NULL COMMENT '群主用户编号',
|
`avatar` VARCHAR(512) DEFAULT NULL COMMENT '群头像',
|
`notice` VARCHAR(1024) DEFAULT NULL COMMENT '群公告',
|
`join_approval` BIT(1) DEFAULT b'0' COMMENT '进群是否需审批',
|
`banned` BIT(1) DEFAULT b'0' COMMENT '是否封禁',
|
`banned_reason` VARCHAR(256) DEFAULT NULL COMMENT '封禁原因',
|
`banned_time` DATETIME DEFAULT NULL COMMENT '封禁时间',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '群状态(0正常 1已解散)',
|
`dissolved_time` DATETIME DEFAULT NULL COMMENT '解散时间',
|
`muted_all` BIT(1) DEFAULT b'0' COMMENT '是否全群禁言',
|
`pinned_message_ids` VARCHAR(1024) DEFAULT NULL COMMENT '群置顶消息编号列表',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_owner_user_id` (`owner_user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 群信息表';
|
|
-- ========================================
|
-- 10. im_group_member - IM 群成员表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_group_member`;
|
CREATE TABLE `im_group_member` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`group_id` BIGINT NOT NULL COMMENT '群编号',
|
`user_id` BIGINT NOT NULL COMMENT '用户编号',
|
`display_user_name` VARCHAR(128) DEFAULT NULL COMMENT '组内显示名',
|
`group_remark` VARCHAR(256) DEFAULT NULL COMMENT '群备注',
|
`silent` BIT(1) DEFAULT b'0' COMMENT '是否免打扰',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '成员状态(0正常 1禁用)',
|
`role` TINYINT NOT NULL DEFAULT 0 COMMENT '成员角色(0普通成员 1管理员 2群主)',
|
`join_time` DATETIME DEFAULT NULL COMMENT '入群时间',
|
`add_source` TINYINT DEFAULT NULL COMMENT '加入来源',
|
`inviter_user_id` BIGINT DEFAULT NULL COMMENT '邀请人用户编号',
|
`quit_time` DATETIME DEFAULT NULL COMMENT '退群时间',
|
`mute_end_time` DATETIME DEFAULT NULL COMMENT '禁言到期时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_group_user` (`group_id`, `user_id`),
|
KEY `idx_user_id` (`user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 群成员表';
|
|
-- ========================================
|
-- 11. im_group_request - IM 加群申请记录表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_group_request`;
|
CREATE TABLE `im_group_request` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`group_id` BIGINT NOT NULL COMMENT '群编号',
|
`user_id` BIGINT NOT NULL COMMENT '申请人/被邀请人用户编号',
|
`inviter_user_id` BIGINT DEFAULT NULL COMMENT '邀请人用户编号',
|
`apply_content` VARCHAR(256) DEFAULT NULL COMMENT '申请理由',
|
`add_source` TINYINT DEFAULT NULL COMMENT '加入来源',
|
`handle_result` TINYINT DEFAULT NULL COMMENT '处理结果',
|
`handle_user_id` BIGINT DEFAULT NULL COMMENT '处理人用户编号',
|
`handle_content` VARCHAR(256) DEFAULT NULL COMMENT '处理理由',
|
`handle_time` DATETIME DEFAULT NULL COMMENT '处理时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_group_id` (`group_id`),
|
KEY `idx_user_id` (`user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 加群申请记录表';
|
|
-- ========================================
|
-- 12. im_channel_message - IM 频道消息表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_channel_message`;
|
CREATE TABLE `im_channel_message` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`channel_id` BIGINT NOT NULL COMMENT '频道编号',
|
`material_id` BIGINT DEFAULT NULL COMMENT '关联素材编号',
|
`type` TINYINT NOT NULL COMMENT '消息类型',
|
`content` TEXT DEFAULT NULL COMMENT '消息内容 JSON',
|
`receiver_user_ids` VARCHAR(1024) DEFAULT NULL COMMENT '接收人编号列表',
|
`send_time` DATETIME DEFAULT NULL COMMENT '发送时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_channel_id` (`channel_id`),
|
KEY `idx_send_time` (`send_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 频道消息表';
|
|
-- ========================================
|
-- 13. im_group_message - IM 群聊消息表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_group_message`;
|
CREATE TABLE `im_group_message` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`client_message_id` VARCHAR(64) DEFAULT NULL COMMENT '客户端消息编号',
|
`sender_id` BIGINT NOT NULL COMMENT '发送人编号',
|
`group_id` BIGINT NOT NULL COMMENT '群编号',
|
`type` TINYINT NOT NULL COMMENT '消息类型',
|
`content` TEXT DEFAULT NULL COMMENT '消息内容 JSON',
|
`status` TINYINT DEFAULT NULL COMMENT '消息状态',
|
`send_time` DATETIME DEFAULT NULL COMMENT '发送时间',
|
`receiver_user_ids` VARCHAR(1024) DEFAULT NULL COMMENT '定向接收用户编号列表',
|
`at_user_ids` VARCHAR(1024) DEFAULT NULL COMMENT '@目标用户编号列表',
|
`receipt_status` TINYINT DEFAULT NULL COMMENT '回执状态',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_client_message_id` (`client_message_id`),
|
KEY `idx_group_id` (`group_id`),
|
KEY `idx_sender_id` (`sender_id`),
|
KEY `idx_send_time` (`send_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 群聊消息表';
|
|
-- ========================================
|
-- 14. im_private_message - IM 私聊消息表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_private_message`;
|
CREATE TABLE `im_private_message` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`client_message_id` VARCHAR(64) DEFAULT NULL COMMENT '客户端消息编号',
|
`sender_id` BIGINT NOT NULL COMMENT '发送人编号',
|
`receiver_id` BIGINT NOT NULL COMMENT '接收人编号',
|
`type` TINYINT NOT NULL COMMENT '消息类型',
|
`content` TEXT DEFAULT NULL COMMENT '消息内容 JSON',
|
`status` TINYINT DEFAULT NULL COMMENT '消息状态',
|
`receipt_status` TINYINT DEFAULT NULL COMMENT '回执状态',
|
`send_time` DATETIME DEFAULT NULL COMMENT '发送时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_client_message_id` (`client_message_id`),
|
KEY `idx_sender_id` (`sender_id`),
|
KEY `idx_receiver_id` (`receiver_id`),
|
KEY `idx_send_time` (`send_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 私聊消息表';
|
|
-- ========================================
|
-- 15. im_rtc_call - IM 通话记录表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_rtc_call`;
|
CREATE TABLE `im_rtc_call` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`room` VARCHAR(64) NOT NULL COMMENT '业务通话编号(UUID)',
|
`conversation_type` TINYINT NOT NULL COMMENT '会话类型',
|
`media_type` TINYINT NOT NULL COMMENT '媒体类型',
|
`inviter_user_id` BIGINT NOT NULL COMMENT '发起人用户编号',
|
`group_id` BIGINT DEFAULT NULL COMMENT '群编号',
|
`status` TINYINT NOT NULL COMMENT '通话状态',
|
`end_reason` TINYINT DEFAULT NULL COMMENT '结束原因',
|
`start_time` DATETIME DEFAULT NULL COMMENT '发起时间',
|
`accept_time` DATETIME DEFAULT NULL COMMENT '接通时间',
|
`end_time` DATETIME DEFAULT NULL COMMENT '通话结束时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_room` (`room`),
|
KEY `idx_inviter_user_id` (`inviter_user_id`),
|
KEY `idx_group_id` (`group_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 通话记录表';
|
|
-- ========================================
|
-- 16. im_rtc_participant - IM 通话参与者表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_rtc_participant`;
|
CREATE TABLE `im_rtc_participant` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`call_id` BIGINT NOT NULL COMMENT '通话编号',
|
`room` VARCHAR(64) NOT NULL COMMENT '业务通话编号',
|
`user_id` BIGINT NOT NULL COMMENT '参与者用户编号',
|
`role` TINYINT NOT NULL COMMENT '参与角色',
|
`status` TINYINT NOT NULL COMMENT '参与状态',
|
`invite_time` DATETIME DEFAULT NULL COMMENT '被邀请时间',
|
`accept_time` DATETIME DEFAULT NULL COMMENT '接听时间',
|
`leave_time` DATETIME DEFAULT NULL COMMENT '离开时间',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
KEY `idx_call_id` (`call_id`),
|
KEY `idx_room` (`room`),
|
KEY `idx_user_id` (`user_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 通话参与者表';
|
|
-- ========================================
|
-- 17. im_sensitive_word - IM 敏感词表
|
-- ========================================
|
DROP TABLE IF EXISTS `im_sensitive_word`;
|
CREATE TABLE `im_sensitive_word` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`word` VARCHAR(128) NOT NULL COMMENT '敏感词',
|
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0正常 1禁用)',
|
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_word` (`word`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM 敏感词表';
|