From 2ef9073650f05244f90bc3be6c4c3235eab28c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Wed, 27 May 2020 16:30:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AF=84=E8=AE=BA=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog.sql | 3 +-- .../celess/blog/enmu/CommentStatusEnum.java | 10 ++++++++- .../java/cn/celess/blog/entity/Comment.java | 2 +- .../cn/celess/blog/mapper/CommentMapper.java | 2 +- .../serviceimpl/CommentServiceImpl.java | 12 ++++++++--- src/main/resources/mapper/CommentMapper.xml | 21 +++++++++---------- .../celess/blog/mapper/CommentMapperTest.java | 7 ++++--- 7 files changed, 35 insertions(+), 22 deletions(-) diff --git a/blog.sql b/blog.sql index dc04e28..5e15303 100644 --- a/blog.sql +++ b/blog.sql @@ -47,8 +47,7 @@ CREATE TABLE `comment` `co_status` tinyint not null default 0 comment '评论的状态', `co_pid` bigint not null default -1 comment '评论/留言的父id', `co_from_author_id` int not null comment '留言者id', - `co_to_author_id` int default null comment '父评论的作者id', - `is_delete` boolean not null default false comment '该数据是否被删除' + `co_to_author_id` int default null comment '父评论的作者id' ) DEFAULT CHARSET = utf8mb4 COLLATE utf8mb4_general_ci,comment '评论/留言表'; diff --git a/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java b/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java index be1ef88..01ccbac 100644 --- a/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java +++ b/src/main/java/cn/celess/blog/enmu/CommentStatusEnum.java @@ -1,15 +1,23 @@ package cn.celess.blog.enmu; +import lombok.Getter; + /** * @Author: 小海 * @Date: 2020-05-25 08:58 * @Desc: */ +@Getter public enum CommentStatusEnum { // 正常 - NORMAL(0, "正常"); + NORMAL(0, "正常"), + DELETED(3, "已删除"); + private final int code; + private final String msg; CommentStatusEnum(int code, String msg) { + this.code = code; + this.msg = msg; } } diff --git a/src/main/java/cn/celess/blog/entity/Comment.java b/src/main/java/cn/celess/blog/entity/Comment.java index 03ce756..0651111 100644 --- a/src/main/java/cn/celess/blog/entity/Comment.java +++ b/src/main/java/cn/celess/blog/entity/Comment.java @@ -30,5 +30,5 @@ public class Comment { */ private Long pid; - private boolean delete; + // private boolean delete; } diff --git a/src/main/java/cn/celess/blog/mapper/CommentMapper.java b/src/main/java/cn/celess/blog/mapper/CommentMapper.java index 09b72e0..84af53a 100644 --- a/src/main/java/cn/celess/blog/mapper/CommentMapper.java +++ b/src/main/java/cn/celess/blog/mapper/CommentMapper.java @@ -36,7 +36,7 @@ public interface CommentMapper { List findAllByPagePathAndFromUser(String pagePath, long userId); - List findAllByPagePathAndPid(String pagePath, long pid); + List findAllByPagePathAndPidAndNormal(String pagePath, long pid); long countByPagePath(String pagePath); diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java index 5dcfecb..141738f 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java @@ -1,5 +1,6 @@ package cn.celess.blog.service.serviceimpl; +import cn.celess.blog.enmu.CommentStatusEnum; import cn.celess.blog.enmu.ResponseEnum; import cn.celess.blog.entity.Comment; import cn.celess.blog.entity.User; @@ -76,7 +77,7 @@ public class CommentServiceImpl implements CommentService { if (b == null) { throw new MyException(ResponseEnum.COMMENT_NOT_EXIST); } - if (b.isDelete()) { + if (b.getStatus() == CommentStatusEnum.DELETED.getCode()) { throw new MyException(ResponseEnum.DATA_IS_DELETED); } commentMapper.delete(id); @@ -99,7 +100,7 @@ public class CommentServiceImpl implements CommentService { @Override public PageData retrievePage(String pagePath, int page, int count) { PageHelper.startPage(page, count); - List list = commentMapper.findAllByPagePathAndPid(pagePath, -1); + List list = commentMapper.findAllByPagePathAndPidAndNormal(pagePath, -1); return pageTrans(list); } @@ -107,7 +108,12 @@ public class CommentServiceImpl implements CommentService { public List retrievePageByPid(long pid) { List allByPagePath = commentMapper.findAllByPid(pid); List commentModels = new ArrayList<>(); - allByPagePath.forEach(comment -> commentModels.add(ModalTrans.comment(comment))); + allByPagePath.forEach(comment -> { + if (comment.getStatus() != CommentStatusEnum.DELETED.getCode()) { + commentModels.add(ModalTrans.comment(comment)); + } + }); + return commentModels; } diff --git a/src/main/resources/mapper/CommentMapper.xml b/src/main/resources/mapper/CommentMapper.xml index b7db9b5..73ae58e 100644 --- a/src/main/resources/mapper/CommentMapper.xml +++ b/src/main/resources/mapper/CommentMapper.xml @@ -10,7 +10,6 @@ - @@ -22,7 +21,6 @@ - @@ -51,13 +49,13 @@ update comment - set is_delete = true + set co_status = 3 where co_id = #{id} update comment - set is_delete = true + set co_status = 3 where co_page_path = #{path} @@ -83,10 +81,11 @@ where pid = #{pid} - select * from commentView - + # 无奈之举 + where pagePath = #{pagePath} @@ -95,20 +94,20 @@ select * from commentView where - + pagePath = #{pagePath} and fromAuthorId = #{userId} - select * from commentView where - + pagePath = #{pagePath} and - pid = #{pid} + pid = #{pid} and status = 0 select count(*) from comment - where is_delete = false; + where co_status = 0; diff --git a/src/test/java/cn/celess/blog/mapper/CommentMapperTest.java b/src/test/java/cn/celess/blog/mapper/CommentMapperTest.java index 3c78167..d411dfa 100644 --- a/src/test/java/cn/celess/blog/mapper/CommentMapperTest.java +++ b/src/test/java/cn/celess/blog/mapper/CommentMapperTest.java @@ -1,6 +1,7 @@ package cn.celess.blog.mapper; import cn.celess.blog.BaseTest; +import cn.celess.blog.enmu.CommentStatusEnum; import cn.celess.blog.entity.Comment; import cn.celess.blog.entity.User; import org.junit.Test; @@ -35,7 +36,7 @@ public class CommentMapperTest extends BaseTest { Comment comment = generateComment(); assertEquals(1, commentMapper.delete(comment.getId())); Comment commentById = commentMapper.findCommentById(comment.getId()); - assertTrue(commentById.isDelete()); + assertEquals(commentById.getStatus(), CommentStatusEnum.DELETED.getCode()); } @Test @@ -43,7 +44,7 @@ public class CommentMapperTest extends BaseTest { Comment comment = generateComment(); assertTrue(commentMapper.deleteByPagePath(comment.getPagePath()) >= 1); Comment commentById = commentMapper.findCommentById(comment.getId()); - assertTrue(commentById.isDelete()); + assertEquals(commentById.getStatus(), CommentStatusEnum.DELETED.getCode()); } @Test @@ -91,7 +92,7 @@ public class CommentMapperTest extends BaseTest { @Test public void findAllByPagePathAndPid() { Comment comment = generateComment(); - List allByPagePathAndPid = commentMapper.findAllByPagePathAndPid(comment.getPagePath(), comment.getPid()); + List allByPagePathAndPid = commentMapper.findAllByPagePathAndPidAndNormal(comment.getPagePath(), comment.getPid()); assertTrue(allByPagePathAndPid.size() >= 1); allByPagePathAndPid.forEach(comment1 -> { assertEquals(comment.getPagePath(), comment1.getPagePath());