Asoka.Wang 2b3f9acdce 123
2025-09-22 19:09:47 +08:00

83 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Threading.Tasks;
using NPP.SmartSchedue.Api.Contracts.Services.Notification.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Notification.Output;
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification;
/// <summary>
/// 通知模板服务接口
/// 决策点7模板通知支持通知内容模板可替换变量
/// </summary>
public interface INotificationTemplateService
{
#region
/// <summary>
/// 渲染通知模板
/// 支持变量替换,如:{变量名}
/// </summary>
/// <param name="input">渲染模板输入参数</param>
/// <returns>渲染结果</returns>
Task<RenderTemplateOutput> RenderTemplateAsync(RenderTemplateInput input);
#endregion
#region
/// <summary>
/// 验证模板语法是否正确
/// </summary>
/// <param name="input">验证模板输入参数</param>
/// <returns>验证结果</returns>
Task<ValidateTemplateOutput> ValidateTemplateAsync(ValidateTemplateInput input);
#endregion
#region
/// <summary>
/// 提取模板中的变量列表
/// </summary>
/// <param name="input">提取变量输入参数</param>
/// <returns>变量列表</returns>
Task<ExtractVariablesOutput> ExtractVariablesAsync(ExtractVariablesInput input);
#endregion
#region
/// <summary>
/// 获取系统内置变量
/// </summary>
/// <returns>系统变量字典</returns>
Task<GetSystemVariablesOutput> GetSystemVariablesAsync();
/// <summary>
/// 获取业务相关变量
/// </summary>
/// <param name="input">获取业务变量输入参数</param>
/// <returns>业务变量字典</returns>
Task<GetBusinessVariablesOutput> GetBusinessVariablesAsync(GetBusinessVariablesInput input);
#endregion
#region
/// <summary>
/// 获取预定义模板列表
/// </summary>
/// <param name="input">获取模板列表输入参数</param>
/// <returns>预定义模板列表</returns>
Task<GetPredefinedTemplatesOutput> GetPredefinedTemplatesAsync(GetPredefinedTemplatesInput input);
/// <summary>
/// 获取指定预定义模板
/// </summary>
/// <param name="input">获取指定模板输入参数</param>
/// <returns>预定义模板</returns>
Task<GetPredefinedTemplateOutput> GetPredefinedTemplateAsync(GetPredefinedTemplateInput input);
#endregion
}