From 1775bb71f952106c58657cf02891cbe2a286c8f8 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期三, 22 九月 2021 11:30:47 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java |  154 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 109 insertions(+), 45 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
index 2bf6d04..bd5c558 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -1,5 +1,6 @@
 package com.panzhihua.service_community.dao;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -43,18 +44,21 @@
     @Select("select type,name,phone,image_url,nick_name from sys_user where user_id=#{userId}")
     LoginUserInfoVO selectUserByUserId(Long userId);
 
-    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, "
-        + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at  "
-        + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
-        + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id  "
-        + " where d.community_id=#{pageComActDiscussDTO.communityId}"
-        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
-        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
-        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
-        + "AND #{pageComActDiscussDTO.end}  " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
-        + "</script>")
+//    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, "
+//        + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at  "
+//        + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
+//        + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id  "
+//        + " where d.community_id=#{pageComActDiscussDTO.communityId}"
+//        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
+//        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
+//        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
+//        + "AND #{pageComActDiscussDTO.end}  " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
+//        + "</script>")
     IPage<ComActDiscussVO> pageDiscuss(Page page,
         @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
+
+    IPage<ComActDiscussVO> pageDiscussAdmin(Page page,
+                                       @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
 
     @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "u.nick_name userNickName, "
         + "u.phone, " + "c.`comment`, " + "c.`parent_id`, " + "COUNT(DISTINCT  cu.id ) num, " + "c.create_at, "
@@ -71,44 +75,69 @@
     IPage<ComActDiscussCommentVO> pageDiscussComment(Page page,
         @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
 
-    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.vote_title, "
-        + "if(d.address is null or d.address='null',a.name,d.address )address, " + "d.photo_pah, "
-        + "d.`discuss_subject`, " + "d.type, " + "u.type as userType, " + "COUNT( DISTINCT c.id ) commentNum, "
-        + "COUNT( DISTINCT du.id ) signNum, " + "if(u.type=1,u.name,a.name) userName, "
-        + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>"
-        + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, "
-        + "d.create_at  " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
-        + "JOIN com_act a ON d.community_id = a.community_id "
-        + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id  "
-        + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id  "
-        + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id  "
-        + "<if test='pageComActDiscussDTO.loginUserId != null '>"
-        + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} "
-        + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}"
-        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
-        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
-        + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>"
-        + " and d.`user_id` = #{pageComActDiscussDTO.userId}  " + " </if> "
-        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
-        + "AND #{pageComActDiscussDTO.end}  " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
-        + "</script>")
+    /**
+     * 议事投票-评论-后台分页查询
+     *
+     * @param pageComActDiscussCommentDTO
+     *            分页查询参数
+     * @return ComActDiscussCommentVO
+     */
+    IPage<ComActDiscussCommentVO> pageDiscussCommentAdmin(Page page,
+                                                     @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
+
+    /**
+     * 默认查询评论下两条回复信息
+     * @param commentId 评论id
+     * @return  回复列表
+     */
+    List<ComActDiscussCommentVO> getDiscussCommentReplyList(@Param("commentId") Long commentId);
+
+
+//    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.vote_title, "
+//        + "if(d.address is null or d.address='null',a.name,d.address )address, " + "d.photo_pah, "
+//        + "d.`discuss_subject`, " + "d.type, " + "d.end_time, " + "d.status, " + "d.views_num, " + "d.join_num, "
+//        + "d.fabulous_num as signNum, " + "d.comment_num as commentNum, " + "d.release_at, " + "u.type as userType, "
+//        + "if(u.type=1,u.name,a.name) userName, "
+//        + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>"
+//        + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, "
+//        + "d.create_at  " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
+//        + "JOIN com_act a ON d.community_id = a.community_id "
+//        + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id  "
+//        + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id  "
+//        + "<if test='pageComActDiscussDTO.loginUserId != null '>"
+//        + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} "
+//        + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}" + " and d.is_del = 2"
+//        + "<if test='pageComActDiscussDTO.type != null '>"
+//        + " and d.`type` = #{pageComActDiscussDTO.type}  " + " </if> "
+//        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
+//        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
+//        + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>"
+//        + " and d.`user_id` = #{pageComActDiscussDTO.userId}  " + " </if> "
+//        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
+//        + "AND #{pageComActDiscussDTO.end}  " + " </if> "
+//        + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 1'>"
+//        + " and d.`end_time` &gt; now() " + " </if> "
+//        + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 2'>"
+//        + " and d.`end_time` &lt; now() " + " </if> "
+//        + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
+//        + "</script>")
     IPage<ComActDiscussVO> pageDiscussApplets(Page page,
         @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
 
-    @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, "
-        + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, "
-        + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( cu.id ) num, " + "c.create_at, " + "c.id  " + "FROM "
-        + "com_act_discuss_comment c " + "JOIN sys_user u ON c.user_id = u.user_id  "
-        + "JOIN com_act_discuss d ON c.discuss_id = d.id  "
-        + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != &quot;&quot;'>"
-        + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' )  " + " </if> "
-        + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != &quot;&quot;'>"
-        + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> "
-        + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id  "
-        + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 "
-        + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != &quot;&quot;'>"
-        + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' )  " + " </if> "
-        + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>")
+//    @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, "
+//        + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, "
+//        + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( cu.id ) num, " + "c.create_at, " + "c.id  " + "FROM "
+//        + "com_act_discuss_comment c " + "JOIN sys_user u ON c.user_id = u.user_id  "
+//        + "JOIN com_act_discuss d ON c.discuss_id = d.id  "
+//        + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != &quot;&quot;'>"
+//        + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' )  " + " </if> "
+//        + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != &quot;&quot;'>"
+//        + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> "
+//        + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id  "
+//        + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 and c.is_del = 2"
+//        + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != &quot;&quot;'>"
+//        + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' )  " + " </if> "
+//        + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>")
     IPage<ComActDiscussCommentVO> pageDiscussCommentApplets(Page page,
         @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
 
@@ -155,4 +184,39 @@
         + ",( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_option_id = c.id ) AS num " + " FROM "
         + " com_act_discuss_option AS c " + " WHERE c.discuss_id = #{discussId}" + " ORDER BY " + " num DESC")
     List<ComActDiscussOptionVO> getScreenDiscussOptionList(@Param("discussId") Long discussId);
+
+    /**
+     * 添加议事投票评论数
+     * @param discussId 议事投票
+     * @param num   添加数量
+     */
+    void addCommentCount(@Param("discussId") Long discussId,@Param("num") Integer num);
+
+    /**
+     * 更新一起议主题状态
+     * @param discussId
+     * @param status
+     */
+    void updateStatusById(@Param("discussId") Long discussId, @Param("status") int status);
+
+    /**
+     * 增加评论总数和参与讨论总数
+     * @param discussId 一起议主键id
+     * @param isFirstComment 是否首次参与
+     */
+    void incrCommentAndJoinNumById(@Param("discussId") Long discussId, @Param("isFirstComment") boolean isFirstComment);
+
+    /**
+     * 一起议点赞/取消点赞 增加/减少点赞总数
+     * @param discussId 一起议主键id
+     * @param isIncr 是否是新增
+     */
+    void incrOrDecrFabulousNumByType(@Param("discussId") Long discussId, @Param("isIncr") Boolean isIncr);
+
+    /**
+     * 批量更新浏览量
+     * @param needDealMap id-viewNum参数合集
+     * @return
+     */
+    int batchUpdateViewNum(@Param("needDealMap") HashMap<Long, Integer> needDealMap);
 }

--
Gitblit v1.7.1