All checks were successful
Build and Deploy / deploy (push) Successful in 56s
推费入参对齐表字段;创建订单凭证走 appKey/appSecret Header,去掉上门揽收与 Body 内 customerId。 Co-authored-by: Cursor <cursoragent@cursor.com>
150 lines
5.2 KiB
C#
150 lines
5.2 KiB
C#
using Oms.Domain.OrdersAggregate.Consts;
|
||
|
||
namespace Oms.Application.Dtos.Orders;
|
||
|
||
/// <summary>
|
||
/// 开放接口创建订单包裹入参:与单票字段对齐(不含上门揽收)。
|
||
/// 鉴权凭证放请求头 appKey / appSecret,勿放入 Body。
|
||
/// </summary>
|
||
public class OpenApiParcelCreateInput
|
||
{
|
||
/// <summary>请求标识(幂等,可选)。</summary>
|
||
public string? RequestId { get; set; }
|
||
|
||
/// <summary>客户单号。</summary>
|
||
public string? ClientNo { get; set; }
|
||
|
||
/// <summary>跟踪号(可选,系统通常忽略由下游回写)。</summary>
|
||
public string? TrackNo { get; set; }
|
||
|
||
/// <summary>服务单号(可选,不传时系统自动生成)。</summary>
|
||
public string? ServiceNo { get; set; }
|
||
|
||
/// <summary>产品编码(运输方式)。</summary>
|
||
public string? ProductCode { get; set; }
|
||
|
||
/// <summary>渠道编码(可选)。</summary>
|
||
public string? ChannelCode { get; set; }
|
||
|
||
/// <summary>货物属性(字典 cargo_attribute:general / electronics / sensitive)。</summary>
|
||
public string? CargoAttribute { get; set; }
|
||
|
||
/// <summary>出口报关方式(字典 export_customs_mode)。</summary>
|
||
public string? ExportCustomsMode { get; set; }
|
||
|
||
/// <summary>出口资质备案 Id(9610 汇总申报时)。</summary>
|
||
public int? ExportQualificationId { get; set; }
|
||
|
||
/// <summary>电商平台(9610 汇总申报时)。</summary>
|
||
public string? PlatformCode { get; set; }
|
||
|
||
/// <summary>仓库主键。</summary>
|
||
public int? WarehouseId { get; set; }
|
||
|
||
/// <summary>长(cm)。</summary>
|
||
public decimal? Length { get; set; }
|
||
|
||
/// <summary>宽(cm)。</summary>
|
||
public decimal? Width { get; set; }
|
||
|
||
/// <summary>高(cm)。</summary>
|
||
public decimal? Height { get; set; }
|
||
|
||
/// <summary>实重(kg)。</summary>
|
||
public decimal? ActualWeight { get; set; }
|
||
|
||
/// <summary>体积重(kg,可选)。</summary>
|
||
public decimal? VolumetricWeight { get; set; }
|
||
|
||
/// <summary>计费重(kg,可选)。</summary>
|
||
public decimal? ChargeableWeight { get; set; }
|
||
|
||
/// <summary>体积(cm³,可选)。</summary>
|
||
public decimal? Cubic { 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>申报币种(字典 currency)。</summary>
|
||
public string? DeclaredCurrency { get; set; }
|
||
|
||
/// <summary>申报总金额(可选,不填可由明细汇总)。</summary>
|
||
public decimal? DeclaredSum { get; set; }
|
||
|
||
/// <summary>附加服务字典 code 列表。</summary>
|
||
public List<string>? AdditionalServices { get; set; }
|
||
|
||
/// <summary>是否偏远(可选预传)。</summary>
|
||
public byte? IsRemote { get; set; }
|
||
|
||
/// <summary>包裹数量。</summary>
|
||
public int? Quantity { get; set; }
|
||
|
||
/// <summary>收件人。</summary>
|
||
public OrderParcelReceiverInput? Receiver { get; set; }
|
||
|
||
/// <summary>寄件人。</summary>
|
||
public OrderParcelSenderInput? Sender { get; set; }
|
||
|
||
/// <summary>申报明细。</summary>
|
||
public List<OrderParcelItemInput> Items { get; set; } = [];
|
||
|
||
/// <summary>优惠券实例 Id(可选)。</summary>
|
||
public int? CouponInstanceId { get; set; }
|
||
|
||
/// <summary>仅保存草稿,不预报计费。</summary>
|
||
public bool SaveAsDraft { get; set; }
|
||
|
||
/// <summary>
|
||
/// 映射为内部单票创建入参。开放接口固定自发货(selfShip),客户 Id 由凭证解析后写入。
|
||
/// </summary>
|
||
public OrderParcelCreateInput ToOrderParcelCreateInput(int customerId) =>
|
||
new()
|
||
{
|
||
RequestId = RequestId,
|
||
ClientNo = ClientNo,
|
||
TrackNo = TrackNo,
|
||
ServiceNo = ServiceNo,
|
||
ProductCode = ProductCode,
|
||
ChannelCode = ChannelCode,
|
||
CargoAttribute = CargoAttribute,
|
||
ExportCustomsMode = ExportCustomsMode,
|
||
ExportQualificationId = ExportQualificationId,
|
||
PlatformCode = PlatformCode,
|
||
WarehouseId = WarehouseId,
|
||
CustomerId = customerId,
|
||
Length = Length,
|
||
Width = Width,
|
||
Height = Height,
|
||
ActualWeight = ActualWeight,
|
||
VolumetricWeight = VolumetricWeight,
|
||
ChargeableWeight = ChargeableWeight,
|
||
Cubic = Cubic,
|
||
IsCod = IsCod,
|
||
CodCurrency = CodCurrency,
|
||
CodSum = CodSum,
|
||
DeclaredCurrency = DeclaredCurrency,
|
||
DeclaredSum = DeclaredSum,
|
||
AdditionalServices = AdditionalServices,
|
||
IsRemote = IsRemote,
|
||
Quantity = Quantity,
|
||
Receiver = Receiver,
|
||
Sender = Sender,
|
||
Items = Items ?? [],
|
||
CouponInstanceId = CouponInstanceId,
|
||
SaveAsDraft = SaveAsDraft,
|
||
InboundMethod = OrderInboundMethodCodes.SelfShip,
|
||
SenderAddressId = null,
|
||
ExpectPickupTime = null,
|
||
PickupDirection = null,
|
||
CarrierCode = null,
|
||
CarrierService = null
|
||
};
|
||
}
|