package cn.iocoder.yudao.module.srm.dal.mysql; 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.srm.controller.admin.certificate.vo.SrmSupplierCertificatePageReqVO; import cn.iocoder.yudao.module.srm.dal.dataobject.SrmSupplierCertificateDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; import java.util.List; @Mapper public interface SrmSupplierCertificateMapper extends BaseMapperX { default PageResult selectPage(SrmSupplierCertificatePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(SrmSupplierCertificateDO::getSupplierId, reqVO.getSupplierId()) .eqIfPresent(SrmSupplierCertificateDO::getCertificateType, reqVO.getCertificateType()) .orderByDesc(SrmSupplierCertificateDO::getId)); } default List selectListBySupplierId(Long supplierId) { return selectList(new LambdaQueryWrapperX() .eq(SrmSupplierCertificateDO::getSupplierId, supplierId)); } default List selectExpiringList(LocalDate startDate, LocalDate endDate) { return selectList(new LambdaQueryWrapperX() .between(SrmSupplierCertificateDO::getValidEndDate, startDate, endDate)); } }