1.05 #7
@ -68,10 +68,18 @@ internal sealed class SmallBagTrackUpsertRequestBuilder(
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 仅取运单跟踪号;无值则空串,不回落运单号/客户单号等。
|
||||
/// 轨迹侧 TrackNo 必填。有真实跟踪号用跟踪号;尚未下发时先用客户单号占位,后续有 TrackNo 再 Upsert 更新。
|
||||
/// </summary>
|
||||
internal static string ResolveTrackNo(Order order) =>
|
||||
order.TrackNo?.Trim() ?? string.Empty;
|
||||
internal static string ResolveTrackNo(Order order)
|
||||
{
|
||||
var trackNo = order.TrackNo?.Trim() ?? string.Empty;
|
||||
if (!string.IsNullOrWhiteSpace(trackNo))
|
||||
{
|
||||
return trackNo;
|
||||
}
|
||||
|
||||
return order.ClientNo?.Trim() ?? string.Empty;
|
||||
}
|
||||
|
||||
internal static string? PickSupplierCodeFromProviders(
|
||||
IEnumerable<SalesProductAllocationProviderSnapshotDto> providers,
|
||||
|
||||
@ -20,14 +20,28 @@ public class SmallBagTrackUpsertRequestBuilderTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ResolveTrackNo_EmptyWhenTrackNoMissing()
|
||||
public void ResolveTrackNo_FallsBackToClientNoWhenTrackNoMissing()
|
||||
{
|
||||
var order = new Order
|
||||
{
|
||||
ServiceNo = "IDE2607221859123456",
|
||||
ClientNo = "CNO-001",
|
||||
TrackNo = null
|
||||
};
|
||||
|
||||
Assert.Equal("CNO-001", SmallBagTrackUpsertRequestBuilder.ResolveTrackNo(order));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ResolveTrackNo_EmptyWhenTrackNoAndClientNoMissing()
|
||||
{
|
||||
var order = new Order
|
||||
{
|
||||
ServiceNo = "IDE2607221859123456",
|
||||
TrackNo = null,
|
||||
ClientNo = null
|
||||
};
|
||||
|
||||
Assert.Equal(string.Empty, SmallBagTrackUpsertRequestBuilder.ResolveTrackNo(order));
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user