package com.panzhihua.service_community.dao; import java.util.List; import java.util.Map; import com.panzhihua.common.model.dtos.PageBaseDTO; 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; import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAdminDTO; import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCommentReplyAppVO; import com.panzhihua.common.model.vos.screen.CarouselInfoVO; import com.panzhihua.common.model.vos.screen.PieElementVO; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; import com.panzhihua.service_community.model.dos.ComActNeighborCircleWestDO; /** * @auther lyq * @create 2021-04-28 09:20:49 * @describe 邻里圈表mapper类 */ @Mapper public interface ComActNeighborCircleWestDAO extends BaseMapper { /** * 分页查询邻里圈列表 * @param neighborCircleAppDTO 请求参数 * @return 邻里圈列表 */ IPage pageNeighborByApp(Page page, @Param("neighborCircleAppDTO") ComActNeighborCircleAppDTO neighborCircleAppDTO); @Select("") ComActNeighborCircleDetailAppVO neighborDetailByApp(@Param("circleId") Long circleId); IPage pageNeighborByAdmin(Page page,@Param("neighborCircleAdminDTO") ComActNeighborCircleAdminDTO neighborCircleAdminDTO); @Select("select * from sys_user where user_id=#{userId}") AdministratorsUserVO selectUserByUserId(@Param("userId") Long userId); @Select("") IPage neighborExamineByApp(Page page, @Param("userId") Long userId); @Select("select reply.id,reply.comment_id,reply.reply_content,reply.fabulous_num,reply.create_at" + ",reply.is_release,su.nick_name as userName,su.image_url as userHeadUrl,su1.nick_name as oldUserName" + " from com_act_neighbor_circle_comment_reply as reply" + " left join sys_user as su on su.user_id = reply.user_id" + " left join sys_user as su1 on su1.user_id = reply.parent_user_id" + " where reply.comment_id = #{commentId} and reply.status = 1") IPage neighborCommentReplyByApp(Page page, @Param("commentId") Long commentId); @Select("SELECT id,release_content as content FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} and status = 2 ORDER BY create_at DESC limit #{pageSize}") List screenNeighborCircle(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize); @Select(" SELECT COUNT(id) AS totalNum," + " (SELECT COUNT(id) FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} AND status = 2 AND create_at LIKE CONCAT(#{nowDate},'%')) AS currentNum " + " FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} AND status = 2") Map countByCommunityId(@Param("communityId") Long communityId, @Param("nowDate") String nowDate); @Select("SELECT SUM(comment_num) as commentNum,SUM(fabulous_num) as fabulousNum,SUM(forward_num) as forwardNum FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} and status = 2 ") Map sumScreenNum(@Param("communityId") Long communityId); @Select("SELECT release_images FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} and status = 2 order by create_at desc limit #{pageSize}") List screenNeighborCircleImgs(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize); @Select("SELECT COUNT(id) as num,'随手拍' as name FROM com_act_easy_photo WHERE community_id = ${communityId} AND STATUS = 4 " + "UNION ALL " + "SELECT COUNT(id) as num,'微心愿' as name FROM com_act_micro_wish WHERE community_id = ${communityId} AND STATUS = 6 " + "UNION ALL " + "SELECT COUNT(id) as num,'一起议' as name FROM com_act_discuss WHERE community_id = ${communityId} " + "UNION ALL " + "SELECT COUNT(id) as num,'邻里圈' as name FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} AND STATUS = 2 " + "UNION ALL " + "SELECT COUNT( e.id ) AS num,'网格事件' AS name FROM `event` as e left join event_grid_data as egd on egd.id = e.grid_id WHERE egd.grid_community_id = ${communityId} AND e.event_process_status = 2 " + "UNION ALL " + "SELECT COUNT(id) as num,'社区活动' as name FROM com_act_activity WHERE community_id = ${communityId} AND STATUS = 5 ") List countAllCompletedWorkByCommunityId(@Param("communityId") Long communityId); @Select("SELECT COUNT(id) as num,'随手拍' as name FROM com_act_easy_photo WHERE community_id = ${communityId} AND (STATUS = 1 or STATUS = 2) " + "UNION ALL " + "SELECT COUNT(id) as num,'微心愿' as name FROM com_act_micro_wish WHERE community_id = ${communityId} AND (STATUS = 1 or STATUS = 2 or STATUS = 3 or STATUS = 4) " + "UNION ALL " + "SELECT COUNT(id) as num,'一起议' as name FROM com_act_discuss WHERE community_id = ${communityId} " + "UNION ALL " + "SELECT COUNT(id) as num,'邻里圈' as name FROM com_act_neighbor_circle_west WHERE community_id = ${communityId} AND STATUS = 1 " + "UNION ALL " + "SELECT COUNT( e.id ) AS num,'网格事件' AS NAME FROM `event` as e left join event_grid_data as egd on egd.id = e.grid_id WHERE egd.grid_community_id = ${communityId} AND e.event_status = 2 and e.event_deal_status in (1,2,3) " + "UNION ALL " + "SELECT COUNT(id),'社区活动' as name FROM com_act_activity WHERE community_id = ${communityId} AND (STATUS = 1 or STATUS = 2 or STATUS = 3 or STATUS = 4) ") List countAllNoneCompletedWorkByCommunityId(@Param("communityId") Long communityId); @Select(" SELECT AVG(b.t)AS avgTime " + " FROM (SELECT TIMESTAMPDIFF(MINUTE,create_at,feedback_at) AS t FROM com_act_easy_photo WHERE community_id = ${communityId} and STATUS = 4 " + " UNION ALL SELECT TIMESTAMPDIFF(MINUTE,create_at,finish_at) AS t FROM com_act_micro_wish WHERE community_id = ${communityId} and STATUS = 6 " + " )AS b ") Map countAvgByCommunityId(@Param("communityId")Long communityId); void addHotNum(@Param("circleId") Long circleId,@Param("hotNum") Long hotNum); void addTopicHotNum(@Param("circleId") Long circleId,@Param("hotNum") Long hotNum); /** * 获取大屏邻里圈展示图片 * @param communityId * @param pageSize * @return */ List getAllImages(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize); /** * 获取大屏邻里圈展示文本内容 * @param communityId * @param pageSize * @return */ List getContents(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize); List getIndexNeighborBaseData(@Param("communityId") Long communityId); List getNeighborAddPolylineData(@Param("communityId") Long communityId); StatisticsCommVO getNeighborTotalPolylineDate(@Param("communityId") Long communityId, @Param("date") String date); IPage indexNeighborList(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO); }