本文主要是介绍【推推P1】第一期“小说详情模块”:JAVA开发文档官方版;快来在线实习吧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
注:【版权声明】该文档为“校招VIP”原创,不允许商业转载
一、文档说明
1 详情模块是每个应用的最核心模块,也是后期会不断迭代,并且加入其它模块入口的模块,在设计时,需要考虑好扩展性和多接口加载时的性能问题
本期“小说详情模块”核心表现出小说更新的最新章节,以及根据产品要求的定时查询更新信息的接口实现,重点考虑大部分书籍在更新时间前后会有较大的访问压力且小说更新信息需要同步更新
2 本期产品原型图(部分):
二、亮点和难点说明
1 大亮点:更新时用户频繁刷新时和前端定时刷新,对后台接口千万的访问压力峰值,
使用redis+定时任务主推的方式进行最新更新,早期也可以使用状态查询接口减少压力
2 小亮点:小说类型因为是少量固定项-》商业上习惯使用双值枚举代替数据库字典表来减少查询,并且优化了接口和数据库的非字符串传输
3 小亮点:小说介绍插入里的去富文本,这部分由java来实现(严格来说,是在小说录入模块,不在本模块)
4 小亮点:订阅功能的实现,需要一定的防抖。这部分是非核心功能,暂时可以不实现
三、数据表设计
1 小说详情表 xiaozhaoVIP_novel_detail
字段 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | int(11) | 主键 | |
Name | varchar(50) | 小说名称 | |
AuthorId | int(11) | 作者ID | |
AuthorName | varchar(20) | 作者名 | |
Status | tinyint(2) | 0-无效 1-有效 | |
Type | int(11) | 类型 | |
LatestUpdateTime | datetime | 最后更新时间 | |
ChapterName | varchar(50) | 最新章节名称 | |
Cover | varchar(50) | 封面 | |
SubscribeNum | int(11) | 订阅数 | |
AddTime | datetime | ||
UpdateTime | datetime |
2 小说订阅表 xiaozhaoVIP_novel_subscribe
字段 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | int(11) | 主键 | |
UserId | int(11) | 用户ID | |
NovelId | int(11) | 小说ID | |
Status | tinyint(2) | 0-无效 1-有效 | |
AddTime | datetime | ||
UpdateTime | datetime |
四、服务设计
1 增加排序枚举
(1) 小说类型枚举NovelTypeEnum
NovelTypeEnum: 1 奇幻 ;2 武侠 ;3 悬疑;4 都市 ;5 历史;6 游戏 ;100 其他
2 定时任务接口(不开发)
作为通用服务使用,不作为本模块重点
这篇关于【推推P1】第一期“小说详情模块”:JAVA开发文档官方版;快来在线实习吧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!