From 42239f79490e7130a63d51a67efd1f2c8d23be37 Mon Sep 17 00:00:00 2001
From: xyh <18782104331@139.com>
Date: 星期五, 18 六月 2021 09:50:44 +0800
Subject: [PATCH] 平均耗时格式

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java |  196 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 195 insertions(+), 1 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 b8358d1..a8fc4fd 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,10 +1,22 @@
 package com.panzhihua.service_community.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO;
+import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO;
+import com.panzhihua.common.model.vos.community.ComActDiscussVO;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.screen.CarouselInfoVO;
 import com.panzhihua.service_community.model.dos.ComActDiscussDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -24,6 +36,188 @@
 //            " </if> " +
 //            " </where>" +
 //            "</script>")
-    @Select("select type,name from sys_user where user_id=#{userId}")
+    @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\n" +
+            "d.id,\n" +
+            "d.`discuss_subject`,\n" +
+            "d.type,\n" +
+            "COUNT( DISTINCT c.id ) commentNum,\n" +
+            "u.name userName,\n" +
+            "u.nick_name userNickName,\n" +
+            "d.create_at \n" +
+            "FROM\n" +
+            "com_act_discuss d\n" +
+            "JOIN sys_user u ON d.user_id = u.user_id\n" +
+            "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id \n" +
+            " 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}, '%' ) \n" +
+            " </if> " +
+            "<if test='pageComActDiscussDTO.begin != null '>" +
+            "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} \n" +
+            "AND #{pageComActDiscussDTO.end} \n" +
+            " </if> " +
+            "GROUP BY\n" +
+            "d.id" +
+            ")t order by t.create_at desc "+
+            "</script>")
+    IPage<ComActDiscussVO> pageDiscuss(Page page, @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
+
+    @Select("<script> " +
+            "select * from ("+
+            "SELECT\n" +
+            "u.`name` userName,\n" +
+            "u.nick_name userNickName,\n" +
+            "u.phone,\n" +
+            "c.`comment`,\n" +
+            "c.`parent_id`,\n" +
+            "COUNT(DISTINCT  cu.id ) num,\n" +
+            "c.create_at,\n" +
+            "c.id \n" +
+            "FROM\n" +
+            "com_act_discuss_comment c\n" +
+            "JOIN sys_user u ON c.user_id = u.user_id \n" +
+            "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != &quot;&quot;'>" +
+            "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) \n" +
+            " </if> " +
+            "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != &quot;&quot;'>" +
+            "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' )\n" +
+            " </if> " +
+            "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id \n" +
+            " where c.discuss_id=#{pageComActDiscussCommentDTO.id}" +
+            "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != &quot;&quot;'>" +
+            " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" +
+            "}, '%' ) \n" +
+            " </if> " +
+            "GROUP BY\n" +
+            "c.id\n" +
+            ")t order by t.create_at desc"+
+            "</script>")
+    IPage<ComActDiscussCommentVO> pageDiscussComment(Page page, @Param("pageComActDiscussCommentDTO")PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
+    @Select("<script> " +
+            "select t.* from ("+
+            "SELECT\n" +
+            "d.id,\n" +
+            "d.vote_title,\n" +
+            "if(d.address is null or d.address='null',a.name,d.address )address,\n" +
+            "d.photo_pah,\n" +
+            "d.`discuss_subject`,\n" +
+            "d.type,\n" +
+            "COUNT( DISTINCT c.id ) commentNum,\n" +
+            "COUNT( DISTINCT du.id ) signNum,\n" +
+            "if(u.type=1,u.name,a.name) userName,\n" +
+            "if(u.type=1,u.nick_name,a.name) userNickName,\n" +
+            "if(du.id is not null,1,0) haveSign,\n" +
+            "if(ou.id is not null,1,0) haveVote,\n" +
+            "u.image_url,\n" +
+            "d.create_at \n" +
+            "FROM\n" +
+            "com_act_discuss d\n" +
+            "JOIN sys_user u ON d.user_id = u.user_id\n" +
+            "JOIN com_act a ON d.community_id = a.community_id\n" +
+            "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id \n" +
+            "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id \n" +
+            "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id \n" +
+            "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId}\n" +
+            " 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}, '%' ) \n" +
+            " </if> " +
+            "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" +
+            " and d.`user_id` = #{pageComActDiscussDTO.userId} \n" +
+            " </if> " +
+            "<if test='pageComActDiscussDTO.begin != null '>" +
+            "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} \n" +
+            "AND #{pageComActDiscussDTO.end} \n" +
+            " </if> " +
+            "GROUP BY\n" +
+            "d.id" +
+            ")t order by t.create_at desc "+
+            "</script>")
+    IPage<ComActDiscussVO> pageDiscussApplets(Page page, @Param("pageComActDiscussDTO")PageComActDiscussDTO pageComActDiscussDTO);
+    @Select("<script> " +
+            "select * from ("+
+            "SELECT\n" +
+            "u.`name` userName,\n" +
+            "u.nick_name userNickName,\n" +
+            "u.`image_url`,\n" +
+            "u.phone,\n" +
+            "c.`comment`,\n" +
+            "c.`parent_id`,\n" +
+            "c.`is_author`,\n" +
+            "c.`is_topping`,\n" +
+            "COUNT( cu.id ) num,\n" +
+            "c.create_at,\n" +
+            "c.id \n" +
+            "FROM\n" +
+            "com_act_discuss_comment c\n" +
+            "JOIN sys_user u ON c.user_id = u.user_id \n" +
+            "JOIN com_act_discuss d ON c.discuss_id = d.id \n" +
+            "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != &quot;&quot;'>" +
+            "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) \n" +
+            " </if> " +
+            "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != &quot;&quot;'>" +
+            "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' )\n" +
+            " </if> " +
+            "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id \n" +
+            " 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" +
+            "}, '%' ) \n" +
+            " </if> " +
+            "GROUP BY\n" +
+            "c.id\n" +
+            ")t order by t.is_topping desc , t.create_at desc"+
+            "</script>")
+    IPage<ComActDiscussCommentVO> pageDiscussCommentApplets(Page page, @Param("pageComActDiscussCommentDTO")PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
+
+    @Select("select name,address from com_act where community_id=#{communityId}")
+    ComActVO selectCommunity(Long communityId);
+
+    @Select("SELECT \n" +
+            "if(du.id is not null,1,0)haveSign,\n" +
+            "if(ou.id is not null,1,0)haveVote\n" +
+            "FROM\n" +
+            "com_act_discuss d \n" +
+            "LEFT JOIN com_act_discuss_user du on d.id=du.discuss_id and du.`user_id`=#{loginUserId}\n" +
+            "LEFT JOIN com_act_discuss_option op on d.id=op.discuss_id\n" +
+            "LEFT JOIN com_act_discuss_option_user ou on op.id=ou.discuss_option_id and ou.user_id=#{loginUserId}\n" +
+            "WHERE\n" +
+            "d.id =#{id}\n" +
+            "GROUP BY d.id")
+    ComActDiscussVO selectHaveSignAndHaveVote(@Param("id") Long id, @Param("loginUserId")Long loginUserId);
+
+    @Select(" SELECT COUNT(id) AS currentNum," +
+            "(SELECT COUNT(id)  FROM com_act_discuss WHERE community_id = 2 AND type = 1)AS imgNum," +
+            "(" +
+            "SELECT COUNT(DISTINCT(user_id)) FROM (" +
+            " SELECT c.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_comment c ON d.id = c.discuss_id WHERE d.community_id = 2 AND d.type = 1 " +
+            " UNION ALL " +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_comment c ON d.id = c.discuss_id INNER JOIN com_act_discuss_comment_user u ON c.id = u.disscuss_comment_id  WHERE d.community_id = 2 AND d.type = 1 " +
+            "UNION ALL "  +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_option o ON d.id = o.discuss_id INNER JOIN com_act_discuss_option_user u ON o.id = u.discuss_option_id  WHERE d.community_id = 2 AND d.type = 1 " +
+            " UNION ALL " +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_user u ON d.id = u.discuss_id WHERE d.community_id = 2 AND d.type = 1 " +
+            ")d " +
+            ")AS imgPeopleNum," +
+            "(SELECT COUNT(id)  FROM com_act_discuss WHERE community_id = 2 AND type = 2)AS voteNum," +
+            "(" +
+            "SELECT COUNT(DISTINCT(user_id)) FROM (" +
+            " SELECT c.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_comment c ON d.id = c.discuss_id WHERE d.community_id = 2 AND d.type = 2 " +
+            " UNION ALL" +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_comment c ON d.id = c.discuss_id INNER JOIN com_act_discuss_comment_user u ON c.id = u.disscuss_comment_id  WHERE d.community_id = 2 AND d.type = 2 " +
+            "UNION ALL " +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_option o ON d.id = o.discuss_id INNER JOIN com_act_discuss_option_user u ON o.id = u.discuss_option_id  WHERE d.community_id = 2 AND d.type = 2 " +
+            " UNION ALL " +
+            " SELECT u.user_id FROM  com_act_discuss d INNER JOIN com_act_discuss_user u ON d.id = u.discuss_id WHERE d.community_id = 2 AND d.type = 2 " +
+            ")d " +
+            ")AS votePeopleNum " +
+            " FROM com_act_discuss WHERE community_id = 2 AND create_at LIKE CONCAT('','%')")
+    Map<String, Long> countByCommunityId(@Param("communityId")Long communityId, @Param("date")String date);
+
+    @Select(" SELECT id,discuss_subject AS content,IF(type = 1,'图文','投票') AS typeName FROM com_act_discuss WHERE community_id = #{communityId} ORDER BY create_at DESC LIMIT #{pageSize}")
+    List<CarouselInfoVO> screenDiscuss(@Param("communityId") Long communityId, @Param("pageSize")Integer pageSize);
 }

--
Gitblit v1.7.1