From 7652fadc93ef583311ebe74bda45beb476a5b7f0 Mon Sep 17 00:00:00 2001 From: linhaojun Date: Sun, 4 Sep 2022 22:45:54 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E4=BC=98=E5=8C=96=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/aurora/controller/CommentController.java | 8 +++++++- .../java/com/aurora/service/CommentService.java | 3 +++ .../aurora/service/impl/CommentServiceImpl.java | 9 ++++++--- aurora-vue/aurora-blog/src/api/api.ts | 3 +++ .../src/components/Comment/src/CommentItem.vue | 3 ++- .../src/components/Comment/src/CommentList.vue | 3 ++- .../components/Comment/src/CommentReplyForm.vue | 15 ++++++++------- aurora-vue/aurora-blog/src/views/About.vue | 9 +++++++++ aurora-vue/aurora-blog/src/views/Article.vue | 9 +++++++++ aurora-vue/aurora-blog/src/views/FriendLink.vue | 8 ++++++++ aurora-vue/aurora-blog/src/views/Message.vue | 8 ++++++++ aurora-vue/aurora-blog/src/views/Talk.vue | 8 ++++++++ 12 files changed, 73 insertions(+), 13 deletions(-) diff --git a/aurora-springboot/src/main/java/com/aurora/controller/CommentController.java b/aurora-springboot/src/main/java/com/aurora/controller/CommentController.java index e1904f9..eb0011d 100644 --- a/aurora-springboot/src/main/java/com/aurora/controller/CommentController.java +++ b/aurora-springboot/src/main/java/com/aurora/controller/CommentController.java @@ -3,6 +3,7 @@ package com.aurora.controller; import com.aurora.annotation.OptLog; import com.aurora.dto.CommentAdminDTO; import com.aurora.dto.CommentDTO; +import com.aurora.dto.ReplyDTO; import com.aurora.service.CommentService; import com.aurora.vo.*; import io.swagger.annotations.Api; @@ -36,6 +37,12 @@ public class CommentController { return Result.ok(commentService.listComments(commentVO)); } + @ApiOperation(value = "根据commentId获取回复") + @GetMapping("/comments/{commentId}/replies") + public Result> listRepliesByCommentId(@PathVariable("commentId") Integer commentId) { + return Result.ok(commentService.listRepliesByCommentId(commentId)); + } + @ApiOperation("获取前七个评论") @GetMapping("/comments/topSeven") public Result> getTopSevenComments() { @@ -64,5 +71,4 @@ public class CommentController { return Result.ok(); } - } diff --git a/aurora-springboot/src/main/java/com/aurora/service/CommentService.java b/aurora-springboot/src/main/java/com/aurora/service/CommentService.java index 572d834..a41fa93 100644 --- a/aurora-springboot/src/main/java/com/aurora/service/CommentService.java +++ b/aurora-springboot/src/main/java/com/aurora/service/CommentService.java @@ -2,6 +2,7 @@ package com.aurora.service; import com.aurora.dto.CommentAdminDTO; import com.aurora.dto.CommentDTO; +import com.aurora.dto.ReplyDTO; import com.aurora.entity.Comment; import com.aurora.vo.CommentVO; import com.aurora.vo.ConditionVO; @@ -17,6 +18,8 @@ public interface CommentService extends IService { PageResult listComments(CommentVO commentVO); + List listRepliesByCommentId(Integer commentId); + List listTopSevenComments(); PageResult listCommentsAdmin(ConditionVO conditionVO); diff --git a/aurora-springboot/src/main/java/com/aurora/service/impl/CommentServiceImpl.java b/aurora-springboot/src/main/java/com/aurora/service/impl/CommentServiceImpl.java index 482488b..61d660d 100644 --- a/aurora-springboot/src/main/java/com/aurora/service/impl/CommentServiceImpl.java +++ b/aurora-springboot/src/main/java/com/aurora/service/impl/CommentServiceImpl.java @@ -27,9 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -105,6 +103,11 @@ public class CommentServiceImpl extends ServiceImpl impl return new PageResult<>(commentDTOs, commentCount); } + @Override + public List listRepliesByCommentId(Integer commentId) { + return commentMapper.listReplies(Collections.singletonList(commentId)); + } + @Override public List listTopSevenComments() { return commentMapper.listTopSevenComments(); diff --git a/aurora-vue/aurora-blog/src/api/api.ts b/aurora-vue/aurora-blog/src/api/api.ts index 5e8bb63..3313ed4 100644 --- a/aurora-vue/aurora-blog/src/api/api.ts +++ b/aurora-vue/aurora-blog/src/api/api.ts @@ -128,5 +128,8 @@ export default { }, logout: () => { return axios.post('/api/users/logout') + }, + getRepliesByCommentId: (commentId: any) => { + return axios.get(`/api/comments/${commentId}/replies`) } } diff --git a/aurora-vue/aurora-blog/src/components/Comment/src/CommentItem.vue b/aurora-vue/aurora-blog/src/components/Comment/src/CommentItem.vue index cbdd4c8..d63d2b9 100644 --- a/aurora-vue/aurora-blog/src/components/Comment/src/CommentItem.vue +++ b/aurora-vue/aurora-blog/src/components/Comment/src/CommentItem.vue @@ -41,10 +41,11 @@ export default defineComponent({ CommentReplyItem, CommentReplyForm }, - props: ['comment'], + props: ['comment', 'index'], setup(props) { const comment: any = props.comment provide('parentId', comment.id) + provide('index', props.index) const formatTime = (time: any): any => { let date = new Date(time) let year = date.getFullYear() diff --git a/aurora-vue/aurora-blog/src/components/Comment/src/CommentList.vue b/aurora-vue/aurora-blog/src/components/Comment/src/CommentList.vue index b419761..62de5c0 100644 --- a/aurora-vue/aurora-blog/src/components/Comment/src/CommentList.vue +++ b/aurora-vue/aurora-blog/src/components/Comment/src/CommentList.vue @@ -1,6 +1,7 @@