关于JFinal社区中动态的疑问

JFinal中的@人的功能实现我是明白的 动态是不是只能看关注的人和自己的最新动态 而且这个动态类似一个日志一样 这个人回复了哪个文章 点了哪个赞 都要记录下拉?@jfinal

评论区

JFinal

2016-11-08 16:58

简要做个回答:
1:最新动态,只显示自己以及自己关注的人的动态,其它人一概不显示

2:最新动态这一栏,不会去管有没有人回复你、@ 你,强调看第一点,最新动态仍然只显示自己与关注人所做的事情,这些事情包括:发贴、回贴

3:@提到我这一栏显示两类信息:一是有人 @ 我、二是有人回复我的文章,当然 @ 我可以是在文章,也可以是在回贴中,如果用户同一个动作触发多个 @ 我,只产生一个 @ 我

4:实现方式主要是将用户的发贴、回贴这两件事情生成一条叫做 news_feed 的记录,将这条记录将创建者与贴子或回贴关联起来即可

5:@提到我,是用的另外的一张单独的表 refer_me,这张表有 id,referUserId,newsFeedId 这三个主字段,第二个是被 @ 的人账号,第三个是 @ 这条数据对应的在 4 中说明的 news_feed 记录,在查询的时候只需要 select newsFeedId from refer_me where referUserId = 我的ID 就可以得到所有 @ 我的 newsFeedId 集合了,再通过 newsFeedId 集合得到 news_feed 数据显示出来,所以 refer_me 这张表与 news_feed 这张表最终显示出来的数据形式完全一样,因为是通过 refer_me 先找一次 news_feed,然后仍然显示的是 news_feed 列表而已,只不过这些 news_feed 是 @ 了你而已

6:点赞功能单做的表,如 article_like(userId, articleId),被点赞时发送一条私信即可,与前面的功能完全无关

JFinal

2016-11-08 16:58

其实细节很多,jfinal 社区的这一套功能做得还是非常细致的,哈哈

山东小木

2016-11-09 00:47

@JFinal 了然 理解了 jfinal社区给我新社区项目提供了很多极有价值的参考和指导 感谢

JFinal

2016-11-09 10:35

@小木学堂 jfinal 社区的所有功能也是极简设计,代码量极少,但实现了类似于微博的核心功能,微博也是首页看到自己与关注好友的信息、点赞、@功能 等等

社区这一套功能,基本上就是五张主表搞定,不能比这更简洁了