From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java | 425 ++++++++++++++++++++++++---------------------------- 1 files changed, 199 insertions(+), 226 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 1a9f4fb..ff066be 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,14 @@ package com.panzhihua.service_community.dao; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.panzhihua.common.model.vos.community.StatisticsCommVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,12 +23,6 @@ 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 @@ -29,238 +32,208 @@ **/ @Mapper public interface ComActDiscussDAO extends BaseMapper<ComActDiscussDO> { - // @Select("<script> " + -// " <where>" + -// "<if test='nameCn != null and nameCn.trim() != ""'>" + -// " </if> " + -// "<if test='nameCn != null and nameCn.trim() != ""'>" + -// " </if> " + -// "<if test='nameCn != null and nameCn.trim() != ""'>" + -// " </if> " + -// " </where>" + -// "</script>") + // @Select("<script> " + + // " <where>" + + // "<if test='nameCn != null and nameCn.trim() != ""'>" + + // " </if> " + + // "<if test='nameCn != null and nameCn.trim() != ""'>" + + // " </if> " + + // "<if test='nameCn != null and nameCn.trim() != ""'>" + + // " </if> " + + // " </where>" + + // "</script>") @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() != ""'>" + - " 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); - @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, " + - "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}, '%' ) " + - " </if> " + - "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" + - "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}" + - "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" + - " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + - "}, '%' ) " + - " </if> " + - "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 " + - "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, " + - "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(du.id is not null,1,0) haveSign, " + - "if(ou.id is not null,1,0) haveVote, " + - "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_user du ON d.id = du.discuss_id " + - "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id " + - "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} " + - " where d.community_id=#{pageComActDiscussDTO.communityId}" + - "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" + - " 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>") - IPage<ComActDiscussVO> pageDiscussApplets(Page page, @Param("pageComActDiscussDTO")PageComActDiscussDTO pageComActDiscussDTO); - @Select("<script> " + - "select * from ("+ - "SELECT " + - "u.`name` userName, " + - "u.nick_name userNickName, " + - "u.`image_url`, " + - "u.phone, " + - "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}, '%' ) " + - " </if> " + - "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" + - "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() != ""'>" + - " 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); +// @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() != ""'>" +// + " 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, " + + "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}, '%' ) " + " </if> " + + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" + + "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}" + + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" + + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' ) " + " </if> " + + "GROUP BY " + "c.id " + ")t order by t.create_at desc" + "</script>") + IPage<ComActDiscussCommentVO> pageDiscussComment(Page page, + @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); + + /** + * 议事投票-评论-后台分页查询 + * + * @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() != ""'>" +// + " 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` > now() " + " </if> " +// + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 2'>" +// + " and d.`end_time` < 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() != ""'>" +// + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " + " </if> " +// + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" +// + "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() != ""'>" +// + " 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); @Select("select name,address from com_act where community_id=#{communityId}") ComActVO selectCommunity(Long communityId); - @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 " + "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 = 2 AND create_at LIKE CONCAT('','%'))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 commonPeopleNum," + - "(" + - "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 volunteerPeopleNum " + - " FROM com_act_discuss") - Map<String, Long> countByCommunityId(@Param("communityId")Long communityId, @Param("date")String date); + @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); + 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>") + @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") + @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); + + /** + * 添加议事投票评论数 + * @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); + + /** + * 居民自治-议事投票类型占比统计 + * @param communityId + * @return + */ + List<StatisticsCommVO> selectTypePercent(@Param("communityId") Long communityId); + + /** + * 获取一起议标题 + * @param type + * @param communityId + * @param pageSize + * @return + */ + List<String> getTitles(@Param("type") int type, @Param("communityId") Long communityId, @Param("pageSize") Integer pageSize); } -- Gitblit v1.7.1