From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java | 50 +++++++++++++++++++++++++++----------------------- 1 files changed, 27 insertions(+), 23 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..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 @@ -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() != ""'>" + " 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`, " + @@ -194,30 +200,28 @@ 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(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 " + - ")AS commonPeopleNum," + + "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(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 " + + "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); -- Gitblit v1.7.1