package cn.iocoder.yudao.module.pms.dal.mysql.qhse.cert;

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.pms.controller.admin.qhse.cert.vo.QhseCertPersonPageReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.cert.QhseCertPersonDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Set;

/**
 * QHSE-证书人员 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface QhseCertPersonMapper extends BaseMapperX<QhseCertPersonDO> {

    default PageResult<QhseCertPersonDO> selectPage(QhseCertPersonPageReqVO reqVO, Set<Long> ids) {
        return selectPage(reqVO, new LambdaQueryWrapperX<QhseCertPersonDO>()
                .inIfPresent(QhseCertPersonDO::getDeptId, ids)
                .likeIfPresent(QhseCertPersonDO::getUsername, reqVO.getUsername())
                .likeIfPresent(QhseCertPersonDO::getNickname, reqVO.getNickname())
                .likeIfPresent(QhseCertPersonDO::getPostName, reqVO.getPostName())
                .eqIfPresent(QhseCertPersonDO::getMobile, reqVO.getMobile())
                .eqIfPresent(QhseCertPersonDO::getRemark, reqVO.getRemark())
                .betweenIfPresent(QhseCertPersonDO::getCreateTime, reqVO.getCreateTime())
                .likeIfPresent(QhseCertPersonDO::getDeptName, reqVO.getDeptName())
                .orderByDesc(QhseCertPersonDO::getId));
    }

}