Developer 058d8edffa 添加通知系统和工作任务分配功能
- 新增通知系统完整架构,包含通知设置、历史记录、任务管理等核心功能
- 实现工作任务分配服务,支持人员和设备的智能分配
- 添加人员分组管理功能,支持灵活的通知目标配置
- 完善相关枚举定义和数据传输对象

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 08:34:01 +08:00

143 lines
2.9 KiB
C#

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