Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.IService/IAiBasePromptService.cs

58 lines
1.8 KiB
C#
Raw Normal View History

using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
/// <summary>
/// AIPrompt配置服务接口
/// </summary>
public interface IAiBasePromptService : IBaseService<AiBasePrompt>
{
/// <summary>
/// 创建Prompt配置
/// </summary>
/// <param name="input">Prompt配置输入</param>
/// <returns>创建的Prompt配置信息</returns>
Task<AiBasePromptOutput> CreateAsync(AiBasePromptInput input);
/// <summary>
/// 更新Prompt配置
/// </summary>
/// <param name="id">Prompt配置ID</param>
/// <param name="input">Prompt配置输入</param>
/// <returns>更新后的Prompt配置信息</returns>
Task<AiBasePromptOutput> UpdateAsync(long id, AiBasePromptInput input);
/// <summary>
/// 删除Prompt配置软删除
/// </summary>
/// <param name="id">Prompt配置ID</param>
Task DeleteAsync(long id);
/// <summary>
/// 根据ID获取Prompt配置
/// </summary>
/// <param name="id">Prompt配置ID</param>
/// <returns>Prompt配置信息</returns>
Task<AiBasePromptOutput> GetByIdAsync(long id);
/// <summary>
/// 分页查询Prompt配置列表
/// </summary>
/// <param name="input">查询条件</param>
/// <returns>分页结果</returns>
Task<PageListModel<AiBasePromptOutput>> GetListAsync(AiBasePromptQueryInput input);
/// <summary>
/// 获取全部Prompt配置无分页
/// </summary>
/// <returns>全部Prompt配置列表</returns>
Task<List<AiBasePromptOutput>> GetAllAsync();
/// <summary>
/// 切换Prompt启用/禁用状态
/// </summary>
/// <param name="id">Prompt配置ID</param>
Task ToggleStatusAsync(long id);
}