83 lines
2.4 KiB
C#
83 lines
2.4 KiB
C#
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
|
||
}
|
||
|