From 239df6b32472882b4bd74fe97d9cc589c4f39baf Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期日, 15 八月 2021 12:25:47 +0800
Subject: [PATCH] Merge branch 'test' into 'master'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java | 270 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 176 insertions(+), 94 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 41dceca..dcaff26 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
@@ -5,14 +5,21 @@
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.dtos.community.bigscreen.work.ScreenDiscussListDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO;
+import com.panzhihua.common.model.vos.community.ComActDiscussOptionVO;
import com.panzhihua.common.model.vos.community.ComActDiscussVO;
import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.screen.work.DiscussListVO;
+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
@@ -36,27 +43,27 @@
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" +
+ "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() != ""'>" +
- " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) \n" +
+ " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " +
" </if> " +
"<if test='pageComActDiscussDTO.begin != null '>" +
- "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} \n" +
- "AND #{pageComActDiscussDTO.end} \n" +
+ "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " +
+ "AND #{pageComActDiscussDTO.end} " +
" </if> " +
- "GROUP BY\n" +
+ "GROUP BY " +
"d.id" +
")t order by t.create_at desc "+
"</script>")
@@ -64,108 +71,114 @@
@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" +
+ "SELECT " +
+ "u.`name` userName, " +
+ "u.nick_name userNickName, " +
+ "u.phone, " +
+ "c.`comment`, " +
+ "c.`parent_id`, " +
+ "COUNT(DISTINCT 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 " +
"<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'>" +
- "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) \n" +
+ "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " +
" </if> " +
"<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" +
- "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' )\n" +
+ "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " +
" </if> " +
- "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id \n" +
+ "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id " +
" where c.discuss_id=#{pageComActDiscussCommentDTO.id}" +
"<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" +
" and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" +
- "}, '%' ) \n" +
+ "}, '%' ) " +
" </if> " +
- "GROUP BY\n" +
- "c.id\n" +
+ "GROUP BY " +
+ "c.id " +
")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" +
+ "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() != ""'>" +
- " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) \n" +
+ " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " +
" </if> " +
"<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" +
- " and d.`user_id` = #{pageComActDiscussDTO.userId} \n" +
+ " and d.`user_id` = #{pageComActDiscussDTO.userId} " +
" </if> " +
"<if test='pageComActDiscussDTO.begin != null '>" +
- "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} \n" +
- "AND #{pageComActDiscussDTO.end} \n" +
+ "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " +
+ "AND #{pageComActDiscussDTO.end} " +
" </if> " +
- "GROUP BY\n" +
+ "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\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" +
+ "SELECT " +
+ "u.`name` userName, " +
+ "u.nick_name 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() != ""'>" +
- "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) \n" +
+ "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " +
" </if> " +
"<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" +
- "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' )\n" +
+ "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " +
" </if> " +
- "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id \n" +
+ "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() != ""'>" +
" and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" +
- "}, '%' ) \n" +
+ "}, '%' ) " +
" </if> " +
- "GROUP BY\n" +
- "c.id\n" +
+ "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);
@@ -173,16 +186,85 @@
@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" +
+ @Select("SELECT " +
+ "if(du.id is not null,1,0)haveSign, " +
+ "if(ou.id is not null,1,0)haveVote " +
+ "FROM " +
+ "com_act_discuss d " +
+ "LEFT JOIN com_act_discuss_user du on d.id=du.discuss_id and du.`user_id`=#{loginUserId} " +
+ "LEFT JOIN com_act_discuss_option op on d.id=op.discuss_id " +
+ "LEFT JOIN com_act_discuss_option_user ou on op.id=ou.discuss_option_id and ou.user_id=#{loginUserId} " +
+ "WHERE " +
+ "d.id =#{id} " +
"GROUP BY d.id")
ComActDiscussVO selectHaveSignAndHaveVote(@Param("id") Long id, @Param("loginUserId")Long loginUserId);
+
+ @Select(" SELECT COUNT(id) AS totalNum," +
+ "(SELECT COUNT(id) FROM com_act_discuss WHERE community_id = #{communityId} AND create_at between date_sub(curdate() - day(curdate()) +1,interval 1 month) and now())AS currentNum," +
+ "(SELECT COUNT(id) FROM com_act_discuss WHERE community_id = #{communityId} AND TYPE = 1)AS imgNum," +
+ "(" +
+ "SELECT " +
+ " count(distinct cadc.user_id) " +
+ "FROM " +
+ " com_act_discuss_comment AS cadc " +
+ " LEFT JOIN com_act_discuss AS cad ON cad.id = cadc.discuss_id " +
+ " where cad.type = 1 and cad.community_id = #{communityId} " +
+ ")AS imgPeopleNum," +
+ "(" +
+ "select count(user_id) from ( " +
+ "SELECT " +
+ " distinct cadc.user_id " +
+ "FROM " +
+ " com_act_discuss_comment AS cadc " +
+ " LEFT JOIN com_act_discuss AS cad ON cad.id = cadc.discuss_id " +
+ " where cad.type = 2 and cad.community_id = #{communityId} " +
+ " union all " +
+ " SELECT DISTINCT cadou.user_id FROM com_act_discuss_option_user AS cadou LEFT JOIN com_act_discuss_option AS cado ON cado.id = cadou.discuss_option_id left join com_act_discuss as cad on cad.id = cado.discuss_id where cad.community_id = #{communityId}" +
+ ") t" +
+ ")AS votePeopleNum " +
+ " FROM com_act_discuss")
+ 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);
+
+ @Select("<script> " +
+ "SELECT " +
+ " cad.id, " +
+ " su.nick_name AS userName, " +
+ " su.image_url, " +
+ " cad.create_at, " +
+ " cad.type, " +
+ " cad.discuss_subject, " +
+ " cad.photo_pah " +
+ "FROM " +
+ " com_act_discuss AS cad " +
+ " LEFT JOIN sys_user AS su ON su.user_id = cad.user_id " +
+ " <where> "+
+ "<if test='discussListDTO.communityId != null '>" +
+ " and cad.community_id = #{discussListDTO.communityId} " +
+ " </if> " +
+ "<if test='discussListDTO.startTime!=null and discussListDTO.startTime != ""'>" +
+ " AND DATE_FORMAT(cad.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{discussListDTO.startTime} " +
+ " </if> " +
+ "<if test='discussListDTO.endTime!=null and discussListDTO.endTime != ""'>" +
+ " AND DATE_FORMAT(cad.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{discussListDTO.endTime} " +
+ " </if> " +
+ "<if test='discussListDTO.type!=null'>" +
+ " AND cad.type = #{discussListDTO.type} " +
+ " </if> " +
+ " </where> "+
+ "ORDER BY " +
+ " cad.create_at DESC " +
+ " </script>")
+ IPage<DiscussListVO> getScreenDiscussList(Page page, @Param("discussListDTO") ScreenDiscussListDTO discussListDTO);
+
+ @Select("SELECT id, discuss_id, create_at, option_content" +
+ ",( 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);
}
--
Gitblit v1.7.1