package com.pavis.admin.aigc.service;

import top.continew.starter.extension.crud.service.BaseService;
import com.pavis.admin.aigc.model.query.ModelQuery;
import com.pavis.admin.aigc.model.req.ModelReq;
import com.pavis.admin.aigc.model.resp.ModelDetailResp;
import com.pavis.admin.aigc.model.resp.ModelResp;

import java.util.List;

/**
 * AIGC模型配置业务接口
 *
 * @author semi
 * @since 2025/05/26 17:28
 */
public interface ModelService extends BaseService<ModelResp, ModelDetailResp, ModelQuery, ModelReq> {

    /**
     * 模型和配置新增接口
     * 
     * @param modelReq 参数
     */
    void insModelAndSecret(ModelReq modelReq);
    // List<ModelDO> getChatModels();
    //
    // List<ModelDO> getImageModels();
    //
    // List<ModelDO> getEmbeddingModels();

    /**
     * 模型和配置查询接口
     * 
     * @return 模型列表
     */
    List<ModelResp> selModelAndSecrt();

    List<ModelResp> list(ModelResp data);

    /**
     * 模型和配置更新接口
     * 
     * @param modelResp 更新数据
     */
    void updateModelAndSecrt(ModelResp modelResp);

    /**
     * 模型和配置--根据调剂进行查询接口
     * 
     * @param modelQuery
     * @return
     */
    List<ModelResp> selModelAndSecrtList(ModelQuery modelQuery);

    /**
     * 模型和配置--根据调剂进行删除接口
     * 
     * @param ids
     */
    void delModelAndSecrt(List<Long> ids);

    // Page<ModelDO> page(ModelDO data, QueryPage queryPage);
    //
    // ModelDO selectById(String id);
}