IMAdmin
功能
后台管理员表
建表语句
CREATE TABLE `IMAdmin` (
`id` mediumint(6) unsigned NOT NULL AUTO_INCREMENT,
`uname` varchar(40) NOT NULL COMMENT '用户名',
`pwd` char(32) NOT NULL COMMENT '经过md5加密的密码',
`status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '用户状态 0 :正常 1:删除 可扩展',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
字段说明
id 管理员id,自增,唯一。
uname 用户名。
pwd 密码,经过md5加密的密码。
status 状态,0正常,1删除。
created 创建时间。
updated 更新时间。
IMAudio
功能
存储语音地址
建表语句
CREATE TABLE `IMAudio` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fromId` int(11) unsigned NOT NULL COMMENT '发送者Id',
`toId` int(11) unsigned NOT NULL COMMENT '接收者Id',
`path` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '语音存储的地址',
`size` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文件大小',
`duration` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '语音时长',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_fromId_toId` (`fromId`,`toId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
字段说明
id 语音id,自增,唯一。
fromId 发送语音用户id。
toId 接收语音用户id。
path 语音存储的路径。
size 语音文件大小。
duration 语音时长。
created 创建时间。
IMDepart
功能
存储部门信息
建表语句
CREATE TABLE `IMDepart` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '部门id',
`departName` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '部门名称',
`priority` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '显示优先级',
`parentId` int(11) unsigned NOT NULL COMMENT '上级部门id',
`status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_departName` (`departName`),
KEY `idx_priority_status` (`priority`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
字段说明
id 部门id,自增,唯一。
departName 部门名称
priority 部门显示优先级,相同的优先级按照拼音先后显示
parentId 父部门id
status 状态,0表示正常
created 创建时间
updated 更新时间
IMDiscovery
功能
发现配置表
建表语句
CREATE TABLE `IMDiscovery` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`itemName` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '名称',
`itemUrl` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT 'URL',
`itemPriority` int(11) unsigned NOT NULL COMMENT '显示优先级',
`status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_itemName` (`itemName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
字段说明
id 发现项id,自增,唯一。
itemName 发现项名称。
iteamUrl 发现项url连接。
iteamPriority 发现项显示优先级。
status 状态。
created 创建时间。
updated 更新时间。
IMGroup
功能
群组表
建表语句
CREATE TABLE `IMGroup` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(256) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '群名称',
`avatar` varchar(256) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '群头像',
`creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者用户id',
`type` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '群组类型,1-固定;2-临时群',
`userCnt` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '成员人数',
`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '是否删除,0-正常,1-删除',
`version` int(11) unsigned NOT NULL DEFAULT '1' COMMENT '群版本号',
`lastChated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后聊天时间',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`(191)),
KEY `idx_creator` (`creator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='IM群信息'
字段说明
id 群组id,自增,唯一。
name 群组名称。
avatar 群组头像,目前没用,群组头像是客户端自己合成的。
creator 群主。
type 群类型,是临时群,还是固定群。
userCnt 群成员数目。
status 状态。
version 群信息版本。
lastChated 最后聊天时间。
created 创建时间。
updated 最后更新时间。
IMGroupMember
功能
群成员表
建表语句
CREATE TABLE `IMGroupMember` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`groupId` int(11) unsigned NOT NULL COMMENT '群Id',
`userId` int(11) unsigned NOT NULL COMMENT '用户id',
`status` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '是否退出群,0-正常,1-已退出',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_groupId_userId_status` (`groupId`,`userId`,`status`),
KEY `idx_userId_status_updated` (`userId`,`status`,`updated`),
KEY `idx_groupId_updated` (`groupId`,`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8 COMMENT='用户和群的关系表'
字段说明
id 自增,唯一。
groupId 群组id。
userId 用户id。
status 状态。
created 创建时间。
updated 更新时间。
IMGroupMessage_(x)
功能
,-.
建表语句
CREATE TABLE `IMGroupMessage_(x)` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`groupId` int(11) unsigned NOT NULL COMMENT '用户的关系id',
`userId` int(11) unsigned NOT NULL COMMENT '发送用户的id',
`msgId` int(11) unsigned NOT NULL COMMENT '消息ID',
`content` varchar(4096) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '消息内容',
`type` tinyint(3) unsigned NOT NULL DEFAULT '2' COMMENT '群消息类型,101为群语音,2为文本',
`status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '消息状态',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_groupId_status_created` (`groupId`,`status`,`created`),
KEY `idx_groupId_msgId_status_created` (`groupId`,`msgId`,`status`,`created`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='IM群消息表'
字段说明
id 自增,唯一。
groupId 收消息的群组id。
userId 发消息的用户id。
msgId 消息id,每个群组唯一。
content 消息内容,如果是语音消息则存储语音id。
type 消息类型,文本or语音。
status 状态。
created 创建时间。
updated 更新时间。
IMMessage_(x)
功能
-..
建表语句
CREATE TABLE `IMMessage_0` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`relateId` int(11) unsigned NOT NULL COMMENT '用户的关系id',
`fromId` int(11) unsigned NOT NULL COMMENT '发送用户的id',
`toId` int(11) unsigned NOT NULL COMMENT '接收用户的id',
`msgId` int(11) unsigned NOT NULL COMMENT '消息ID',
`content` varchar(4096) COLLATE utf8mb4_bin DEFAULT '' COMMENT '消息内容',
`type` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '消息类型',
`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0正常 1被删除',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`),
KEY `idx_relateId_status_created` (`relateId`,`status`,`created`),
KEY `idx_relateId_status_msgId_created` (`relateId`,`status`,`msgId`,`created`),
KEY `idx_fromId_toId_created` (`fromId`,`toId`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
字段说明
id 自增,唯一
relateId 用户与用户关系id,在IMrelationShop中。
fromId 发送消息用户id。
toId 接收消息用户id。
msgId 消息id,每个relation 唯一。
content 消息内容,如果是语音消息则存储语音id。
type 类型,文本or语音。
status 状态。
created 创建时间。
updated 更新时间。
IMRrecentSession
功能
最近联系人(会话)表。
建表语句
CREATE TABLE `IMRecentSession` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userId` int(11) unsigned NOT NULL COMMENT '用户id',
`peerId` int(11) unsigned NOT NULL COMMENT '对方id',
`type` tinyint(1) unsigned DEFAULT '0' COMMENT '类型,1-用户,2-群组',
`status` tinyint(1) unsigned DEFAULT '0' COMMENT '用户:0-正常, 1-用户A删除,群组:0-正常, 1-被删除',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_userId_peerId_status_updated` (`userId`,`peerId`,`status`,`updated`),
KEY `idx_userId_peerId_type` (`userId`,`peerId`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
字段说明
id 会话id,自增,唯一。
userId 用户id。
peerId 对方id。
type 类型,群组or用户。
status 状态。
created 创建时间。
updated 更新时间。
IMRelationShip
功能
用户关系表,标识两个用户之间的唯一关系id,用于消息分表。relationId % 消息表数目。
建表语句
CREATE TABLE `IMRelationShip` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`smallId` int(11) unsigned NOT NULL COMMENT '用户A的id',
`bigId` int(11) unsigned NOT NULL COMMENT '用户B的id',
`status` tinyint(1) unsigned DEFAULT '0' COMMENT '用户:0-正常, 1-用户A删除,群组:0-正常, 1-被删除',
`created` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_smallId_bigId_status_updated` (`smallId`,`bigId`,`status`,`updated`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
字段说明
id 关系id,自增,唯一。
smallId 两个用户中id小的。
bigId 两个用户中id大的。
status 状态。
created 创建时间。
updated 更新时间。
IMUser
功能
用户表
建表语句
CREATE TABLE `IMUser` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户id',
`sex` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '1男2女0未知',
`name` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '用户名',
`domain` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '拼音',
`nick` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '花名,绰号等',
`password` varchar(32) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '密码',
`salt` varchar(4) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '混淆码',
`phone` varchar(11) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '手机号码',
`email` varchar(64) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT 'email',
`avatar` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '自定义用户头像',
`departId` int(11) unsigned NOT NULL COMMENT '所属部门Id',
`status` tinyint(2) unsigned DEFAULT '0' COMMENT '1. 试用期 2. 正式 3. 离职 4.实习',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_domain` (`domain`),
KEY `idx_name` (`name`),
KEY `idx_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
字段说明
id 用户id,自增,唯一。
sex 性别。
name 用户名。
domain 拼音。
nick 昵称。
password 密码,规则md5(md5(passwd)+salt)。
salt 密码混淆。
phone 电话号码。
email email。
avatar 用户头像。
departId 所属部门Id
status 状态
created 创建时间。
updated 更新时间。