用户,社交接口

Change-Id: I10d13773cbe4bbcf3b69a2038cdf7aa9ba54b6df
diff --git a/src/main/java/com/example/myproject/controller/PostController.java b/src/main/java/com/example/myproject/controller/PostController.java
new file mode 100644
index 0000000..63fcbe8
--- /dev/null
+++ b/src/main/java/com/example/myproject/controller/PostController.java
@@ -0,0 +1,94 @@
+package com.example.myproject.controller;
+
+import com.example.myproject.entity.Post;
+import com.example.myproject.service.PostService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+@RestController
+@RequestMapping("/echo/forum/posts")
+public class PostController {
+
+    @Autowired
+    private PostService postService;
+
+    //创建新帖子(已完成)
+    @PostMapping("/{user_id}/createPost")
+    public Map<String, Object> createPost(
+            @PathVariable("user_id") Long userId,
+            @RequestParam(value = "postContent") String postContent,
+            @RequestParam(value = "title", required = false) String title,
+            @RequestParam(value = "imageUrl") MultipartFile[] imageFiles) {
+        return postService.createPost(userId, postContent, title, imageFiles);
+    }
+
+    //编辑帖子(已完成)
+    @PutMapping("/{post_id}/editPost")
+    public String updatePost(@PathVariable("post_id") Long postId, @RequestBody Post post) {
+        postService.updatePost(postId, post);
+        return "Post updated successfully!";
+    }
+
+    //删除帖子(已完成)
+    @DeleteMapping("/{post_id}/deletePost")
+    public String deletePost(@PathVariable("post_id") Long postId) {
+        postService.deletePost(postId);
+        return "Post deleted successfully!";
+    }
+
+    //点赞帖子(已完成)
+    @PostMapping("/{post_id}/like")
+    public String likePost(@PathVariable("post_id") Long postId, @RequestBody Map<String, Long> requestBody) {
+
+        Long userId = requestBody.get("user_id");
+        postService.likePost(postId, userId);
+
+        return "Post liked successfully!";
+    }
+
+    //取消点赞(已完成)
+    @PostMapping("/{post_id}/unlike")
+    public String unlikePost(@PathVariable("post_id") Long postId, @RequestBody Map<String, Long> requestBody) {
+        Long userId = requestBody.get("user_id");
+        postService.unlikePost(postId, userId);
+
+        return "Post unliked successfully!";
+    }
+
+    //获取帖子列表(已完成)
+    @GetMapping("/getAllPosts")
+    public Map<String, Object> getAllPosts() {
+        return postService.getAllPosts();  // 调用服务层的 getAllPosts 方法
+    }
+
+    @GetMapping("/{postId}/getPost")
+    public Map<String, Object> getPostById(@PathVariable Long postId) {
+        return postService.getPostById(postId);
+    }
+
+
+    //收藏帖子(已完成)
+    @PostMapping("/{post_id}/collect")
+    public String collectPost(@PathVariable("post_id") Long postId, @RequestBody Map<String, Long> requestBody) {
+        Long userId = requestBody.get("user_id");
+        postService.collectPost(postId, userId);
+
+        return "Post collected successfully!";
+    }
+
+
+    //取消收藏(已完成)
+    @DeleteMapping("/{post_id}/uncollect")
+    public String uncollectPost(@PathVariable("post_id") Long postId, @RequestBody Map<String, Long> requestBody) {
+        Long userId = requestBody.get("user_id");
+        postService.uncollectPost(postId, userId);
+        return "Post uncollected successfully!";
+    }
+
+
+}