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; } = [];
}