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

86 lines
2.1 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;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using NPP.SmartSchedue.Api.Contracts.Core.Enums;
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification.Input;
/// <summary>
/// 发送通知输入
/// </summary>
public class SendNotificationInput
{
#region
/// <summary>
/// 通知方式
/// </summary>
[Required(ErrorMessage = "通知方式不能为空")]
public NotificationTypeEnum NotificationType { get; set; }
public long SettingId { get; set; }
/// <summary>
/// 通知标题
/// </summary>
[Required(ErrorMessage = "通知标题不能为空")]
[MaxLength(500, ErrorMessage = "通知标题长度不能超过500个字符")]
public string Title { get; set; } = "";
/// <summary>
/// 通知内容
/// </summary>
[Required(ErrorMessage = "通知内容不能为空")]
public string Content { get; set; } = "";
#endregion
#region
/// <summary>
/// 接收人员ID列表
/// </summary>
[Required(ErrorMessage = "接收人员不能为空")]
public List<long> RecipientPersonnelIds { get; set; } = new List<long>();
#endregion
#region
/// <summary>
/// 业务类型(如:工作任务、设备维护等)
/// </summary>
[MaxLength(100, ErrorMessage = "业务类型长度不能超过100个字符")]
public string BusinessType { get; set; } = "";
/// <summary>
/// 业务ID
/// </summary>
public long? BusinessId { get; set; }
/// <summary>
/// 业务数据JSON格式存储相关业务信息
/// </summary>
public string BusinessData { get; set; } = "";
#endregion
#region
/// <summary>
/// 是否立即发送
/// </summary>
public bool SendImmediately { get; set; } = true;
/// <summary>
/// 计划发送时间当SendImmediately为false时有效
/// </summary>
public DateTime? PlannedSendTime { get; set; }
/// <summary>
/// 最大重试次数
/// </summary>
public int MaxRetryCount { get; set; } = 3;
#endregion
}