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.model.AiModelPageReqVO; import com.iailab.module.ai.dal.dataobject.model.AiModelDO; import org.apache.ibatis.annotations.Mapper; import javax.annotation.Nullable; import java.util.List; /** * API 模型 Mapper * * @author fansili */ @Mapper public interface AiChatMapper extends BaseMapperX { default AiModelDO selectFirstByStatus(Integer type, Integer status) { return selectOne(new QueryWrapperX() .eq("type", type) .eq("status", status) .limitN(1) .orderByAsc("sort")); } default PageResult selectPage(AiModelPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(AiModelDO::getName, reqVO.getName()) .eqIfPresent(AiModelDO::getModel, reqVO.getModel()) .eqIfPresent(AiModelDO::getPlatform, reqVO.getPlatform()) .orderByAsc(AiModelDO::getSort)); } default List selectListByStatusAndType(Integer status, Integer type, @Nullable String platform) { return selectList(new LambdaQueryWrapperX() .eq(AiModelDO::getStatus, status) .eq(AiModelDO::getType, type) .eqIfPresent(AiModelDO::getPlatform, platform) .orderByAsc(AiModelDO::getSort)); } }