详细解决方案
聊天室数据表设计
热度:11 发布时间:2023-10-18 08:42:40.0
表格: tp_chat
备注: 聊天记录表
索引:
| 名称 |
类型 |
属性 |
备注 |
| 主索引 |
id |
unique |
|
字段:
| 名称 |
类型 |
空 |
默认值 |
属性 |
备注 |
| id |
int(10) unsigned |
否 |
<auto_increment> |
|
主键ID |
| type |
char(6) |
否 |
user |
|
消息类型:user:用户消息 system:系统消息 login:登录消息 logout:退出登录 |
| from_id |
char(32) |
否 |
|
|
发送人的uuid |
| to_id |
char(32) |
否 |
|
|
接收人的uuid |
| room_id |
char(32) |
否 |
|
|
聊天的房间id:朋友房间 a_uuid与b_uuid 进行sort排序,然后拼接为字符串,最后进行md5;一般的房间id由发起人+当前时间进行md5 |
| send_time |
int(11) |
否 |
0 |
|
消息的发送时间 |
| msg_type |
char(11) |
否 |
|
|
用户消息子类型:图片消息img|语音消息voice|红包消息redEnvelope|文本消息text|商品链接goods |
| system_type |
char(11) |
否 |
|
|
系统消息子类型 - 领取红包系统消息redEnvelope|纯文本系统消息text |
| content |
longtext |
否 |
|
|
消息内容的json_encode |
| user_info |
longtext |
否 |
|
|
发送消息的一些用户信息 |
| status |
tinyint(4) |
否 |
1 |
|
消息的状态:0未读消息;1:已读消息,2消息已撤销 |
| delete_time |
int(11) unsigned |
否 |
0 |
|
软删除时间 |
| update_time |
int(11) unsigned |
否 |
0 |
|
更新时间 |
| create_time |
int(11) unsigned |
否 |
0 |
|
上传时间 |
| show_date |
int(11) unsigned |
否 |
0 |
|
消息发送的时间戳 |
表格: tp_chat_room_user
备注: 聊天用户群组房间id表
索引:
| 名称 |
类型 |
属性 |
备注 |
| 主索引 |
id |
unique |
|
字段:
| 名称 |
类型 |
空 |
默认值 |
属性 |
备注 |
| id |
int(10) unsigned |
否 |
<auto_increment> |
|
主键ID |
| room_id |
char(32) |
否 |
|
|
房间id:发起人的uuid+时间戳 进行md5生成房间id |
| uuid |
char(32) |
否 |
|
|
房间内的用户的uuid |
| u_level |
tinyint(3) unsigned |
否 |
0 |
|
用户的级别:0群成员,1.群管理员;2.群主 |
| u_add_index |
int(10) unsigned |
否 |
0 |
|
加入房间时的索引--记录用户是第几个进群(冗余信息) |
| room_level |
tinyint(3) unsigned |
否 |
0 |
|
房间级别(不同房间采用的策略不同):0青铜房间(限制加入人数为100人),1:白银房间(限制人数为300人),2:黄金房间(限制人数为500人),3铂金房间(限制人数1000),4钻石房间(不限制人数) |
| delete_time |
int(11) unsigned |
否 |
0 |
|
软删除时间 |
| update_time |
int(11) unsigned |
否 |
0 |
|
更新时间 |
| create_time |
int(11) unsigned |
否 |
0 |
|
上传时间 |
表格: tp_chat_user
备注: 聊天用户表
索引:
| 名称 |
类型 |
属性 |
备注 |
| 主索引 |
id |
unique |
|
字段:
| 名称 |
类型 |
空 |
默认值 |
属性 |
备注 |
| id |
int(10) unsigned |
否 |
<auto_increment> |
|
主键ID |
| letter |
char(1) |
否 |
# |
|
nickname的首字母 |
| chat_no |
char(12) |
否 |
|
|
聊天号,类似于微信号 |
| nickname |
varchar(191) |
否 |
|
|
昵称 |
| description |
varchar(191) |
否 |
|
|
个性签名 |
| user_name |
varchar(191) |
否 |
|
|
登录名 |
| user_tel |
varchar(191) |
否 |
|
|
登录手机号 |
| user_pwd |
varchar(191) |
否 |
|
|
登录密码 |
| uuid |
char(32) |
否 |
|
|
用户的唯一id |
| wx_openid |
varchar(191) |
否 |
|
|
绑定公众号openid |
| mini_openid |
varchar(191) |
否 |
|
|
绑定公众号小程序openid |
| headimgurl |
varchar(191) |
否 |
|
|
绑定公众号的微信头像 |
| status |
tinyint(4) |
否 |
1 |
|
是否可用:0禁用,1可用 |
| delete_time |
int(11) unsigned |
否 |
0 |
|
软删除时间 |
| update_time |
int(11) unsigned |
否 |
0 |
|
更新时间 |
| create_time |
int(11) unsigned |
否 |
0 |
|
上传时间 |
表格: tp_chat_user_blacklist
备注: 聊天好友黑名单
字段:
| 名称 |
类型 |
空 |
默认值 |
属性 |
备注 |
| uuid |
char(32) |
否 |
|
|
唯一id |
| backlist |
text |
是 |
|
|
黑名单:以英文逗号隔开 |
| delete_time |
int(11) unsigned |
否 |
0 |
|
软删除时间 |
| update_time |
int(11) unsigned |
否 |
0 |
|
更新时间 |
| create_time |
int(11) unsigned |
否 |
0 |
|
上传时间 |
表格: tp_chat_user_friend
备注: 聊天用户好友关联表
索引:
| 名称 |
类型 |
属性 |
备注 |
| 主索引 |
id |
unique |
|
| a_uuid |
a_uuid, b_uuid |
unique |
|
字段:
| 名称 |
类型 |
空 |
默认值 |
属性 |
备注 |
| id |
int(10) unsigned |
否 |
<auto_increment> |
|
主键ID |
| a_uuid |
char(32) |
否 |
|
|
用户的uuid,发起人的uuid |
| b_uuid |
char(32) |
否 |
|
|
用户的uuid,接受人的uuid |
| b_rename |
varchar(191) |
否 |
|
|
发起人给接受人的备注名 |
| letter |
char(1) |
否 |
# |
|
b_rename的首字母 |
| room_id |
char(32) |
否 |
|
|
朋友房间 a_uuid与b_uuid 进行sort排序,然后拼接为字符串,最后进行md5 |
| delete_time |
int(11) unsigned |
否 |
0 |
|
软删除时间 |
| update_time |
int(11) unsigned |
否 |
0 |
|
更新时间 |
| create_time |
int(11) unsigned |
否 |
0 |
|
上传时间 |