huanghongfa
2021-08-21 2e64c232ab6b51b2cecf1ee96e1e9b709234f326
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -109,12 +109,15 @@
            "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 " +
@@ -122,9 +125,11 @@
            "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_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}, '%' )  " +
@@ -148,6 +153,7 @@
            "u.nick_name userNickName, " +
            "u.`image_url`, " +
            "u.phone, " +
            "u.type as userType, " +
            "c.`comment`, " +
            "c.`parent_id`, " +
            "c.`is_author`, " +
@@ -193,32 +199,30 @@
            "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(" 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(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 " +
            "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(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 " +
            "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 WHERE community_id = 2 AND create_at LIKE CONCAT('','%')")
            " 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}")