package cn.iocoder.yudao.module.ai.dal.mysql.model; 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.ai.controller.admin.model.vo.apikey.AiApiKeyPageReqVO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiApiKeyDO; import org.apache.ibatis.annotations.Mapper; @Mapper public interface AiApiKeyMapper extends BaseMapperX { default AiApiKeyDO selectFirstByPlatformAndStatus(String platform, Integer status) { return selectOne(new LambdaQueryWrapperX() .eq(AiApiKeyDO::getPlatform, platform) .eq(AiApiKeyDO::getStatus, status) .last("LIMIT 1")); } default PageResult selectPage(AiApiKeyPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .likeIfPresent(AiApiKeyDO::getName, pageReqVO.getName()) .eqIfPresent(AiApiKeyDO::getPlatform, pageReqVO.getPlatform()) .eqIfPresent(AiApiKeyDO::getStatus, pageReqVO.getStatus()) .orderByDesc(AiApiKeyDO::getId)); } }