职位选择

【推推P3】1 我的书架模块 JAVA开发设计文档官方补充版

12月27日 JAVA开发文档说明 我的书架模块 推推P3
视频说明
点击观看
学生周最佳
暂时没有
最后修订
2024-12-27

二 亮点说明


1 订阅列表的拉取和更新

(1)拉取

拉取的书籍状态是确定的(原因见更新),直接读取,加入1小时的缓存服务即可(没有redis环境的代码可以不交

排序条件要按产品原型来,因为最多只有5条,直接拉取,java代码实现置顶的排序变化


(2)更新

(a)小说主表更新后对订单表的状态影响

 直接对更新的所有订阅状态数据,置为“未读”。暂不考虑异步实现


(b)用户的点击对订单表的状态影响

因为非正版上百本书籍的更新时间比较一致,加上业务的主动通知,会导致1000+用户的上万次集中点击,远大于服务器的正常流量。


方案:只要用户点击(书架或者详情页,只做接口),直接将对应的书籍订阅记录置成“已读”。

能力较好的同学,优化为redis 记录每本小说的5分钟内的点赞用户,5分钟后定时任务一致化到mysql(定时任务不用实现)


2 另外说一下,项目的登录逻辑



可以直接在这固定,也可以跟踪一下这个逻辑,自己生成一个token



三 数据表设计


1 yike_novel_bookshelf


1 yike_novel_subscribe_audit (时间来不及,把实习生的改了)


三 本次主要接口:


1 拉取订阅列表(不包含总的订阅次数)

2 用户点击变变更状态,单个小说 (加上流水表的逻辑,不用加事务)

3 置顶和取消置顶接口

4 用户点击变变更状态,redis批量小说更新 (加上流水表的逻辑,不用加事务)

5 订阅接口


历史周最佳