package com.storlead.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.storlead.framework.common.result.Result;
import com.storlead.system.pojo.dto.AgentPromptTemplatePageDTO;
import com.storlead.system.pojo.dto.AgentPromptTemplateQueryDTO;
import com.storlead.system.pojo.entity.AgentPromptTemplateEntity;

import java.util.List;

/**
 * AI 提示词模板服务
 */
public interface AgentPromptTemplateService extends IService<AgentPromptTemplateEntity> {

    IPage<AgentPromptTemplateEntity> pageQuery(AgentPromptTemplatePageDTO dto);

    List<AgentPromptTemplateEntity> listQuery(AgentPromptTemplateQueryDTO dto);

    AgentPromptTemplateEntity getDetail(Long id);

    AgentPromptTemplateEntity getByTemplateCode(String templateCode, Long appId);

    /**
     * 按 templateCode 获取模板（未删除，不限启用状态）
     */
    Result<?> getAiPrompt(AgentPromptTemplateQueryDTO dto);

    Result<?> saveTemplate(AgentPromptTemplateEntity body);

    Result<?> enableTemplate(Long id, Boolean enabled);

    Result<?> deleteTemplate(Long id);

    /**
     * 按模板编码获取 prompt 内容，并替换占位符
     */
    Result<?> getPromptContent(AgentPromptTemplateQueryDTO dto);
}
