一:数据库设计

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

站内信设计(群发)实现相关推荐

  1. 单系统站内信设计概述(满足百万级信息)

    基本功能 点到点的消息传送: 用户给用户 管理员给用户 点到面的消息传送 管理员给用户群 少量用户(10-999) 对于用户非常少的情况,没有必要深入的考虑数据库的优化,采用简单的表设计: 如表mes ...

  2. 基于百万级别的站内信设计

    基本上现在的网站都会有站内信功能,主要分为少量(10-999用户),中量(1000-99999用户),大量(100W用户)不同的站内信架构,消耗存储空间,和效率也是不同的.这次要设计的是基于百万级别的 ...

  3. 百万级用户量的站内信设计

    1. 方案描述 该方案用于系统站内信功能模块在百万级用户量情况下的效率问题,只是后台管理员给前台用户发送站内信,用户与用户之间的发送不在讨论内. 2. 方案详情 假设系统的用户量达到了200W,活跃用 ...

  4. mysql群发消息_分享网站群发站内信数据库表设计

    本文和大家分享一下网站站内信实现表设计的功能.需要的朋友可以参考下. "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信"是系统内的消 ...

  5. 网站群发站内信数据库表设计

    "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信"是系统内的消息,说白了,"站内信"的实现,就是通过数据库插入记 ...

  6. 网站系统 群发“站内信”的实现

    在很多网站系统(如CMS系统,SNS系统等),都有"站内信"的功能. "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信&q ...

  7. mysql群发消息_百万级用户量的站内信群发数据库设计

    随着WEB2.0的发展,用户之间的信息交互也变得十分庞大,而且实时性要求越来越高.现在很多SNS网站和一部分CMS网站都广泛地应用了站内信这一模块,这个看似简单的东西其实背后隐藏着很多需要设计师重视的 ...

  8. 单系统站内信数据库设计思路

    第一版设计 需求 :单用户之间通信(融合了用户反馈需求) 数据库设计:Message内容和收发者存在一张表中 message表: 这里一条Message存两次,类似邮件服务. status:已读.未读 ...

  9. ASP.NET 实现站内信功能(点对点发送,管理员群发)

    正好这段时间在研究这个功能,还是得感谢这位大神,没有他的引路,我就不可能把站内信做出来. http://www.cnblogs.com/grenet/archive/2010/03/08/168065 ...

  10. 小康淘宝站内信群发 官方

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

最新文章

  1. 441. Arranging Coins
  2. 线性回归中的前提假设
  3. 模块化数据机房具备的五大优势
  4. 【Linux】一步一步学Linux——passwd命令(85)
  5. 在linux oracle 10g/11g x64bit环境中,goldengate随os启动而自己主动启动的脚本
  6. 【IntelliJ IDEA】添加一个新的tomcat,tomcat启动无法访问欢迎页面,空白页,404
  7. 开关电源雷击浪涌整改_雷击浪涌的防护解析!
  8. Prototype使用$R()函数
  9. python下载网页内容_使用selenium下载整个html页面内容
  10. 关于Javascript, php的web公开课笔记
  11. 惠普HP Photosmart C4200 打印机驱动
  12. Java代码编写规范总结
  13. UTM坐标和WGS84坐标(如何转换?)
  14. Spring之bean标签属性详解
  15. 软件工程---个人总结
  16. HTML学习笔记4:如何给网页添加图片和超链接
  17. 运维工程师应该具备的技能(转载)
  18. 数显电接点压力表与指针电接点压力表的区别
  19. 解决viewpager setCurrentItem 白屏问题
  20. 黎曼zeta函数不需解析延拓

热门文章

  1. ios python 越狱_如何使用Frida绕过iOS应用程序中的越狱检测!!!
  2. 【180719】疯狂躲避球源代码
  3. MATLAB - 旋度可视化
  4. HBuilderX快捷键大全
  5. Hibernate手动控制事物
  6. 如何创建 Ubuntu 信息亭(kiosk)
  7. Java-HelloWorld
  8. Python3.9.10标准库与语言参考等文档下载
  9. C语言编程>第二十二周 ② 请补充fun函数,该函数的功能是:返回字符数组中指定字符的个数,指定字符从键盘输入。
  10. 客户端七牛方式上传文件