|
|
|
@ -91,7 +91,8 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements Po
|
|
|
|
|
// TODO 消息通知?
|
|
|
|
|
}
|
|
|
|
|
postSelector.calculatePostScore(post);
|
|
|
|
|
redisUtil.zAdd("post:time:", post.getId(), System.currentTimeMillis());
|
|
|
|
|
redisUtil.zAdd("post:time:"+post.getCategoryId(), post.getId(), System.currentTimeMillis());
|
|
|
|
|
redisUtil.zAdd("post:time:"+"all", post.getId(), System.currentTimeMillis());
|
|
|
|
|
redisUtil.zAdd("post:user:" + userId, post.getId(), System.currentTimeMillis());
|
|
|
|
|
return post.getId();
|
|
|
|
|
}
|
|
|
|
@ -119,6 +120,7 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements Po
|
|
|
|
|
public void deletePost(Long id) {
|
|
|
|
|
validatePostUtil.validatePostOwnership(id);
|
|
|
|
|
Long userId = UserContext.getUserId();
|
|
|
|
|
Post post = postMapper.selectById(id);
|
|
|
|
|
int delete = postMapper.deleteById(id);
|
|
|
|
|
if(delete <= 0){
|
|
|
|
|
throw new PostException("删除帖子失败");
|
|
|
|
@ -126,8 +128,10 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements Po
|
|
|
|
|
// redisUtil.delete("post:detail:" + id.toString());
|
|
|
|
|
// redisUtil.delete("post:of:user:" + UserContext.getUserId());
|
|
|
|
|
redisUtil.delete("post:detail:" + id);
|
|
|
|
|
redisUtil.zRemove("post:time:", id);
|
|
|
|
|
redisUtil.zRemove("post:hot:", id);
|
|
|
|
|
redisUtil.zRemove("post:time:"+post.getCategoryId(), id);
|
|
|
|
|
redisUtil.zRemove("post:hot:"+post.getCategoryId(), id);
|
|
|
|
|
redisUtil.zRemove("post:time:"+"all", id);
|
|
|
|
|
redisUtil.zRemove("post:hot:"+"all", id);
|
|
|
|
|
redisUtil.zRemove("post:user:" + userId, id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -184,7 +188,12 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements Po
|
|
|
|
|
return postBasicInfoDTO;
|
|
|
|
|
});
|
|
|
|
|
*/
|
|
|
|
|
String key = postPageQueryDTO.getType().equals(0) ? "post:time:" : "post:hot:";
|
|
|
|
|
String key;
|
|
|
|
|
if(postPageQueryDTO.getCategoryId() == null || postPageQueryDTO.getCategoryId().equals(0L)){
|
|
|
|
|
key = (postPageQueryDTO.getType().equals(0) ? "post:time:" : "post:hot:") + "all";
|
|
|
|
|
}else {
|
|
|
|
|
key = (postPageQueryDTO.getType().equals(0) ? "post:time:" : "post:hot:") + postPageQueryDTO.getCategoryId();
|
|
|
|
|
}
|
|
|
|
|
return redisUtil.scrollPageQuery(key, PostBasicInfoDTO.class, postPageQueryDTO,
|
|
|
|
|
(postIds) -> {
|
|
|
|
|
List<Long> userIds = new ArrayList<>();
|
|
|
|
|