From e343e508ce5f2d355ad82c05a319981c66d1324b Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Wed, 02 Mar 2022 01:36:27 +0800
Subject: [PATCH] 评论页追加完成

---
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/mapping/BlogArticleCommentMapper.xml         |   25 ++++++++++++
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/param/BlogCommentQueryDto.java                      |    2 +
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/entity/BlogCommentVo.java                           |    4 ++
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/impl/BlogArticleCommentServiceImpl.java     |    6 +++
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/controller/BlogArticleCommentOutsideController.java |   41 ++++++++++++++++++++
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/BlogArticleCommentMapper.java                |    5 ++
 snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java                           |    2 
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/BlogArticleCommentService.java              |    7 ++-
 8 files changed, 88 insertions(+), 4 deletions(-)

diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
index 372919e..f41a849 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
@@ -74,7 +74,7 @@
 
         String startFrom = "从这开始: 2020-05-27 ";
         String aliveDayCount = "已稳定运行:" + DateUtil.between(DateUtil.parseDate("2022-02-14"), new Date(), DateUnit.DAY) + "天";
-        String lastUpdateDate = "上次更新:" + updateDate;
+        String lastUpdateDate = "上次活跃于:" + updateDate;
         String visitCount = "累计访问:1010次"; //24小时ip 访问次数
         String visitorCount = "累计访客:1001名";//所有时间ip个数
 
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/controller/BlogArticleCommentOutsideController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/controller/BlogArticleCommentOutsideController.java
index 544c4c4..86ea2a4 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/controller/BlogArticleCommentOutsideController.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/controller/BlogArticleCommentOutsideController.java
@@ -25,6 +25,7 @@
 package vip.xiaonuo.modular.blogarticlecomment.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -99,15 +100,33 @@
         List<BlogArticleComment> commentList = blogArticleCommentService.lambdaQuery()
                 .eq(queryDto.getArticleId() != null, BlogArticleComment::getArticleId, queryDto.getArticleId())
                 .eq(BlogArticleComment::getCommentType, queryDto.getArticleId() == null ? MyConstant.CommentType.type_1 : MyConstant.CommentType.type_2)
+                .eq(BlogArticleComment::getIsCheck, MyConstant.Yes)
                 .eq(BlogArticleComment::getIsEnable, MyConstant.Yes)
-                .eq(BlogArticleComment::getParentId,0)
+                .eq(BlogArticleComment::getParentId, 0)
                 .orderByDesc(BlogArticleComment::getCreateDate)
                 .page(queryPage).getRecords();
 
+        int limitCount = 5;
+        String privateComment = "******";
         List<BlogCommentVo> res = commentList.stream().map(e -> {
                     BlogCommentVo vo = new BlogCommentVo();
                     BeanUtil.copyProperties(e, vo);
+                    vo.setIsHasNext(MyConstant.No);
+                    List<BlogCommentVo> replyList = blogArticleCommentService.getReplyListById(e.getId(), limitCount);
+                    vo.setReplyList(replyList);
 
+                    if (e.getAuthStatus().equals(MyConstant.AuthStatus.privateCode)) {
+                        vo.setCommentContent(privateComment);
+                    }
+
+                    if (CollUtil.isNotEmpty(replyList)
+                            && blogArticleCommentService.lambdaQuery()
+                            .eq(BlogArticleComment::getParentId, e.getId())
+                            .eq(BlogArticleComment::getIsCheck, MyConstant.Yes)
+                            .eq(BlogArticleComment::getIsEnable, MyConstant.Yes)
+                            .count() > limitCount) {
+                        vo.setIsHasNext(MyConstant.Yes);
+                    }
                     return vo;
                 }
         ).collect(Collectors.toList());
@@ -115,4 +134,24 @@
         queryPage.setRecords(res);
         return new SuccessResponseData(queryPage);
     }
+
+    @GetMapping("/blogComment/queryBlogCommentSubList")
+    @BusinessLog(title = "外部blog系统_blog留言/评论子列表_查询", opType = LogAnnotionOpTypeEnum.QUERY)
+    public ResponseData queryBlogCommentSubList(BlogCommentQueryDto queryDto) {
+        if (queryDto.getArticleId() != null && blogArticleCommentService.getById(queryDto.getCommentId()) == null) {
+            throw new BlogException("查询不到相关评论");
+        }
+
+        String privateComment = "(悄悄话已隐藏)******";
+
+        List<BlogCommentVo> replyList = blogArticleCommentService.getReplyListById(queryDto.getCommentId(), null);
+        for (BlogCommentVo vo : replyList) {
+            vo.setIsHasNext(MyConstant.No);
+            if (vo.getAuthStatus().equals(MyConstant.AuthStatus.privateCode)) {
+                vo.setCommentContent(privateComment);
+            }
+        }
+
+        return new SuccessResponseData(replyList);
+    }
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/entity/BlogCommentVo.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/entity/BlogCommentVo.java
index 7db8b49..423f271 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/entity/BlogCommentVo.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/entity/BlogCommentVo.java
@@ -33,4 +33,8 @@
 
     private List<BlogCommentVo> replyList;
 
+    private Integer isHasNext;
+
+    private Integer authStatus;
+
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/BlogArticleCommentMapper.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/BlogArticleCommentMapper.java
index e318e6c..d9aa3f0 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/BlogArticleCommentMapper.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/BlogArticleCommentMapper.java
@@ -25,7 +25,11 @@
 package vip.xiaonuo.modular.blogarticlecomment.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.modular.blogarticlecomment.entity.BlogArticleComment;
+import vip.xiaonuo.modular.blogarticlecomment.entity.BlogCommentVo;
+
+import java.util.List;
 
 /**
  * 文章评论
@@ -34,4 +38,5 @@
  * @date 2022-03-01 14:00:53
  */
 public interface BlogArticleCommentMapper extends BaseMapper<BlogArticleComment> {
+    List<BlogCommentVo> getReplyListById(@Param("id") Long id, @Param("limitCount") Integer limitCount);
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/mapping/BlogArticleCommentMapper.xml b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/mapping/BlogArticleCommentMapper.xml
index 2008755..bcbce7f 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/mapping/BlogArticleCommentMapper.xml
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/mapper/mapping/BlogArticleCommentMapper.xml
@@ -2,4 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="vip.xiaonuo.modular.blogarticlecomment.mapper.BlogArticleCommentMapper">
 
+    <select id="getReplyListById" resultType="vip.xiaonuo.modular.blogarticlecomment.entity.BlogCommentVo">
+        SELECT
+        b.id AS id,
+        b.parent_id AS parentId,
+        b.reply_id AS replyId,
+        b.visitor_id AS visitorId,
+        b.visitor_nick_name AS visitorNickName,
+        b.visitor_home_page AS visitorHomePage,
+        b.comment_content AS commentContent,
+        b.create_date AS createDate,
+        b.auth_status AS authStatus,
+        a.visitor_nick_name AS replyUserName,
+        a.visitor_home_page AS replyUserHomePage
+        FROM
+        `blog_article_comment` a
+        INNER JOIN `blog_article_comment` b ON a.id = b.reply_id
+        AND b.parent_id = #{id}
+        AND b.is_enable=1
+        AND b.is_check=1
+        ORDER BY
+        a.create_date ASC
+        <if test="limitCount != null">
+            LIMIT #{limitCount};
+        </if>
+    </select>
 </mapper>
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/param/BlogCommentQueryDto.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/param/BlogCommentQueryDto.java
index 5c90a93..6bde9aa 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/param/BlogCommentQueryDto.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/param/BlogCommentQueryDto.java
@@ -19,4 +19,6 @@
 
     private Long articleId;
 
+    private Long commentId;
+
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/BlogArticleCommentService.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/BlogArticleCommentService.java
index 3c44e01..f7142ab 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/BlogArticleCommentService.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/BlogArticleCommentService.java
@@ -27,7 +27,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.core.pojo.page.PageResult;
 import vip.xiaonuo.modular.blogarticlecomment.entity.BlogArticleComment;
+import vip.xiaonuo.modular.blogarticlecomment.entity.BlogCommentVo;
 import vip.xiaonuo.modular.blogarticlecomment.param.BlogArticleCommentParam;
+
 import java.util.List;
 
 /**
@@ -84,7 +86,7 @@
      * @author inleft
      * @date 2022-03-01 14:00:53
      */
-     BlogArticleComment detail(BlogArticleCommentParam blogArticleCommentParam);
+    BlogArticleComment detail(BlogArticleCommentParam blogArticleCommentParam);
 
     /**
      * 导出文章评论
@@ -92,6 +94,7 @@
      * @author inleft
      * @date 2022-03-01 14:00:53
      */
-     void export(BlogArticleCommentParam blogArticleCommentParam);
+    void export(BlogArticleCommentParam blogArticleCommentParam);
 
+    List<BlogCommentVo> getReplyListById(Long id, Integer limitCount);
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/impl/BlogArticleCommentServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/impl/BlogArticleCommentServiceImpl.java
index 670c48f..7153a3b 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/impl/BlogArticleCommentServiceImpl.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticlecomment/service/impl/BlogArticleCommentServiceImpl.java
@@ -33,6 +33,7 @@
 import vip.xiaonuo.core.pojo.page.PageResult;
 import vip.xiaonuo.core.util.PoiUtil;
 import vip.xiaonuo.modular.blogarticlecomment.entity.BlogArticleComment;
+import vip.xiaonuo.modular.blogarticlecomment.entity.BlogCommentVo;
 import vip.xiaonuo.modular.blogarticlecomment.enums.BlogArticleCommentExceptionEnum;
 import vip.xiaonuo.modular.blogarticlecomment.mapper.BlogArticleCommentMapper;
 import vip.xiaonuo.modular.blogarticlecomment.param.BlogArticleCommentParam;
@@ -153,4 +154,9 @@
         PoiUtil.exportExcelWithStream("SnowyBlogArticleComment.xls", BlogArticleComment.class, list);
     }
 
+    @Override
+    public List<BlogCommentVo> getReplyListById(Long id, Integer limitCount) {
+        return this.baseMapper.getReplyListById(id, limitCount);
+    }
+
 }

--
Gitblit v1.9.1