0%

论坛等社交平台实现未读消息提醒的一种方式

最近在做BBS项目时,遇到了如何回复了消息以后让别的用户能够收到未读消息提示

一开始想到的是在原先的回复表中添加字段,后来考虑了一个新办法

1.创建一个message类,里面的属性

1
2
3
4
5
6
7
8
9
10
11
12
private Integer id;主键
private String context;// 消息的内容
private String type;//消息类型 0 回复 1 关注 2 点赞
private Integer topic_id;//对应的主题id
private Integer sender_id;//发送消息者id;
private String action;//动作类型,如点赞
private Integer is_read;//阅读状态 0 未阅读 1 已阅读
private Integer user_id;//接受消息的id
private Date create_time;//创建这条消息的时间
private Long reply_id;//回复的id
private User sender;//发送者对象
private String topic_name;//主题名字

2.然后新建一个表message,在message中加入对应的字段(除了User类),用来专门存储消息

每当其他用户回复某个用户的帖子时,就通过ORM框架(如MyBatis)把message的相应信息写好,然后插入到数据库中,当其他用户登陆时,就会读取数据库中这个用户id对应的所有消息,根据is_read字段来显示是否是【已读】或者【未读】,同时,如果读取了该消息,就把is_read字段置为1