package cn.iocoder.yudao.module.im.dal.mysql.channel; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.im.controller.admin.manager.channel.vo.material.ImChannelMaterialPageReqVO; import cn.iocoder.yudao.module.im.dal.dataobject.channel.ImChannelMaterialDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * IM 频道素材 Mapper * * @author 芋道源码 */ @Mapper public interface ImChannelMaterialMapper extends BaseMapperX { default Long selectCountByChannelId(Long channelId) { return selectCount(ImChannelMaterialDO::getChannelId, channelId); } default List selectListByChannelId(Long channelId) { return selectList(new LambdaQueryWrapperX() .eq(ImChannelMaterialDO::getChannelId, channelId) .orderByDesc(ImChannelMaterialDO::getId)); } default PageResult selectPage(ImChannelMaterialPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ImChannelMaterialDO::getChannelId, reqVO.getChannelId()) .eqIfPresent(ImChannelMaterialDO::getType, reqVO.getType()) .likeIfPresent(ImChannelMaterialDO::getTitle, reqVO.getTitle()) .betweenIfPresent(ImChannelMaterialDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(ImChannelMaterialDO::getId)); } }