站内信(系统消息) 发送给所有用户

打算做一个站内信 又不想做成那种 查询所有用户 每一个用户发送一条消息 

就建立了 两个数据表 进行了一下简单的优化 也不是很完善 大家 有好的方案 请多指教 

CREATE TABLE `system_message` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '文档id',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '指定接收人ID',
  `content` varchar(256) NOT NULL DEFAULT '' COMMENT '消息内容',
  `is_read` enum('0','1') NOT NULL DEFAULT '0' COMMENT '是否到达:0=否,1=是',
  `event` varchar(128) NOT NULL DEFAULT '' COMMENT '事件',
  `is_all` enum('0','1') NOT NULL DEFAULT '0' COMMENT '是否是群发消息:0=否,1=是',
  `msgtype` tinyint(1) NOT NULL DEFAULT '1' COMMENT '消息类型',
  `create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='系统消息模型扩展表';

这个是信息的 主表 记录所有的信息

 

CREATE TABLE `user_system_message_read` (
  `aid` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '文档id',
  `model` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '数据模型',
  `sys_msg_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '系统消息ID',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '会员ID',
  `status` enum('-1','1') NOT NULL DEFAULT '0' COMMENT '状态:1=已读,-1=已删',
  `create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '读取时间',
  PRIMARY KEY (`aid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='系统消息读阅读状态表模型扩展表';

这个是用户的读取状态 信息表 进行 用户对系统消息的操作  其他的就是 你的逻辑代码了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值