admin/src/Oms.Application/Dtos/Orders/OrderOutput.cs
zzh 341a318f0b feat: 客户发件地址与揽收订单,复用小包创建全链路。
新增地址簿 CRUD、pickup/create、订单 orderSource 筛选;附带包裹商品图片上传接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 18:58:48 +08:00

296 lines
6.6 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.

namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单出参。
/// </summary>
public class OrderOutput
{
/// <summary>
/// 主键。
/// </summary>
public int Id { get; set; }
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string ServiceNo { get; set; } = string.Empty;
/// <summary>
/// 产品编码。
/// </summary>
public string? ProductCode { get; set; }
/// <summary>
/// 销售产品名称。
/// </summary>
public string? ProductName { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string? ChannelCode { get; set; }
/// <summary>
/// 下游 API 服务商编码 supplierCode。
/// </summary>
public string? DownstreamSupplierCode { get; set; }
/// <summary>
/// 下游 itfx 应用 AppKey。
/// </summary>
public string? DownstreamAppKey { get; set; }
/// <summary>
/// 下游 itfx 应用 Id(用于运行时读取 AppSecret)。
/// </summary>
public int? DownstreamAppId { get; set; }
/// <summary>
/// 渠道预报编码 ForecastCode。
/// </summary>
public string? ChannelForecastCode { get; set; }
/// <summary>
/// 服务渠道名称。
/// </summary>
public string? ChannelName { get; set; }
/// <summary>
/// 收件国家/地区二字码。
/// </summary>
public string? ConsigneeCountry { get; set; }
/// <summary>
/// 收件国家/地区中文名称。
/// </summary>
public string? ConsigneeCountryName { get; set; }
/// <summary>
/// 货物属性。
/// </summary>
public string? CargoAttribute { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public int? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? Warehouse { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public int? CustomerId { get; set; }
/// <summary>
/// 订单来源。
/// </summary>
public string? OrderSource { get; set; }
/// <summary>
/// 预约揽收时间。
/// </summary>
public DateTime? PickupTime { get; set; }
/// <summary>
/// 发件地址簿 Id。
/// </summary>
public int? CustomerSenderAddressId { get; set; }
/// <summary>
/// 幂等请求标识。
/// </summary>
public string? RequestId { get; set; }
/// <summary>
/// 出口报关方式。
/// </summary>
public string? ExportCustomsMode { get; set; }
/// <summary>
/// 预报失败原因(草稿订单)。
/// </summary>
public string? PredeclareFailReason { get; set; }
/// <summary>
/// 申报币种。
/// </summary>
public string? DeclaredCurrency { get; set; }
/// <summary>
/// 申报总金额。
/// </summary>
public decimal? DeclaredSum { get; set; }
/// <summary>
/// 包裹数量。
/// </summary>
public int? Quantity { get; set; }
/// <summary>
/// 是否 COD。
/// </summary>
public bool IsCod { get; set; }
/// <summary>
/// COD 币种。
/// </summary>
public string? CodCurrency { get; set; }
/// <summary>
/// COD 金额。
/// </summary>
public decimal? CodSum { get; set; }
/// <summary>
/// 订单状态名称。
/// </summary>
public string? OrderStatus { get; set; }
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty;
/// <summary>
/// 子状态 code:pending / processed。
/// </summary>
public string? HandleStatus { get; set; }
/// <summary>
/// 子状态名称。
/// </summary>
public string? HandleStatusName { get; set; }
public string? IssueType { get; set; }
public string? IssueTypeName { get; set; }
public string? IssueTitle { get; set; }
public string? IssueContent { get; set; }
public int? IssueTemplateId { get; set; }
public string? IssueRemark { get; set; }
public DateTime? IssueTime { get; set; }
public string? ClaimType { get; set; }
public string? ClaimTypeName { get; set; }
public decimal? ClaimAmount { get; set; }
public string? ClaimCurrency { get; set; }
public string? ClaimReason { get; set; }
public DateTime? ClaimTime { get; set; }
public string? PreviousOrderStatus { get; set; }
/// <summary>
/// 收货时间。
/// </summary>
public DateTime? ReceiveTime { get; set; }
/// <summary>
/// 发货时间。
/// </summary>
public DateTime? ShipTime { get; set; }
/// <summary>
/// 支付时间。
/// </summary>
public DateTime? PayTime { get; set; }
/// <summary>
/// 是否已支付。
/// </summary>
public bool IsPaid { get; set; }
/// <summary>
/// 签收时间。
/// </summary>
public DateTime? SignTime { get; set; }
/// <summary>
/// 是否拦截。
/// </summary>
public bool IsIntercept { get; set; }
/// <summary>
/// 是否偏远。
/// </summary>
public bool IsRemote { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; }
/// <summary>
/// 寄件人信息。
/// </summary>
public OrderSenderOutput? Sender { get; set; }
/// <summary>
/// 收件人信息。
/// </summary>
public OrderReceiverOutput? Receiver { get; set; }
/// <summary>
/// 订单内件集合。
/// </summary>
public List<OrderItemOutput> Items { get; set; } = [];
/// <summary>
/// 重量明细集合。
/// </summary>
public List<OrderWeightOutput> WeightList { get; set; } = [];
/// <summary>
/// 费用明细集合。
/// </summary>
public List<OrderFeeOutput> FeeList { get; set; } = [];
/// <summary>
/// 计费重(优先收货行,其次预报行)。
/// </summary>
public decimal? ChargeableWeight { get; set; }
/// <summary>
/// 应收合计(当前有效应收费用之和)。
/// </summary>
public decimal? ReceivableAmount { get; set; }
}