package com.iailab.module.bpm.dal.mysql.oa; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; import com.iailab.module.bpm.dal.dataobject.oa.BpmOALeaveDO; import org.apache.ibatis.annotations.Mapper; /** * 请假申请 Mapper * * @author jason * @author iailab */ @Mapper public interface BpmOALeaveMapper extends BaseMapperX { default PageResult selectPage(Long userId, BpmOALeavePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(BpmOALeaveDO::getUserId, userId) .eqIfPresent(BpmOALeaveDO::getStatus, reqVO.getStatus()) .eqIfPresent(BpmOALeaveDO::getType, reqVO.getType()) .likeIfPresent(BpmOALeaveDO::getReason, reqVO.getReason()) .betweenIfPresent(BpmOALeaveDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(BpmOALeaveDO::getId)); } }