注册登录,用户等级,社交,动态,新手任务
Change-Id: I1d3183526517fb3c0dab665e0e7547eefa5c9d76
diff --git a/src/main/java/com/example/myproject/controller/DynamicController.java b/src/main/java/com/example/myproject/controller/DynamicController.java
new file mode 100644
index 0000000..db1d0a2
--- /dev/null
+++ b/src/main/java/com/example/myproject/controller/DynamicController.java
@@ -0,0 +1,107 @@
+package com.example.myproject.controller;
+
+import com.example.myproject.entity.UserDynamic;
+import com.example.myproject.service.DynamicService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/echo/dynamic")
+public class DynamicController {
+
+ @Autowired
+ private DynamicService dynamicService;
+
+ // 创建好友动态接口
+ @PostMapping("/{user_id}/createDynamic")
+ public Map<String, Object> createDynamic(@PathVariable("user_id") Long userId,
+ @RequestParam(value = "title", required = false) String title,
+ @RequestParam(value = "content") String content,
+ @RequestParam(value = "image_url", required = false) MultipartFile[] imageFiles) {
+ return dynamicService.createDynamic(userId, title, content, imageFiles);
+ }
+
+ //删除好友动态
+ @DeleteMapping("/me/deleteDynamic/{dynamic_id}")
+ public ResponseEntity<String> deleteDynamic(@PathVariable("dynamic_id") Long dynamicId) {
+ dynamicService.deleteDynamic(dynamicId);
+ return ResponseEntity.ok("动态删除成功");
+ }
+
+ //好友动态评论
+ @PostMapping("/{user_id}/feeds/{dynamic_id}/comments")
+ public ResponseEntity<Map<String, Object>> addComment(
+ @PathVariable("user_id") Long userId,
+ @PathVariable("dynamic_id") Long dynamicId,
+ @RequestBody Map<String, String> content) {
+
+ String commentContent = content.get("content"); // 获取评论内容
+ Map<String, Object> response = dynamicService.addComment(userId, dynamicId, commentContent);
+
+ return ResponseEntity.ok(response);
+ }
+
+ //获取某个好友的所有动态
+ @GetMapping("/{user_id}/getAdynamic")
+ public ResponseEntity<Map<String, Object>> getAllUserDynamics(@PathVariable("user_id") Long userId) {
+ Map<String, Object> response = dynamicService.getAllUserDynamics(userId);
+
+ if (response == null || response.isEmpty()) {
+ return ResponseEntity.noContent().build();
+ }
+
+ // 返回响应
+ return ResponseEntity.ok(response);
+ }
+
+ @GetMapping("/{user_id}/getAllDynamics")
+ public ResponseEntity<Map<String, Object>> getAllUserAndFriendsDynamics(@PathVariable("user_id") Long userId) {
+ // 获取当前用户所有好友的ID
+ List<Long> friendIds = dynamicService.getAllFriendIds(userId);
+ friendIds.add(userId);
+ Map<String, Object> response = dynamicService.getAllUserAndFriendsDynamics(friendIds);
+
+ if (response == null || response.isEmpty()) {
+ return ResponseEntity.noContent().build();
+ }
+
+ return ResponseEntity.ok(response);
+ }
+
+ //点赞好友动态
+ @PostMapping("/like")
+ public ResponseEntity<String> likeDynamic(@RequestBody Map<String, Long> request) {
+ Long userId = request.get("userId");
+ Long dynamicId = request.get("dynamicId");
+ // 执行点赞
+ boolean success = dynamicService.likeDynamic(userId, dynamicId);
+
+ if (success) {
+ return ResponseEntity.ok("Like successful");
+ } else {
+ return ResponseEntity.badRequest().body("Like failed");
+ }
+ }
+
+ @DeleteMapping("/unlike")
+ public ResponseEntity<String> unlikeDynamic(@RequestBody Map<String, Long> request) {
+ Long userId = request.get("userId");
+ Long dynamicId = request.get("dynamicId");
+
+ // 执行取消点赞
+ boolean success = dynamicService.unlikeDynamic(userId, dynamicId);
+
+ if (success) {
+ return ResponseEntity.ok("Unlike successful");
+ } else {
+ return ResponseEntity.badRequest().body("Unlike failed");
+ }
+ }
+
+
+}