| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | 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.vos.community.ComActActivityVO; |
| | | import com.panzhihua.common.model.vos.community.ComActDynVO; |
| | | import com.panzhihua.common.model.vos.screen.DateScreenVO; |
| | | import com.panzhihua.common.model.vos.screen.DynamicWorkVO; |
| | | import com.panzhihua.service_community.model.dos.ComActDynDO; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | import java.util.Map; |
| | | 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.vos.community.ComActDynVO; |
| | | import com.panzhihua.common.model.vos.screen.DateScreenVO; |
| | | import com.panzhihua.common.model.vos.screen.DynamicWorkVO; |
| | | import com.panzhihua.service_community.model.dos.ComActDynDO; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | **/ |
| | | @Mapper |
| | | public interface ComActDynDAO extends BaseMapper<ComActDynDO> { |
| | | @Select("<script> " + |
| | | "SELECT " + |
| | | "d.id, " + |
| | | "d.title, " + |
| | | "COUNT(u.id)readNum, " + |
| | | "d.`status`, " + |
| | | "d.`content`, " + |
| | | "d.`cover`, " + |
| | | "d.`type`, " + |
| | | "d.`cover_mode`, " + |
| | | "d.is_topping, " + |
| | | "d.publish_at, " + |
| | | "d.create_at, " + |
| | | "cadt.`name` as typeName, " + |
| | | "cadt.color as typeColor, " + |
| | | "ca.name as communityName " + |
| | | "FROM " + |
| | | "com_act_dyn d " + |
| | | "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id " + |
| | | "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type " + |
| | | "LEFT JOIN com_act ca ON d.community_id = ca.community_id " + |
| | | "WHERE 1=1 " + |
| | | "<if test='comActDynVO.choice == 0 '>" + |
| | | "and d.community_id=#{comActDynVO.communityId} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.title != null and comActDynVO.title.trim() != ""'>" + |
| | | "AND d.title like concat(#{comActDynVO.title},'%') " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.isTopping != null '>" + |
| | | "AND d.is_topping = #{comActDynVO.isTopping} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.status != null '>" + |
| | | "AND d.`status` = #{comActDynVO.status} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.publishAtBegin != null '>" + |
| | | "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} " + |
| | | "AND #{comActDynVO.publishAtEnd}" + |
| | | " </if> " + |
| | | " group by d.id "+ |
| | | " order by d.is_topping desc, d.create_at desc "+ |
| | | "</script>") |
| | | @Select("<script> " + "SELECT " + "d.id, " + "d.title, " + "COUNT(u.id)readNum, " + "d.`status`, " |
| | | + "d.`content`, " + "d.`cover`, " + "d.`type`, " + "d.`cover_mode`, " + "d.is_topping, " + "d.publish_at, " |
| | | + "d.create_at, " + "cadt.`name` as typeName, " + "cadt.color as typeColor, " + "ca.name as communityName " |
| | | + "FROM " + "com_act_dyn d " + "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id " |
| | | + "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type " |
| | | + "LEFT JOIN com_act ca ON d.community_id = ca.community_id " + "WHERE 1=1 " |
| | | + "<if test='comActDynVO.choice == 0 '>" + "and d.community_id=#{comActDynVO.communityId} " + " </if> " |
| | | + "<if test='comActDynVO.title != null and comActDynVO.title.trim() != ""'>" |
| | | + "AND d.title like concat(#{comActDynVO.title},'%') " + " </if> " |
| | | + "<if test='comActDynVO.isTopping != null '>" + "AND d.is_topping = #{comActDynVO.isTopping} " + " </if> " |
| | | + "<if test='comActDynVO.status != null '>" + "AND d.`status` = #{comActDynVO.status} " + " </if> " |
| | | + "<if test='comActDynVO.publishAtBegin != null '>" + "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} " |
| | | + "AND #{comActDynVO.publishAtEnd}" + " </if> " + " group by d.id " |
| | | + " order by d.is_topping desc, d.create_at desc " + "</script>") |
| | | IPage<ComActDynVO> pageDynamic(Page page, @Param("comActDynVO") ComActDynVO comActDynVO); |
| | | |
| | | @Update("update com_act_dyn set `status`=1 WHERE `status`=0 and TIMESTAMPDIFF(MINUTE, SYSDATE(), publish_at)<=0 ") |
| | | int timedTaskDynStatus(); |
| | | |
| | | @Select("<script> " + |
| | | "SELECT " + |
| | | "d.id, " + |
| | | "d.title, " + |
| | | "COUNT(u.id)readNum, " + |
| | | "d.`status`, " + |
| | | "d.`content`, " + |
| | | "d.`cover`, " + |
| | | "d.`type`, " + |
| | | "d.`cover_mode`, " + |
| | | "d.is_topping, " + |
| | | "d.publish_at, " + |
| | | "d.create_at, " + |
| | | "cadt.`name` as typeName, " + |
| | | "ca.name as communityName " + |
| | | "FROM " + |
| | | "com_act_dyn d " + |
| | | "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id " + |
| | | "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type " + |
| | | "LEFT JOIN com_act ca ON d.community_id = ca.community_id " + |
| | | "WHERE " + |
| | | "d.community_id=#{comActDynVO.communityId} " + |
| | | "<if test='comActDynVO.title != null and comActDynVO.title.trim() != ""'>" + |
| | | "AND d.title like concat(#{comActDynVO.title},'%') " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.isTopping != null '>" + |
| | | "AND d.is_topping = #{comActDynVO.isTopping} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.status != null '>" + |
| | | "AND d.`status` = #{comActDynVO.status} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.type != null '>" + |
| | | "AND d.type = #{comActDynVO.type} " + |
| | | " </if> " + |
| | | "<if test='comActDynVO.publishAtBegin != null '>" + |
| | | "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} " + |
| | | "AND #{comActDynVO.publishAtEnd}" + |
| | | " </if> " + |
| | | " group by d.id "+ |
| | | " order by d.is_topping desc, d.create_at desc "+ |
| | | "</script>") |
| | | @Select("<script> " + "SELECT " + "d.id, " + "d.title, " + "COUNT(u.id)readNum, " + "d.`status`, " |
| | | + "d.`content`, " + "d.`cover`, " + "d.`type`, " + "d.`cover_mode`, " + "d.is_topping, " + "d.publish_at, " |
| | | + "d.create_at, " + "cadt.`name` as typeName, " + "ca.name as communityName " + "FROM " + "com_act_dyn d " |
| | | + "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id " |
| | | + "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type " |
| | | + "LEFT JOIN com_act ca ON d.community_id = ca.community_id " + "WHERE " |
| | | + "d.community_id=#{comActDynVO.communityId} " |
| | | + "<if test='comActDynVO.title != null and comActDynVO.title.trim() != ""'>" |
| | | + "AND d.title like concat(#{comActDynVO.title},'%') " + " </if> " |
| | | + "<if test='comActDynVO.isTopping != null '>" + "AND d.is_topping = #{comActDynVO.isTopping} " + " </if> " |
| | | + "<if test='comActDynVO.status != null '>" + "AND d.`status` = #{comActDynVO.status} " + " </if> " |
| | | + "<if test='comActDynVO.type != null '>" + "AND d.type = #{comActDynVO.type} " + " </if> " |
| | | + "<if test='comActDynVO.publishAtBegin != null '>" + "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin} " |
| | | + "AND #{comActDynVO.publishAtEnd}" + " </if> " + " group by d.id " |
| | | + " order by d.is_topping desc, d.create_at desc " + "</script>") |
| | | IPage<ComActDynVO> pageDynamicByAdmin(Page page, @Param("comActDynVO") ComActDynVO comActDynVO); |
| | | |
| | | @Select("SELECT " + |
| | | " count( cad.id ) AS dynTotal, " + |
| | | " (select count(id) from com_act_dyn where community_id = #{communityId} and create_at LIKE CONCAT(#{nowDate},'%')) as currentNum " + |
| | | "FROM " + |
| | | " com_act_dyn AS cad " + |
| | | "WHERE " + |
| | | " community_id = #{communityId}") |
| | | Map<String, Long> countByCommunityId(@Param("communityId") Long communityId, @Param("nowDate")String nowDate); |
| | | @Select("SELECT " + " count( cad.id ) AS dynTotal, " |
| | | + " (select count(id) from com_act_dyn where community_id = #{communityId} and create_at LIKE CONCAT(#{nowDate},'%')) as currentNum " |
| | | + "FROM " + " com_act_dyn AS cad " + "WHERE " + " community_id = #{communityId}") |
| | | Map<String, Long> countByCommunityId(@Param("communityId") Long communityId, @Param("nowDate") String nowDate); |
| | | |
| | | @Select("select create_at as startTime,(select create_at from com_act_dyn where community_id = #{communityId} order by create_at desc LIMIT 1 ) as endTime from com_act_dyn where community_id = #{communityId} order by create_at asc LIMIT 1") |
| | | DateScreenVO countByAvgCommunityId(@Param("communityId") Long communityId); |
| | | |
| | | @Select("SELECT " + |
| | | "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND create_at < #{end}) AS dynTotal, " + |
| | | "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND #{start} < create_at AND create_at < #{end}) AS dynAdd " + |
| | | " FROM DUAL") |
| | | DynamicWorkVO countByTime(@Param("start")String start, @Param("end")String end, @Param("communityId")Long communityId); |
| | | @Select("SELECT " |
| | | + "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND create_at < #{end}) AS dynTotal, " |
| | | + "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = #{communityId} AND #{start} < create_at AND create_at < #{end}) AS dynAdd " |
| | | + " FROM DUAL") |
| | | DynamicWorkVO countByTime(@Param("start") String start, @Param("end") String end, |
| | | @Param("communityId") Long communityId); |
| | | } |