using System.ComponentModel.DataAnnotations; namespace Oms.Application.Dtos.Orders; public class Customs9610ListInput { public int Page { get; set; } = 1; public int PageSize { get; set; } = 30; public int? CustomerId { get; set; } /// /// pending / declared;空=全部。 /// public string? Status { get; set; } public string? Keyword { get; set; } public DateTime? CreateTimeStart { get; set; } public DateTime? CreateTimeEnd { get; set; } } public class Customs9610IdInput { [Required] public int Id { get; set; } } public class Customs9610IdsInput { [Required] [MinLength(1)] public List Ids { get; set; } = []; } public class Customs9610StatusCountsOutput { public int Total { get; set; } public int Pending { get; set; } public int Declared { get; set; } } public class Customs9610ItemInput { public int? Id { get; set; } public int? OrderDeclarationId { get; set; } [Required] [StringLength(32)] public string Sku { get; set; } = string.Empty; [Required] [StringLength(250)] public string CnName { get; set; } = string.Empty; [StringLength(10)] public string? ExHsCode { get; set; } [StringLength(255)] public string? DeclareElement { get; set; } [Required] public decimal UnitPrice { get; set; } [Required] public decimal Quantity { get; set; } public decimal? Freight { get; set; } public int SortNo { get; set; } } public class Customs9610UpdateInput { [Required] public int Id { get; set; } [Required] [StringLength(16)] public string PlatformCode { get; set; } = string.Empty; [StringLength(18)] public string? EcomCorpCode { get; set; } [StringLength(100)] public string? EcomCorpName { get; set; } [StringLength(18)] public string? ProducerCode { get; set; } [StringLength(100)] public string? ProducerName { get; set; } [Required] [StringLength(48)] public string ClientNo { get; set; } = string.Empty; [Required] [StringLength(48)] public string ServiceNo { get; set; } = string.Empty; [Required] [StringLength(1)] public string BusinessType { get; set; } = "B"; [StringLength(10)] public string? Region { get; set; } [StringLength(2)] public string? AgentDeclare { get; set; } [StringLength(18)] public string? ActualSellerCode { get; set; } [StringLength(1)] public string? PreRecordFlag { get; set; } public bool IsSummarySimple { get; set; } [Required] public decimal GrossWeight { get; set; } [Required] [StringLength(4)] public string Currency { get; set; } = "CNY"; [Required] [StringLength(4)] public string DestCountry { get; set; } = string.Empty; public decimal? Freight { get; set; } [StringLength(32)] public string? ShipmentNo { get; set; } [MinLength(1)] public List Items { get; set; } = []; } public class Customs9610ItemOutput { public int Id { get; set; } public int? OrderDeclarationId { get; set; } public string Sku { get; set; } = string.Empty; public string CnName { get; set; } = string.Empty; public string? ExHsCode { get; set; } public string? DeclareElement { get; set; } public string? Barcode { get; set; } public string? DestCountry { get; set; } public string? ItemCurrency { get; set; } public decimal UnitPrice { get; set; } public decimal? Amount { get; set; } public decimal Quantity { get; set; } public decimal? LegalQty { get; set; } public string? Unit { get; set; } public string? LegalUnit { get; set; } public decimal? Freight { get; set; } public int SortNo { get; set; } } public class Customs9610OrderOutput { public int Id { get; set; } public int OrderId { get; set; } public string? ServiceNo { get; set; } public int CustomerId { get; set; } public string? CustomerName { get; set; } public string Status { get; set; } = string.Empty; public string PlatformCode { get; set; } = string.Empty; public string? EcomCorpCode { get; set; } public string? EcomCorpName { get; set; } public string? ProducerCode { get; set; } public string? ProducerName { get; set; } public string ClientNo { get; set; } = string.Empty; public string BusinessType { get; set; } = "B"; public string? Region { get; set; } public string? AgentDeclare { get; set; } public string? ActualSellerCode { get; set; } public string? PreRecordFlag { get; set; } public bool IsSummarySimple { get; set; } public decimal GrossWeight { get; set; } public string Currency { get; set; } = "CNY"; public string DestCountry { get; set; } = string.Empty; public decimal? Freight { get; set; } public string? FreightCurrency { get; set; } public int? FreightMark { get; set; } public int? PackageType { get; set; } public int? PackageQty { get; set; } public string? ShipmentNo { get; set; } public string? CustomsOrderNo { get; set; } public string? DownstreamRefNo { get; set; } public string? EnterpriseBizNo { get; set; } public string? ManifestNo { get; set; } public string? ClearanceTime { get; set; } public string? CustomsInboundTime { get; set; } public string? CustomsState { get; set; } public string? DeclareCustomsCode { get; set; } public string? PlatformCorpCode { get; set; } public string? PlatformName { get; set; } public string? LogisticsCorpCode { get; set; } public string? LogisticsCorpName { get; set; } public string? IeMark { get; set; } public string? ExportPortCode { get; set; } public string? ExportDate { get; set; } public string? DeclareAgentCode { get; set; } public string? DeclareAgentName { get; set; } public string? TradeModeCode { get; set; } public string? TransportMode { get; set; } public DateTime? DeclareTime { get; set; } public DateTime? ManifestSyncTime { get; set; } public string? FailReason { get; set; } public DateTime CreateTime { get; set; } public DateTime? UpdateTime { get; set; } public List? Items { get; set; } } public class Customs9610DeclareResult { public int Id { get; set; } public bool Success { get; set; } public string Message { get; set; } = string.Empty; public string? CustomsOrderNo { get; set; } public string? Status { get; set; } public int? HttpStatusCode { get; set; } public string? ResponseBody { get; set; } public string? Url { get; set; } public string? RequestJson { get; set; } public string? ServiceNo { get; set; } public string? ClientNo { get; set; } } public class Customs9610DeclareBatchOutput { public int SuccessCount { get; set; } public int FailCount { get; set; } public List Items { get; set; } = []; }