package com.dora.mapper;

import com.dora.entity.PointsConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface PointsConfigMapper {
    List<PointsConfig> findAll();
    PointsConfig findById(Long id);
    PointsConfig findByModelName(String modelName);
    int insert(PointsConfig pointsConfig);
    int update(PointsConfig pointsConfig);
    void delete(Long id);
    
    /**
     * 查询已启用的模型列表
     */
    List<PointsConfig> findAllEnabled();
    
    /**
     * 根据服务提供商查询模型列表
     */
    List<PointsConfig> findByProviderType(@Param("providerType") String providerType, @Param("enabledOnly") Boolean enabledOnly);
    
    /**
     * 根据任务类型查询模型列表
     */
    List<PointsConfig> findByTaskType(@Param("taskType") String taskType, @Param("enabledOnly") Boolean enabledOnly);
    
    /**
     * 根据服务提供商和任务类型查询模型列表
     */
    List<PointsConfig> findByProviderAndTaskType(
            @Param("providerType") String providerType, 
            @Param("taskType") String taskType, 
            @Param("enabledOnly") Boolean enabledOnly);
}
