模仿微信朋友圈的逻辑(SWOOLE+REDIS+PHP+MYSQL实现消息推送)

CREATE TABLE `cn_friends_circle` (
  `fc_id` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '主键',
  `fc_user_id` int(11) NOT NULL COMMENT '用户id',
  `fc_content` varchar(500) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '消息内容',
  `fc_picture_thumbnail` varchar(200) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '图片缩略图',
  `fc_picture` text CHARACTER SET utf8 NOT NULL COMMENT '图片地址JSON格式',
  `fc_video_thumbnail` varchar(200) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '视频缩略图',
  `fc_video` varchar(200) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '视频请求地址',
  `fc_content_type` int(11) NOT NULL DEFAULT '0' COMMENT '内容类型:1-文字,2-图片,3-文字加图片,3-视频',
  `fc_locaion_name` varchar(100) CHARACTER SET utf8 DEFAULT '' COMMENT '位置名称',
  `fc_location_longitude` varchar(100) CHARACTER SET utf8 DEFAULT '' COMMENT '位置经度',
  `fc_location_latitude` varchar(100) CHARACTER SET utf8 DEFAULT '' COMMENT '位置纬度',
  `fc_visible_friends` varchar(500) CHARACTER SET utf8 DEFAULT '' COMMENT '可见好友',
  `fc_invisible_friends` varchar(500) CHARACTER SET utf8 DEFAULT '' COMMENT '不可见好友',
  `fc_type` int(11) NOT NULL DEFAULT '1' COMMENT '发布类型:1-动态,2商业信息,3-产品信息',
  `fc_permissions` int(11) DEFAULT '1' COMMENT '动态权限:1-公开,2-部分可见,3-不给谁看',
  `fc_is_private` int(11) DEFAULT '0' COMMENT '是否私密:0-默认,1-私密',
  `fc_status` int(11) NOT NULL DEFAULT '0' COMMENT '状态:0正常,1删除',
  `fc_create_time` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '创建日期',
  `fc_remind_who_see` varchar(500) CHARACTER SET utf8 DEFAULT NULL COMMENT '提醒谁看',
  PRIMARY KEY (`fc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='朋友圈信息表';

CREATE TABLE `cn_friends_circle_comment` (
  `fcc_id` varchar(50) NOT NULL DEFAULT '' COMMENT '主键',
  `fc_id` varchar(50) NOT NULL COMMENT '朋友圈信息表id',
  `fc_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '这条朋友圈动态的拥有者',
  `fcc_send_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '评论用户ID',
  `fcc_reveive_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '接受的用户ID',
  `fcc_content` varchar(500) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '回复内容',
  `fcc_create_time` varchar(50) NOT NULL DEFAULT '' COMMENT '创建日期',
  PRIMARY KEY (`fcc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='朋友圈评论表';

CREATE TABLE `cn_friends_circle_like` (
  `fcl_id` varchar(50) NOT NULL,
  `fc_id` varchar(50) NOT NULL DEFAULT '' COMMENT '朋友圈ID',
  `fc_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '这条朋友圈的拥有者',
  `fcl_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
  `fcl_create_time` varchar(50) NOT NULL DEFAULT '' COMMENT '点赞生成时间',
  PRIMARY KEY (`fcl_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `cn_friends_circle_timeline` (
  `fct_id` varchar(50) NOT NULL DEFAULT '' COMMENT '主键',
  `fct_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
  `fc_id` varchar(50) NOT NULL DEFAULT '' COMMENT '朋友圈信息id',
  `fc_user_id` int(11) NOT NULL COMMENT '朋友圈拥有者id',
  `fct_is_own` int(11) NOT NULL DEFAULT '0' COMMENT '是否是自己的0-不是,1-是自己',
  `fct_is_screen` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否被屏蔽0-正常,1-屏蔽',
  `fct_create_time` varchar(50) NOT NULL DEFAULT '' COMMENT '创建日期',
  PRIMARY KEY (`fct_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='朋友圈时间轴表';

CREATE TABLE `cn_friends_cricle_message` (
  `fcm_id` varchar(50) NOT NULL DEFAULT '0',
  `fcm_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
  `fc_id` varchar(50) NOT NULL DEFAULT '' COMMENT '朋友圈ID',
  `fcm_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1点赞,2评论',
  `fcc_id` varchar(50) NOT NULL DEFAULT '' COMMENT '朋友圈评论表主键',
  `fcl_id` varchar(50) NOT NULL DEFAULT '0',
  `fcm_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已读',
  `fcm_operation_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '操作着ID',
  `fcm_create_time` varchar(50) NOT NULL DEFAULT '' COMMENT '记录发生时间',
  PRIMARY KEY (`fcm_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='朋友圈消息历史';