/**
 * @ProjectName: 智慧评标-主观分助手
 * @Package: com.zhpb.gdyd_zhpb_zgf.service
 * @ClassName: PromptTemplateService
 * @Description: 提示词模板服务接口
 * @Author: 张志锋
 * @Date: 2025-11-03
 * @Version: 1.0
 * @Copyright: © 2025 智慧评标-主观分助手
 */
package com.zhpb.gdyd_zhpb_zgf.service;

import com.zhpb.gdyd_zhpb_zgf.dto.PromptTemplateDto;
import com.zhpb.gdyd_zhpb_zgf.entity.mysql.PromptTemplate;

import java.util.List;

/**
 * 提示词模板服务接口
 */
public interface PromptTemplateService {

    /**
     * 获取所有提示词模板
     *
     * @param templateType 模板类型，可为空
     * @return 模板列表
     */
    List<PromptTemplateDto> getAllTemplates(String templateType);

    /**
     * 根据ID获取模板
     *
     * @param templateId 模板ID
     * @return 模板信息
     */
    PromptTemplateDto getTemplateById(String templateId);

    /**
     * 创建模板
     *
     * @param dto 模板信息
     * @param userId 操作用户ID
     * @return 创建的模板
     */
    PromptTemplateDto createTemplate(PromptTemplateDto dto, String userId);

    /**
     * 更新模板
     *
     * @param templateId 模板ID
     * @param dto 模板信息
     * @param userId 操作用户ID
     * @return 更新后的模板
     */
    PromptTemplateDto updateTemplate(String templateId, PromptTemplateDto dto, String userId);

    /**
     * 删除模板
     *
     * @param templateId 模板ID
     */
    void deleteTemplate(String templateId);

    /**
     * 启用/禁用模板
     *
     * @param templateId 模板ID
     * @param isActive 是否启用
     * @param userId 操作用户ID
     */
    void toggleTemplateStatus(String templateId, Boolean isActive, String userId);

    /**
     * 获取启用的模板
     *
     * @param templateType 模板类型
     * @return 启用的模板
     */
    PromptTemplate getActiveTemplate(String templateType);
}
