using System;
using NPP.SmartSchedue.Api.Contracts.Core.Enums;
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification.Output;
///
/// 通知历史记录输出
///
public class NotificationHistoryOutput
{
#region 基础信息
///
/// 通知历史记录ID
///
public long Id { get; set; }
///
/// 通知设置ID
///
public long NotificationSettingId { get; set; }
///
/// 通知设置名称
///
public string NotificationSettingName { get; set; } = "";
#endregion
#region 接收人信息
///
/// 接收人员ID
///
public long RecipientPersonnelId { get; set; }
///
/// 接收人员姓名
///
public string RecipientPersonnelName { get; set; } = "";
///
/// 接收人员邮箱
///
public string RecipientEmail { get; set; } = "";
#endregion
#region 通知内容
///
/// 通知方式
///
public NotificationTypeEnum NotificationType { get; set; }
///
/// 通知标题
///
public string NotificationTitle { get; set; } = "";
///
/// 通知内容
///
public string NotificationContent { get; set; } = "";
#endregion
#region 发送信息
///
/// 计划发送时间
///
public DateTime PlannedSendTime { get; set; }
///
/// 实际发送时间
///
public DateTime? ActualSendTime { get; set; }
///
/// 发送状态
///
public NotificationStatusEnum SendStatus { get; set; } = NotificationStatusEnum.Pending;
///
/// 发送结果信息
///
public string SendResult { get; set; } = "";
///
/// 错误信息
///
public string ErrorMessage { get; set; } = "";
#endregion
#region 重试机制
///
/// 重试次数
///
public int RetryCount { get; set; } = 0;
///
/// 最大重试次数
///
public int MaxRetryCount { get; set; } = 3;
///
/// 下次重试时间
///
public DateTime? NextRetryTime { get; set; }
#endregion
#region 业务上下文
///
/// 业务类型
///
public string BusinessType { get; set; } = "";
///
/// 业务ID
///
public long? BusinessId { get; set; }
///
/// 业务数据
///
public string BusinessData { get; set; } = "";
#endregion
#region 时间信息
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
#endregion
}