package com.iailab.module.system.dal.mysql.mail; 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.system.controller.admin.mail.vo.template.MailTemplatePageReqVO; import com.iailab.module.system.dal.dataobject.mail.MailTemplateDO; import org.apache.ibatis.annotations.Mapper; @Mapper public interface MailTemplateMapper extends BaseMapperX { default PageResult selectPage(MailTemplatePageReqVO pageReqVO){ return selectPage(pageReqVO , new LambdaQueryWrapperX() .eqIfPresent(MailTemplateDO::getStatus, pageReqVO.getStatus()) .likeIfPresent(MailTemplateDO::getCode, pageReqVO.getCode()) .likeIfPresent(MailTemplateDO::getName, pageReqVO.getName()) .eqIfPresent(MailTemplateDO::getAccountId, pageReqVO.getAccountId()) .betweenIfPresent(MailTemplateDO::getCreateTime, pageReqVO.getCreateTime())); } default Long selectCountByAccountId(Long accountId) { return selectCount(MailTemplateDO::getAccountId, accountId); } default MailTemplateDO selectByCode(String code) { return selectOne(MailTemplateDO::getCode, code); } }