package com.iailab.module.ai.dal.mysql.model; 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.framework.mybatis.core.query.QueryWrapperX; import com.iailab.module.ai.controller.admin.model.vo.apikey.AiApiKeyPageReqVO; import com.iailab.module.ai.dal.dataobject.model.AiApiKeyDO; import org.apache.ibatis.annotations.Mapper; /** * AI API 密钥 Mapper * * @author Iailab */ @Mapper public interface AiApiKeyMapper extends BaseMapperX { default PageResult selectPage(AiApiKeyPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(AiApiKeyDO::getName, reqVO.getName()) .eqIfPresent(AiApiKeyDO::getPlatform, reqVO.getPlatform()) .eqIfPresent(AiApiKeyDO::getStatus, reqVO.getStatus()) .orderByDesc(AiApiKeyDO::getId)); } default AiApiKeyDO selectFirstByPlatformAndStatus(String platform, Integer status) { return selectOne(new QueryWrapperX() .eq("platform", platform) .eq("status", status) .limitN(1) .orderByAsc("id")); } }