diff --git a/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java b/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java index 256acb7..ce80b6f 100644 --- a/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java +++ b/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java @@ -80,6 +80,14 @@ public class UserController { return bookService.saveComment(dto); } + /** + * 删除评论接口 + * */ + @DeleteMapping("comment/{id}") + public RestResp deleteComment(@PathVariable Long id) { + return bookService.deleteComment(UserHolder.getUserId(),id); + } + /** * 查询书架状态接口 * 0-不在书架 diff --git a/src/main/java/io/github/xxyopen/novel/dto/resp/BookCommentRespDto.java b/src/main/java/io/github/xxyopen/novel/dto/resp/BookCommentRespDto.java index 1914658..d942fcc 100644 --- a/src/main/java/io/github/xxyopen/novel/dto/resp/BookCommentRespDto.java +++ b/src/main/java/io/github/xxyopen/novel/dto/resp/BookCommentRespDto.java @@ -27,6 +27,8 @@ public class BookCommentRespDto { @Builder public static class CommentInfo { + private Long id; + private String commentContent; @JsonSerialize(using = UsernameSerializer.class) diff --git a/src/main/java/io/github/xxyopen/novel/service/BookService.java b/src/main/java/io/github/xxyopen/novel/service/BookService.java index b758544..ed28b62 100644 --- a/src/main/java/io/github/xxyopen/novel/service/BookService.java +++ b/src/main/java/io/github/xxyopen/novel/service/BookService.java @@ -133,4 +133,12 @@ public interface BookService { * @return 小说最新评论数据 */ RestResp listNewestComments(Long bookId); + + /** + * 删除评论 + * @param userId 评论用户ID + * @param commentId 评论ID + * @return void + * */ + RestResp deleteComment(Long userId, Long commentId); } diff --git a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java index be74b1d..a5f523f 100644 --- a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java +++ b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java @@ -247,6 +247,7 @@ public class BookServiceImpl implements BookService { Map userInfoMap = userInfos.stream().collect(Collectors.toMap(UserInfo::getId, UserInfo::getUsername)); List commentInfos = bookComments.stream() .map(v -> BookCommentRespDto.CommentInfo.builder() + .id(v.getId()) .commentUser(userInfoMap.get(v.getUserId())) .commentContent(v.getCommentContent()) .commentTime(v.getCreateTime()).build()).toList(); @@ -257,6 +258,15 @@ public class BookServiceImpl implements BookService { return RestResp.ok(bookCommentRespDto); } + @Override + public RestResp deleteComment(Long userId, Long commentId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(DatabaseConsts.CommonColumnEnum.ID.getName(), commentId) + .eq(DatabaseConsts.BookCommentTable.COLUMN_USER_ID,userId); + bookCommentMapper.delete(queryWrapper); + return RestResp.ok(); + } + @Override public RestResp getBookContentAbout(Long chapterId) { // 查询章节信息