| | |
| | | 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; |
| | |
| | | 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>") |
| | |
| | | |
| | | @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, " + |
| | | "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}, '%' ) \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, " + |
| | | "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); |
| | |
| | | @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 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); |
| | | } |