一、数据库层搭建
一、用户列表的实现
CREATE TABLE `chatuser` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT, `NickName` varchar(255) DEFAULT NULL COMMENT '昵称', `Sign` varchar(255) DEFAULT NULL COMMENT '个性签名', `Avatar` varchar(255) DEFAULT NULL COMMENT '头像', -- `PassWord` varchar(255) DEFAULT NULL COMMENT'密码', `Email` varchar(255) DEFAULT NULL COMMENT'邮箱', -- `IsValid` INT DEFAULT 0 COMMENT '有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', -- PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT '用户表';
二、分组列表的实现
CREATE TABLE `chatsubgroup` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '分区id', `SubGroupName` varchar(155) NOT NULL COMMENT '分区名称', -- `OwnerId` int(11) DEFAULT NULL COMMENT '分组拥有者id', -- `IsValid` INT DEFAULT 0 COMMENT '有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '分组表';
三、用户分组关系表
CREATE TABLE `chatusersubgroup` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户分组关系Id', `UserId` int(11) NOT NULL COMMENT '用户Id', `SubGroupId` int(11) NOT NULL COMMENT '分组Id', -- `IsValid` INT DEFAULT 0 COMMENT '有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '用户分组关系表';
四、群组列表的实现
新建一个群组的数据库,后台的群组管理主要读取这张表的数据,群组表主要功能是记录前台新建的群组。
CREATE TABLE `chatgroup` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '群组id', `GroupName` varchar(155) NOT NULL COMMENT '群组名称', `Avatar` varchar(155) DEFAULT NULL COMMENT '群组头像', `GroupSign` varchar(155) DEFAULT NULL COMMENT '群组签名-即群简介', -- `OwnerId` int(11) DEFAULT NULL COMMENT '群主id', -- `IsValid` INT DEFAULT 0 COMMENT '有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', -- `Status` tinyint(1) DEFAULT NULL COMMENT '1审核通过 -1待审核 -2审核不通过', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '群组表';
五、用户群组表
CREATE TABLE `chatusergroup` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户群组关系Id', `UserId` int(11) NOT NULL COMMENT '用户Id', `GroupId` int(11) NOT NULL COMMENT '群组Id', -- `IsValid` INT DEFAULT 0 COMMENT '有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '用户群组关系表';
六、聊天记录表
CREATE TABLE `chatmessage` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '消息Id', `Type` int(11) DEFAULT 0 COMMENT '消息类型 0 普通消息 1群聊 消息', `Sender` int(11) DEFAULT 0 COMMENT '发送者', `Recipient` int(11) DEFAULT 0 COMMENT '接受者', `Format` int(11) NOT NULL AUTO_INCREMENT COMMENT '消息格式类型', `Content` text DEFAULT '' COMMENT '消息内容', -- `State` INT DEFAULT 0 COMMENT '消息状态0未读1已读' `IsValid` INT DEFAULT 0 COMMENT '消息是否有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '聊天记录表';
七、申请表
CREATE TABLE `chatapply` ( -- `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '申请Id', `Type` int(11) DEFAULT 0 COMMENT '申请类型 1 普通消息 1群聊消息', `Sender` int(11) DEFAULT 0 COMMENT '申请发送者', `Recipient` int(11) DEFAULT 0 COMMENT '申请接受者', `Content` text DEFAULT '' COMMENT '申请附加消息内容', -- `State` INT DEFAULT 0 COMMENT '消息状态0未读1已读2同意3拒绝', `IsValid` INT DEFAULT 0 COMMENT '消息是否有效', `CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UpdateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 '申请表';
点到为止