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<ResearchGuidelineDO> {
|
|
default ResearchGuidelineDO selectByNo(String no) {
|
return selectOne(ResearchGuidelineDO::getNo, no);
|
}
|
|
default PageResult<ResearchGuidelineDO> selectPage(ResearchGuidelinePageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<ResearchGuidelineDO>()
|
.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<ResearchGuidelineDO> selectPublishedList() {
|
return selectList(new LambdaQueryWrapperX<ResearchGuidelineDO>()
|
.eq(ResearchGuidelineDO::getPublishStatus, ResearchGuidelineStatusEnum.PUBLISHED.getStatus())
|
.orderByDesc(ResearchGuidelineDO::getId));
|
}
|
|
/** 按 id 集合批量查询(申报单列表回显指南名称用) */
|
default List<ResearchGuidelineDO> selectListByIds(Collection<Long> ids) {
|
return CollUtil.isEmpty(ids) ? Collections.emptyList()
|
: selectList(ResearchGuidelineDO::getId, ids);
|
}
|
|
}
|