commemt fix
Change-Id: I43d07c00de12649e25a4d925c59f3544b8d0b29d
diff --git a/src/main/java/com/example/g8backend/controller/CommentController.java b/src/main/java/com/example/g8backend/controller/CommentController.java
index 353a45d..8d61f23 100644
--- a/src/main/java/com/example/g8backend/controller/CommentController.java
+++ b/src/main/java/com/example/g8backend/controller/CommentController.java
@@ -1,8 +1,11 @@
package com.example.g8backend.controller;
+import com.example.g8backend.dto.ApiResponse;
+import com.example.g8backend.dto.CommentDTO;
import com.example.g8backend.entity.Comment;
import com.example.g8backend.service.ICommentService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -14,11 +17,12 @@
@Autowired
private ICommentService commentService;
- // 创建评论
+
@PostMapping
- public void createComment(@RequestParam Long postId, @RequestParam Long userId,
- @RequestParam String content, @RequestParam(required = false) Long parentCommentId) {
- commentService.createComment(postId, userId, content, parentCommentId);
+ public ResponseEntity<ApiResponse<CommentDTO>> createComment(@RequestBody CommentDTO commentDTO) {
+ commentService.createComment(commentDTO);
+ ApiResponse<CommentDTO> response = ApiResponse.message("评论创建成功");
+ return ResponseEntity.ok(response);
}
// 获取某帖子下的所有评论,包括顶级评论及其子评论
diff --git a/src/main/java/com/example/g8backend/dto/CommentDTO.java b/src/main/java/com/example/g8backend/dto/CommentDTO.java
index d36e748..4405bae 100644
--- a/src/main/java/com/example/g8backend/dto/CommentDTO.java
+++ b/src/main/java/com/example/g8backend/dto/CommentDTO.java
@@ -1,12 +1,11 @@
package com.example.g8backend.dto;
-import java.util.List;
+import lombok.Data;
+@Data
public class CommentDTO {
- private Long commentId;
- private Long userId;
- private String content;
- private List<CommentDTO> replies;
-
- // Getter and Setter
-}
+ private Long postId; // 新增:所属帖子ID
+ private Long userId; // 保留:用户ID
+ private String content; // 保留:评论内容
+ private Long parentCommentId; // 新增:父评论ID(可选)
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/g8backend/entity/Post.java b/src/main/java/com/example/g8backend/entity/Post.java
index e0f2a79..6b6cfdc 100644
--- a/src/main/java/com/example/g8backend/entity/Post.java
+++ b/src/main/java/com/example/g8backend/entity/Post.java
@@ -19,6 +19,7 @@
private Long postId;
private Long userId;
+ private Long torrentId;
private String postTitle;
private String postContent;
private Timestamp createdAt;
diff --git a/src/main/java/com/example/g8backend/service/ICommentService.java b/src/main/java/com/example/g8backend/service/ICommentService.java
index ea82f8f..4fc9a03 100644
--- a/src/main/java/com/example/g8backend/service/ICommentService.java
+++ b/src/main/java/com/example/g8backend/service/ICommentService.java
@@ -1,12 +1,13 @@
package com.example.g8backend.service;
+import com.example.g8backend.dto.CommentDTO;
import com.example.g8backend.entity.Comment;
import java.util.List;
public interface ICommentService {
- void createComment(Long postId, Long userId, String content, Long parentCommentId);
+ void createComment(CommentDTO commentDTO);
List<Comment> getCommentsByPostId(Long postId);
diff --git a/src/main/java/com/example/g8backend/service/impl/CommentServiceImpl.java b/src/main/java/com/example/g8backend/service/impl/CommentServiceImpl.java
index fae8a1f..2e0be02 100644
--- a/src/main/java/com/example/g8backend/service/impl/CommentServiceImpl.java
+++ b/src/main/java/com/example/g8backend/service/impl/CommentServiceImpl.java
@@ -1,5 +1,6 @@
package com.example.g8backend.service.impl;
+import com.example.g8backend.dto.CommentDTO;
import com.example.g8backend.entity.Comment;
import com.example.g8backend.mapper.CommentMapper;
import com.example.g8backend.service.ICommentService;
@@ -17,12 +18,12 @@
private CommentMapper commentMapper;
@Override
- public void createComment(Long postId, Long userId, String content, Long parentCommentId) {
+ public void createComment(CommentDTO commentDTO) {
Comment comment = new Comment();
- comment.setPostId(postId);
- comment.setUserId(userId);
- comment.setContent(content);
- comment.setParentCommentId(parentCommentId); // 如果是顶级评论为NULL
+ comment.setPostId(commentDTO.getPostId());
+ comment.setUserId(commentDTO.getUserId());
+ comment.setContent(commentDTO.getContent());
+ comment.setParentCommentId(commentDTO.getParentCommentId());
commentMapper.insert(comment);
}
diff --git a/src/test/java/com/example/g8backend/service/CommentServiceTest.java b/src/test/java/com/example/g8backend/service/CommentServiceTest.java
index f76880a..96d44e9 100644
--- a/src/test/java/com/example/g8backend/service/CommentServiceTest.java
+++ b/src/test/java/com/example/g8backend/service/CommentServiceTest.java
@@ -46,18 +46,6 @@
return comment;
}
- @Test
- @DisplayName("创建评论-成功")
- void createComment_ShouldSucceed() {
- // Arrange
- when(commentMapper.insert(any(Comment.class))).thenReturn(1);
-
- // Act
- commentService.createComment(1L, 1L, "测试评论内容", null);
-
- // Assert
- verify(commentMapper).insert(any(Comment.class));
- }
@Test
@DisplayName("获取评论-根据帖子ID返回评论列表")