feat: add inbound hold lifecycle
This commit is contained in:
@@ -54,6 +54,7 @@ class UnifiedOrderApiContractTest {
|
||||
assertThat(stringMap(row.get("properties"))).containsKeys(
|
||||
"orderId", "mainStatus", "channelCode", "inboundId", "inboundVersion", "measurement", "preload",
|
||||
"loading", "delivery", "transport", "customerRemark", "latestInternalNote",
|
||||
"holdFlag", "currentHoldReason",
|
||||
"expectedArrivalAt", "requestedPickupAt", "feeReviewStatus", "companyName", "businessType", "pickupMethod",
|
||||
"taxMode", "containerMode", "customsInspection", "destinationType", "destinationCode",
|
||||
"totalPalletCount", "chargeableWeightKg", "chargeableVolumeCbm", "volumetricWeightKg", "totalNetWeightKg",
|
||||
@@ -64,6 +65,8 @@ class UnifiedOrderApiContractTest {
|
||||
assertThat(inboundCode.get("description").toString()).contains("不得回退");
|
||||
Map<String, Object> channelCode = stringMap(stringMap(row.get("properties")).get("channelCode"));
|
||||
assertThat(channelCode.get("description").toString()).contains("不由 channelName 推导");
|
||||
assertThat(stringMap(row.get("properties")))
|
||||
.doesNotContainKeys("holdCargo", "holdReason");
|
||||
Map<String, Object> coLoadGroup = stringMap(schemas.get("UnifiedCoLoadGroupSummary"));
|
||||
assertThat(stringMap(coLoadGroup.get("properties")))
|
||||
.containsOnlyKeys("status", "memberCount", "memberInboundCodes");
|
||||
@@ -82,7 +85,9 @@ class UnifiedOrderApiContractTest {
|
||||
"page", String.class, FirstlegUnifiedOrderClient.Query.class);
|
||||
assertThat(page.getAnnotation(PostMapping.class).value()).containsExactly("/query");
|
||||
assertThat(List.of(FirstlegUnifiedOrderClient.Inbound.class.getRecordComponents()).stream()
|
||||
.map(component -> component.getName())).contains("channelCode", "channelName");
|
||||
.map(component -> component.getName()))
|
||||
.contains("channelCode", "channelName", "holdFlag", "currentHoldReason")
|
||||
.doesNotContain("holdCargo", "holdReason");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -74,6 +74,8 @@ class UnifiedOrderQueryServiceTest {
|
||||
assertThat(row.inboundCode()).isEqualTo("RK-77");
|
||||
assertThat(row.channelCode()).isEqualTo("MATSON");
|
||||
assertThat(row.inboundId()).isNull();
|
||||
assertThat(row.holdFlag()).isNull();
|
||||
assertThat(row.currentHoldReason()).isNull();
|
||||
assertThat(row.customerRemark()).isEqualTo("客户要求提货前联系");
|
||||
assertThat(row.latestInternalNote()).isEqualTo("客服已确认提货时间");
|
||||
assertThat(row.relation()).isNull();
|
||||
@@ -98,6 +100,8 @@ class UnifiedOrderQueryServiceTest {
|
||||
assertThat(row.nextAction()).isEqualTo("APPROVE_ORDER");
|
||||
assertThat(row.inboundId()).isEqualTo(88L);
|
||||
assertThat(row.internalOrderStatus()).isEqualTo(OrderStatus.SUBMITTED);
|
||||
assertThat(row.holdFlag()).isTrue();
|
||||
assertThat(row.currentHoldReason()).isEqualTo("等待客户补充资料");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -592,6 +596,8 @@ class UnifiedOrderQueryServiceTest {
|
||||
assertThat(result.summary().mainStatus()).isEqualTo("LOADED");
|
||||
assertThat(result.summary().internalOrderStatus()).isEqualTo(OrderStatus.APPROVED);
|
||||
assertThat(result.summary().inboundId()).isEqualTo(88L);
|
||||
assertThat(result.summary().holdFlag()).isTrue();
|
||||
assertThat(result.summary().currentHoldReason()).isEqualTo("等待客户补充资料");
|
||||
ArgumentCaptor<FirstlegUnifiedOrderClient.DetailRequest> captor =
|
||||
ArgumentCaptor.forClass(FirstlegUnifiedOrderClient.DetailRequest.class);
|
||||
verify(firstleg).detail(eq("internal-token"), captor.capture());
|
||||
@@ -701,6 +707,8 @@ class UnifiedOrderQueryServiceTest {
|
||||
when(inbound.deliveryWarehouseName()).thenReturn("ONT8");
|
||||
when(inbound.channelName()).thenReturn("美森");
|
||||
when(inbound.channelCode()).thenReturn("MATSON");
|
||||
when(inbound.holdFlag()).thenReturn(true);
|
||||
when(inbound.currentHoldReason()).thenReturn("等待客户补充资料");
|
||||
when(inbound.totalPackageCount()).thenReturn(10);
|
||||
when(inbound.locationCodes()).thenReturn("A0-01, B2-03");
|
||||
when(inbound.companyName()).thenReturn("测试客户有限公司");
|
||||
|
||||
Reference in New Issue
Block a user