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.model.AiModelPageReqVO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface AiModelMapper extends BaseMapperX { default AiModelDO selectFirstByStatus(Integer type, Integer status) { return selectOne(new LambdaQueryWrapperX() .eq(AiModelDO::getType, type) .eq(AiModelDO::getStatus, status) .orderByAsc(AiModelDO::getSort) .last("LIMIT 1")); } default PageResult selectPage(AiModelPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .eqIfPresent(AiModelDO::getType, pageReqVO.getType()) .eqIfPresent(AiModelDO::getStatus, pageReqVO.getStatus()) .eqIfPresent(AiModelDO::getPlatform, pageReqVO.getPlatform()) .likeIfPresent(AiModelDO::getName, pageReqVO.getName()) .orderByAsc(AiModelDO::getSort)); } default List selectListByStatusAndType(Integer status, Integer type, String platform) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(AiModelDO::getStatus, status) .eqIfPresent(AiModelDO::getType, type) .eqIfPresent(AiModelDO::getPlatform, platform)); } }