using System.ComponentModel.DataAnnotations; namespace Oms.Application.Dtos.Orders; public class OrderBatchJobCreateInput { [Required] public string Action { get; set; } = string.Empty; public List OrderIds { get; set; } = []; public string? PayloadJson { get; set; } [StringLength(64)] public string? RequestId { get; set; } } public class OrderBatchJobOutput { public int JobId { get; set; } public string Action { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public int Total { get; set; } public int SuccessCount { get; set; } public int FailCount { get; set; } public int PendingCount { get; set; } public int RunningCount { get; set; } public int CancelledCount { get; set; } public int? TemplateId { get; set; } public string? TaskName { get; set; } public DateTime? StartedAt { get; set; } public DateTime? FinishedAt { get; set; } public DateTime? CreateTime { get; set; } } public class OrderBatchJobItemOutput { public int Id { get; set; } public int OrderId { get; set; } public string? ServiceNo { get; set; } public string? ClientNo { get; set; } public int? RowNumber { get; set; } public string Action { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public string? FailReason { get; set; } public string? ResultJson { get; set; } public string? ResultMessage { get; set; } public int RetryCount { get; set; } public DateTime? StartedAt { get; set; } public DateTime? FinishedAt { get; set; } }