package cn.iocoder.yudao.module.crm.dal.mysql.salesTarget; 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.crm.controller.admin.salesTarget.vo.CrmSalesTargetPageReqVO; import cn.iocoder.yudao.module.crm.dal.dataobject.salesTarget.CrmSalesTargetDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 销售目标 Mapper * * @author 超级管理员 */ @Mapper public interface CrmSalesTargetMapper extends BaseMapperX { default PageResult selectPage(CrmSalesTargetPageReqVO reqVO) { return selectPage(reqVO, buildQuery(reqVO)); } default List selectList(CrmSalesTargetPageReqVO reqVO) { return selectList(buildQuery(reqVO)); } private LambdaQueryWrapperX buildQuery(CrmSalesTargetPageReqVO reqVO) { return new LambdaQueryWrapperX() .likeIfPresent(CrmSalesTargetDO::getName, reqVO.getName()) .eqIfPresent(CrmSalesTargetDO::getPeriodType, reqVO.getPeriodType()) .eqIfPresent(CrmSalesTargetDO::getPeriodValue, reqVO.getPeriodValue()) .eqIfPresent(CrmSalesTargetDO::getTargetDimension, reqVO.getTargetDimension()) .eqIfPresent(CrmSalesTargetDO::getStatus, reqVO.getStatus()) .orderByDesc(CrmSalesTargetDO::getId); } }