This commit is contained in:
wujinliang
2026-09-17 14:40:02 +08:00
parent 6ffd56a0a3
commit 66c68cdc89
2 changed files with 26 additions and 1 deletions
@@ -110,7 +110,7 @@ public class UnifiedOrderQueryService {
boolean includeCoLoadGroups) {
OrderEntity order = orders.findOwned(tenantId, orderId);
if (order == null) throw new BizException(ResultCode.NOT_FOUND, "订单不存在");
OrderDetailResponse orderDetail = new OrderDetailResponse(order, orders.findCargo(tenantId, orderId),
OrderDetailResponse orderDetail = new OrderDetailResponse(order, orders.findCargoInheritedByOrder(tenantId, orderId),
orders.findParties(tenantId, orderId), includeInternalNotes ? orders.findNotes(tenantId, orderId) : List.of(),
orders.findHistory(tenantId, orderId));
FirstlegUnifiedOrderClient.Detail inbound = order.getStatus() == OrderStatus.SUBMITTED
@@ -497,6 +497,31 @@ class UnifiedOrderQueryServiceTest {
verify(firstleg).detail(eq("internal-token"), any());
}
@Test
void childDetailInheritsCargoFromRootOrderWhenItHasNoOwnCargo() {
OrderEntity child = order(OrderStatus.SUBMITTED);
child.setId(78L);
child.setOrderNo("FL-77-1");
child.setOrderRole("CHILD");
child.setRootOrderId(77L);
OrderCargoEntity inheritedCargo = new OrderCargoEntity();
inheritedCargo.setId(901L);
inheritedCargo.setOrderId(77L);
inheritedCargo.setSkuNo("SKU-ROOT");
when(orders.findOwned(10001L, 78L)).thenReturn(child);
when(orders.findCargoInheritedByOrder(10001L, 78L)).thenReturn(List.of(inheritedCargo));
when(orders.findParties(10001L, 78L)).thenReturn(List.of());
when(orders.findHistory(10001L, 78L)).thenReturn(List.of());
var result = service.detail(10001L, 78L, false);
assertThat(result.order().cargoes()).singleElement().satisfies(cargo -> {
assertThat(cargo.getId()).isEqualTo(901L);
assertThat(cargo.getSkuNo()).isEqualTo("SKU-ROOT");
});
verify(orders).findCargoInheritedByOrder(10001L, 78L);
}
@Test
void detailUsesCreateHistoryOperatorNameInsteadOfNumericCreatorId() {
OrderEntity order = order(OrderStatus.SUBMITTED);