xyh
2021-06-18 42239f79490e7130a63d51a67efd1f2c8d23be37
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -9,10 +9,14 @@
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
@@ -32,7 +36,7 @@
//            " </if> " +
//            " </where>" +
//            "</script>")
    @Select("select type,name,phone,image_url 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 ("+
@@ -42,6 +46,7 @@
            "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" +
@@ -65,6 +70,7 @@
            "select * from ("+
            "SELECT\n" +
            "u.`name` userName,\n" +
            "u.nick_name userNickName,\n" +
            "u.phone,\n" +
            "c.`comment`,\n" +
            "c.`parent_id`,\n" +
@@ -96,13 +102,14 @@
            "SELECT\n" +
            "d.id,\n" +
            "d.vote_title,\n" +
            "d.address,\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" +
@@ -135,6 +142,7 @@
            "select * from ("+
            "SELECT\n" +
            "u.`name` userName,\n" +
            "u.nick_name userNickName,\n" +
            "u.`image_url`,\n" +
            "u.phone,\n" +
            "c.`comment`,\n" +
@@ -155,19 +163,18 @@
            "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>" +
            " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 " +
            "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != &quot;&quot;'>" +
            "c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" +
            " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" +
            "}, '%' ) \n" +
            " </if> " +
            " </where>" +
            "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 from com_act where community_id=#{communityId}")
    @Select("select name,address from com_act where community_id=#{communityId}")
    ComActVO selectCommunity(Long communityId);
    @Select("SELECT \n" +
@@ -182,4 +189,35 @@
            "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);
}