在线客服系统实现客服群组对接单个访客-群聊消息数据库表设计-vx llike620

数据库表设计

DROP TABLE IF EXISTS `member`;
CREATE TABLE `member` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(125) NOT NULL DEFAULT '' COMMENT '账户',
    `password` varchar(50) NOT NULL DEFAULT '' COMMENT '密码,md5加密',
    `nickname` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称',
    `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updated_at` DATETIME NULL DEFAULT NULL COMMENT '更新时间',
    `avator` varchar(500) NOT NULL DEFAULT '' COMMENT '头像',
    `online_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '在线状态,1在线,2离线',
    `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '开启状态,0正常,1关闭',
    `email` varchar(125) NOT NULL DEFAULT '' COMMENT '绑定邮箱',
    `tel` varchar(125) NOT NULL DEFAULT '' COMMENT '绑定手机',
    `uuid` varchar(125) NOT NULL DEFAULT '' COMMENT 'uuid',
 PRIMARY KEY (`id`) COMMENT '自增主键索引',
 UNIQUE KEY `idx_name` (`name`) COMMENT '账户唯一索引',
 KEY `idx_tel` (`tel`) COMMENT '手机号索引',
 KEY `idx_email` (`email`) COMMENT '邮箱索引',
 KEY `idx_uuid` (`uuid`) COMMENT 'uuid索引',
 KEY `idx_updated_at` (`updated_at`) COMMENT '更新时间索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '成员表';
DROP TABLE IF EXISTS `chat_group`;
CREATE TABLE chat_group (
    `id` INT NOT NULL AUTO_INCREMENT,
    `ent_id` varchar(100) NOT NULL DEFAULT ''  COMMENT '企业ID',
    `member_id` varchar(500) NOT NULL DEFAULT ''  COMMENT '成员ID',
    `group_name` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群名称',
    `uuid` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '唯一ID',
    `member_type` tinyint(4) NOT NULL DEFAULT 2 COMMENT '成员类型,1管理,2成员',
    `unread` int(11) NOT NULL DEFAULT '0' COMMENT '未读消息数',
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `uuid` (`uuid`)  COMMENT '唯一ID索引',
    KEY `member_id` (`member_id`)  COMMENT '成员ID索引',
    KEY `ent_id` (`ent_id`)  COMMENT '企业ID索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群(写扩散)';
DROP TABLE IF EXISTS `group_member`;
CREATE TABLE group_member (
    `id` INT NOT NULL AUTO_INCREMENT,
    `ent_id` varchar(100) NOT NULL DEFAULT ''  COMMENT '企业ID',
    `member_id` varchar(500) NOT NULL DEFAULT ''  COMMENT '成员ID',
    `member_name` varchar(500) NOT NULL DEFAULT ''  COMMENT '成员名称',
    `member_avatar` varchar(500) NOT NULL DEFAULT ''  COMMENT '成员头像',
    `group_id` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群ID',
    `member_type` tinyint(4) NOT NULL DEFAULT 2 COMMENT '成员类型,1管理,2成员',
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `group_id` (`group_id`)  COMMENT '群ID索引',
    KEY `member_id` (`member_id`)  COMMENT '成员ID索引',
    KEY `ent_id` (`ent_id`)  COMMENT '企业ID索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群成员(写扩散)';
DROP TABLE IF EXISTS `group_message`;
CREATE TABLE group_message (
    `id` INT NOT NULL AUTO_INCREMENT,
    `ent_id` varchar(100) NOT NULL DEFAULT ''  COMMENT '企业ID',
    `sender` varchar(500) NOT NULL DEFAULT ''  COMMENT '发送成员ID',
    `sender_name` varchar(500) NOT NULL DEFAULT ''  COMMENT '发送成员名称',
    `sender_avatar` varchar(500) NOT NULL DEFAULT ''  COMMENT '发送成员头像',
    `group_id` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '群ID',
    `message_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '消息类型,1消息,2通知',
    `message_content` TEXT DEFAULT NULL COMMENT '消息内容',
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `group_id` (`group_id`)  COMMENT '群ID索引',
    KEY `sender` (`sender`)  COMMENT '发送成员ID索引',
    KEY `ent_id` (`ent_id`)  COMMENT '企业ID索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '聊天群消息(读扩散)';

适当数据冗余,实现都扩散和写扩散的结合

 

posted @ 2024-11-18 12:29  唯一客服系统开发笔记  阅读(67)  评论(0)    收藏  举报