package cn.iocoder.yudao.module.mp.dal.mysql.material; 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.mp.controller.admin.material.vo.MpMaterialPageReqVO; import cn.iocoder.yudao.module.mp.dal.dataobject.material.MpMaterialDO; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; @Mapper public interface MpMaterialMapper extends BaseMapperX { default MpMaterialDO selectByAccountIdAndMediaId(Long accountId, String mediaId) { return selectOne(MpMaterialDO::getAccountId, accountId, MpMaterialDO::getMediaId, mediaId); } default PageResult selectPage(MpMaterialPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .eq(MpMaterialDO::getAccountId, pageReqVO.getAccountId()) .eqIfPresent(MpMaterialDO::getPermanent, pageReqVO.getPermanent()) .eqIfPresent(MpMaterialDO::getType, pageReqVO.getType()) .orderByDesc(MpMaterialDO::getId)); } default List selectListByMediaId(Collection mediaIds) { return selectList(MpMaterialDO::getMediaId, mediaIds); } }