package cn.iocoder.yudao.module.research.dal.mysql.guideline; import cn.hutool.core.collection.CollUtil; 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.research.controller.admin.guideline.vo.ResearchGuidelinePageReqVO; import cn.iocoder.yudao.module.research.dal.dataobject.guideline.ResearchGuidelineDO; import cn.iocoder.yudao.module.research.enums.ResearchGuidelineStatusEnum; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.Collections; import java.util.List; @Mapper public interface ResearchGuidelineMapper extends BaseMapperX { default ResearchGuidelineDO selectByNo(String no) { return selectOne(ResearchGuidelineDO::getNo, no); } default PageResult selectPage(ResearchGuidelinePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(ResearchGuidelineDO::getNo, reqVO.getNo()) .likeIfPresent(ResearchGuidelineDO::getTitle, reqVO.getTitle()) .eqIfPresent(ResearchGuidelineDO::getCategory, reqVO.getCategory()) .eqIfPresent(ResearchGuidelineDO::getPublishStatus, reqVO.getPublishStatus()) .orderByDesc(ResearchGuidelineDO::getId)); } /** 已发布(可申报)的指南列表,供申报单选择指南使用 */ default List selectPublishedList() { return selectList(new LambdaQueryWrapperX() .eq(ResearchGuidelineDO::getPublishStatus, ResearchGuidelineStatusEnum.PUBLISHED.getStatus()) .orderByDesc(ResearchGuidelineDO::getId)); } /** 按 id 集合批量查询(申报单列表回显指南名称用) */ default List selectListByIds(Collection ids) { return CollUtil.isEmpty(ids) ? Collections.emptyList() : selectList(ResearchGuidelineDO::getId, ids); } }