using System.Collections.Generic;
using NPP.SmartSchedue.Api.Contracts.Core.Enums;

namespace NPP.SmartSchedue.Api.Contracts.Services.Notification.Output;

/// <summary>
/// 系统消息项
/// </summary>
public class SystemMessageItem
{
    /// <summary>
    /// 接收人员ID
    /// </summary>
    public long RecipientPersonnelId { get; set; }

    /// <summary>
    /// 消息标题
    /// </summary>
    public string Title { get; set; } = "";

    /// <summary>
    /// 消息内容
    /// </summary>
    public string Content { get; set; } = "";

    /// <summary>
    /// 消息类型
    /// </summary>
    public SystemMessageTypeEnum MessageType { get; set; } = SystemMessageTypeEnum.Info;

    /// <summary>
    /// 业务类型
    /// </summary>
    public string BusinessType { get; set; } = "";

    /// <summary>
    /// 业务ID
    /// </summary>
    public long? BusinessId { get; set; }

    /// <summary>
    /// 操作按钮列表
    /// </summary>
    public List<SystemMessageAction> Actions { get; set; } = new List<SystemMessageAction>();

    /// <summary>
    /// 个性化变量
    /// </summary>
    public Dictionary<string, string> Variables { get; set; } = new Dictionary<string, string>();
}
