获取所有收藏帖子
Change-Id: I599df61bff71f48b80849bd4b75236a8c4529d91
diff --git a/src/main/java/com/example/myproject/service/PostService.java b/src/main/java/com/example/myproject/service/PostService.java
index feb7404..90fc706 100644
--- a/src/main/java/com/example/myproject/service/PostService.java
+++ b/src/main/java/com/example/myproject/service/PostService.java
@@ -228,5 +228,44 @@
}
+ // 获取用户收藏的所有帖子
+ public List<Map<String, Object>> getAllCollections(Long userId) {
+ // 获取用户收藏的帖子ID
+ List<Collections> collections = collectionsRepository.findByUserId(userId);
+
+ // 如果没有收藏的帖子,返回空列表
+ if (collections.isEmpty()) {
+ return new ArrayList<>();
+ }
+
+ List<Map<String, Object>> response = new ArrayList<>();
+ for (Collections collection : collections) {
+ // 根据 postNo 查询帖子
+ Optional<Post> postOptional = postRepository.findById(collection.getPostNo());
+ if (postOptional.isPresent()) {
+ Post post = postOptional.get();
+
+ // 获取帖子作者的信息
+ Optional<Users> userOptional = userRepository.findById(post.getUser_id());
+ if (userOptional.isPresent()) {
+ Users user = userOptional.get();
+
+ // 将帖子数据和用户信息封装到 Map 中
+ Map<String, Object> postInfo = new LinkedHashMap<>();
+ postInfo.put("postNo", post.getPostNo());
+ postInfo.put("title", post.getTitle());
+ postInfo.put("postContent", post.getPostContent());
+ postInfo.put("imageUrl", post.getImageUrl());
+ postInfo.put("userId", post.getUser_id());
+ postInfo.put("username", user.getUsername()); // 帖子作者用户名
+ postInfo.put("avatarUrl", user.getAvatarUrl()); // 帖子作者头像
+
+ response.add(postInfo);
+ }
+ }
+ }
+ return response;
+ }
+
}