day09_文章评论功能
2022-08-03 20:30:27 8 举报
个人小结,随便画画
作者其他创作
大纲/内容
回复点赞
保存评论回复saveCommentRepay
评论点赞
1. 检查参数 (评论回复ID 方式 是否登录)2. 根据评论回复id查询评论回复信息3. 如果方式为0代表点赞评论回复点赞+1添加评论回复点赞信息4. 如果方式为1代表取消点赞评论回复点赞-1删除评论点赞回复信息返回点赞数量: likes
mongodb
14
保存评论调用
Set<Worker>
修改保存点赞
判断getIndex == 11. 等于 代表首页 1.1 先查询热点评论1.2 用size - 热点评论数量1.3 查询普通评论1.4 合并2. 不等于 代表查询更多原方法查询
mysql
点击回复展示 评论的回复列表
1
保存评论查询评论列表评论点赞保存回复查询回复列表回复点赞
commentId回复表authorId 回复likes
异步调用
评论点赞like
commentId评论点赞表
4
elasticsearch
保存评论saveComment
步骤
1. 检查参数 (评论ID 最小评论时间)2. 根据评论id 及 创建时间小于最小时间查询评论回复列表 结果按照创建时间降序排序3. 获取当前登录用户4. 未登录直接返回回复列表5. 如果登录判断当前回复集合中,哪些id自己点过赞 修改vo对象中的operation字段问0
查询评论列表
评论表articleIdauthorId 评论人idlikes 10replysflag 0 1
保存评论回复 点赞saveCommentRepayLike
1.按照文章ID 点赞降序 查询热点评论文章id flag=1 2.如果没有热评 ,或热评数量小于5 直接将当前评论改为热评3.如果热评数量大于等于5 获取热评列表中最后一条热评 当前评论和热评对比点赞数量 点赞多的设置为热评
文章评论功能
线程池.execute( 任务 )
13
修改查询评论
保存回复
replyId回复点赞表
1. 检查参数 (文章ID 评论内容不能大于140字符 是否登陆)2. 远程获取登陆用户信息3. 阿里云文本检测4. 保存评论信息
计算热点评论hotCommentExecutor
1. 检查参数 (评论ID 方式 是否登录)2. 根据评论id查询评论信息3. 如果方式为0代表点赞评论点赞+1添加评论点赞信息4. 如果方式为1代表取消点赞评论点赞-1删除评论点赞信息返回点赞数量: likes
16
redis
保持存活时间5S
如果点赞数到达10且为普通评论 flag=0异步调用计算热点评论方法处理
1. 检查参数(文章ID 最小时间 分页=10条 )2. 查询评论数据3. 如果用户登陆判断自己是否点过赞 根据评论列表ID 及 用户ID 查看在这些评论中哪些点了赞 ApCommentVo + operation (0) 根据点赞情况修改对应评论数据的operation字段4. 返回数据
1. 先判断当前工作线程是否小于核心线程数量,如果小于创建核心线程执行任务2. 判断任务队列是否已满,如果未满将任务存放到任务队列中3. 判断当前工作线程是否小于最大线程数,如果小于创建临时线程帮忙执行任务4. 根据饱和策略对任务进行处理 默认: 丢弃任务,并抛出异常
1. 检查参数 (评论ID 评论内容 是否登陆)2. 远程获取登陆用户信息3. 阿里云文本检测4. 保存评论回复信息5. 更新评论信息的回复数量 +1
15
查询评论列表loadComment
查询指定评论的回复列表
3
12
加载评论回复列表loadCommentRepay
任务队列 10
核心线程数: 2 最大线程数: 5
2
0 条评论
下一页