package cn.iocoder.yudao.module.research.dal.mysql.application;
|
|
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.application.vo.ResearchApplicationPageReqVO;
|
import cn.iocoder.yudao.module.research.dal.dataobject.application.ResearchApplicationDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
@Mapper
|
public interface ResearchApplicationMapper extends BaseMapperX<ResearchApplicationDO> {
|
|
default ResearchApplicationDO selectByNo(String no) {
|
return selectOne(ResearchApplicationDO::getNo, no);
|
}
|
|
default PageResult<ResearchApplicationDO> selectPage(ResearchApplicationPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<ResearchApplicationDO>()
|
.likeIfPresent(ResearchApplicationDO::getNo, reqVO.getNo())
|
.likeIfPresent(ResearchApplicationDO::getTitle, reqVO.getTitle())
|
.eqIfPresent(ResearchApplicationDO::getGuidelineId, reqVO.getGuidelineId())
|
.eqIfPresent(ResearchApplicationDO::getCategory, reqVO.getCategory())
|
.eqIfPresent(ResearchApplicationDO::getMemberId, reqVO.getMemberId())
|
.eqIfPresent(ResearchApplicationDO::getStatus, reqVO.getStatus())
|
.betweenIfPresent(ResearchApplicationDO::getCreateTime, reqVO.getCreateTime())
|
.orderByDesc(ResearchApplicationDO::getId));
|
}
|
|
/** 某课题指南下的申报单数量(用于删除指南前的占用校验) */
|
default Long selectCountByGuidelineId(Long guidelineId) {
|
return selectCount(ResearchApplicationDO::getGuidelineId, guidelineId);
|
}
|
|
}
|