推送到粉丝收件箱
需求分析
修改新增探店笔记的业务,保存到数据库同时,推送到粉丝收件箱。
只需要存储id
查询详情时,根据特定的id进行获取。需要实现分页查询。
feed流数据不断更新,数据角标变化,不能使用传统分页模式/
采用滚动分页模式。
所以选择redis的sortedSet方式
代码实现
public Result saveBlog(Blog blog) {
UserDTO user = UserHolder.getUser();
blog.setUserId(user.getId());
boolean isSuccess = save(blog);
if(!isSuccess){
return Result.fail("新增笔记失败!");
}
List<Follow> follows = followService.query().eq("follow_user_id", user.getId()).list();
for (Follow follow : follows) {
Long userId = follow.getUserId();
String key = FEED_KEY + userId;
stringRedisTemplate.opsForZSet().add(key, blog.getId().toString(), System.currentTimeMillis());
}
return Result.ok(blog.getId());
}