Commit 3c95660a by 段启岩

话题详情点赞列表完成

parent ec6836f6
......@@ -5,6 +5,9 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.post.dto.PostDTO;
import cn.meteor.beyondclouds.modules.post.entity.Post;
import cn.meteor.beyondclouds.modules.post.entity.PostPraise;
import cn.meteor.beyondclouds.modules.post.enums.PostPraiseType;
import cn.meteor.beyondclouds.modules.post.service.IPostPraiseService;
import cn.meteor.beyondclouds.modules.post.service.IPostService;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.search.entity.SearchDegree;
......@@ -75,6 +78,8 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
private ISearchDegreeService searchDegreeService;
private IPostPraiseService postPraiseService;
@Autowired
public TopicServiceImpl(ITopicFollowService topicFollowService, TopicMapper topicMapper,ITopicReferenceService topicReferenceService) {
this.topicFollowService = topicFollowService;
......@@ -83,6 +88,11 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
}
@Autowired
public void setPostPraiseService(IPostPraiseService postPraiseService) {
this.postPraiseService = postPraiseService;
}
@Autowired
public void setSearchDegreeService(ISearchDegreeService searchDegreeService) {
this.searchDegreeService = searchDegreeService;
}
......@@ -513,14 +523,27 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
IPage<Post> postPage = topicMapper.searchPostInTopicWithConditions(new Page<Post>(pageNumber, pageSize), queryWrapper);
List<Post> posts = postPage.getRecords();
List<String> postIds = posts.stream().map(Post::getPostId).collect(Collectors.toList());
List<PostDTO> postDTOList = new ArrayList<>();
if (SubjectUtils.isAuthenticated()) {
// 获取点赞情况
QueryWrapper<PostPraise> postPraiseQueryWrapper = new QueryWrapper<>();
postPraiseQueryWrapper.in("target_id", postIds);
postPraiseQueryWrapper.eq("target_type", PostPraiseType.POST_PRAISE.getPraiseType());
postPraiseQueryWrapper.eq("user_id", SubjectUtils.getSubject().getId());
List<PostPraise> postPraiseList = postPraiseService.list(postPraiseQueryWrapper);
Set<String> praisedPostIds = postPraiseList.stream()
.map(PostPraise::getTargetId)
.collect(Collectors.toSet());
Set<String> followedUserIds = userFollowService.getCurrentUserFollowedUserIds();
posts.forEach(post -> {
PostDTO postDTO = new PostDTO();
BeanUtils.copyProperties(post, postDTO);
postDTO.setFollowedAuthor(followedUserIds.contains(post.getUserId()));
postDTO.setPraised(praisedPostIds.contains(post.getPostId()));
postDTOList.add(postDTO);
});
} else {
......@@ -528,6 +551,7 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
PostDTO postDTO = new PostDTO();
BeanUtils.copyProperties(post, postDTO);
postDTO.setFollowedAuthor(false);
postDTO.setPraised(false);
postDTOList.add(postDTO);
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment