一、数据库层搭建

一、用户列表的实现

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 '申请表';

 

原文地址:https://www.cnblogs.com/fger/p/11757438.html