站内信设计(群发)实现
一:数据库设计
DROP TABLE IF EXISTS `message_text`;
CREATE TABLE `message_text` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(50) DEFAULT NULL COMMENT '标题',`content` varchar(1024) DEFAULT NULL COMMENT '内容',`created_at` datetime DEFAULT NULL COMMENT '创建时间',`status` int(11) DEFAULT '0' COMMENT '0:未发送 1:已发送 ',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;INSERT INTO `message_text` VALUES ('1', '智朗素材推送通知1', '智朗推送了1条素材,请注意查看!', '2015-10-15 16:49:17', '1');
INSERT INTO `message_text` VALUES ('2', '智朗素材推送通知2', '智朗推送了2条素材,请注意查看!', '2015-10-15 17:31:00', '1');
INSERT INTO `message_text` VALUES ('3', '智朗素材推送通知3', '智朗推送了3条素材,请注意查看!', '2015-10-15 17:31:22', '1');
INSERT INTO `message_text` VALUES ('4', '智朗素材推送通知4', '智朗推送了3条素材,请注意查看!', '2015-10-15 18:09:01', '1');DROP TABLE IF EXISTS `message_read`;
CREATE TABLE `message_read` (`id` int(11) NOT NULL AUTO_INCREMENT,`wxAccountId` int(11) DEFAULT NULL COMMENT '公众号id',`messageId` int(11) DEFAULT NULL COMMENT '消息id',`delete_flag` int(11) DEFAULT NULL COMMENT '删除标志:0未删除 1:已删除',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;INSERT INTO `message_read` VALUES ('1', '1', '1', '0');
INSERT INTO `message_read` VALUES ('2', '1', '2', '0');
INSERT INTO `message_read` VALUES ('3', '1', '3', '1');
二:sql查询
/未读和已读站内信 /
SELECT *,(SELECTcount(*)FROMmessage_readWHEREt.id = message_read.messageIdAND message_read.wxAccountId = 1) AS readStatus
FROMmessage_text t
where t.id not in(select id from message_read where wxAccountId=1 and delete_flag=1)
order by readStatus desc
/已删除的站内信 /
SELECTt.*
FROMmessage_text t
LEFT JOIN message_read r
on t.id = r.messageId
where r.delete_flag = 1 and r.wxAccountId = 1
当阅读【未读】的站内信时,在message_read中插入一条阅读记录
当删除【已读】的站内信时,将message_read的delete_flag置为1
站内信设计(群发)实现相关推荐
- 单系统站内信设计概述(满足百万级信息)
基本功能 点到点的消息传送: 用户给用户 管理员给用户 点到面的消息传送 管理员给用户群 少量用户(10-999) 对于用户非常少的情况,没有必要深入的考虑数据库的优化,采用简单的表设计: 如表mes ...
- 基于百万级别的站内信设计
基本上现在的网站都会有站内信功能,主要分为少量(10-999用户),中量(1000-99999用户),大量(100W用户)不同的站内信架构,消耗存储空间,和效率也是不同的.这次要设计的是基于百万级别的 ...
- 百万级用户量的站内信设计
1. 方案描述 该方案用于系统站内信功能模块在百万级用户量情况下的效率问题,只是后台管理员给前台用户发送站内信,用户与用户之间的发送不在讨论内. 2. 方案详情 假设系统的用户量达到了200W,活跃用 ...
- mysql群发消息_分享网站群发站内信数据库表设计
本文和大家分享一下网站站内信实现表设计的功能.需要的朋友可以参考下. "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信"是系统内的消 ...
- 网站群发站内信数据库表设计
"站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信"是系统内的消息,说白了,"站内信"的实现,就是通过数据库插入记 ...
- 网站系统 群发“站内信”的实现
在很多网站系统(如CMS系统,SNS系统等),都有"站内信"的功能. "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信&q ...
- mysql群发消息_百万级用户量的站内信群发数据库设计
随着WEB2.0的发展,用户之间的信息交互也变得十分庞大,而且实时性要求越来越高.现在很多SNS网站和一部分CMS网站都广泛地应用了站内信这一模块,这个看似简单的东西其实背后隐藏着很多需要设计师重视的 ...
- 单系统站内信数据库设计思路
第一版设计 需求 :单用户之间通信(融合了用户反馈需求) 数据库设计:Message内容和收发者存在一张表中 message表: 这里一条Message存两次,类似邮件服务. status:已读.未读 ...
- ASP.NET 实现站内信功能(点对点发送,管理员群发)
正好这段时间在研究这个功能,还是得感谢这位大神,没有他的引路,我就不可能把站内信做出来. http://www.cnblogs.com/grenet/archive/2010/03/08/168065 ...
- 小康淘宝站内信群发 官方
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
最新文章
- 441. Arranging Coins
- 线性回归中的前提假设
- 模块化数据机房具备的五大优势
- 【Linux】一步一步学Linux——passwd命令(85)
- 在linux oracle 10g/11g x64bit环境中,goldengate随os启动而自己主动启动的脚本
- 【IntelliJ IDEA】添加一个新的tomcat,tomcat启动无法访问欢迎页面,空白页,404
- 开关电源雷击浪涌整改_雷击浪涌的防护解析!
- Prototype使用$R()函数
- python下载网页内容_使用selenium下载整个html页面内容
- 关于Javascript, php的web公开课笔记
- 惠普HP Photosmart C4200 打印机驱动
- Java代码编写规范总结
- UTM坐标和WGS84坐标(如何转换?)
- Spring之bean标签属性详解
- 软件工程---个人总结
- HTML学习笔记4:如何给网页添加图片和超链接
- 运维工程师应该具备的技能(转载)
- 数显电接点压力表与指针电接点压力表的区别
- 解决viewpager setCurrentItem 白屏问题
- 黎曼zeta函数不需解析延拓