using Microsoft.AspNetCore.Mvc; namespace Admin.NET.Plugin.AiDOP.Dto.S8; public class AdoS8NotificationLogQueryDto { public long TenantId { get; set; } = 1; public long FactoryId { get; set; } = 1; public long? ExceptionId { get; set; } public string? Channel { get; set; } public bool? Success { get; set; } public bool? Recovered { get; set; } /// 关键字,匹配 payload / channel public string? Keyword { get; set; } [FromQuery(Name = "from")] public DateTime? CreatedAtStart { get; set; } [FromQuery(Name = "to")] public DateTime? CreatedAtEnd { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS8NotificationLogListItemDto { public long Id { get; set; } public long TenantId { get; set; } public long FactoryId { get; set; } public long? ExceptionId { get; set; } public string Channel { get; set; } = string.Empty; /// 从 payload.targetCount 解析;解析失败返回 null public int? TargetCount { get; set; } /// 从 payload.success 解析;解析失败返回 null public bool? Success { get; set; } /// 从 payload.recovered 解析;解析失败返回 null public bool? Recovered { get; set; } /// 从 payload.error 解析;解析失败返回 null public string? ErrorMessage { get; set; } public string? Payload { get; set; } public DateTime CreatedAt { get; set; } }