From c218bfad6b6baa293cd7b425712b1c7969410ae6 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 25 Aug 2026 08:21:47 +0800 Subject: [PATCH] fix: expose warehouse transfer application status --- .../lastleg/transfer/dto/WarehouseTransferResponses.java | 1 + .../transfer/service/WarehouseTransferService.java | 1 + .../transfer/service/WarehouseTransferServiceTest.java | 5 ++++- .../phase4-overseas-client-services.mjs | 8 ++++---- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/dto/WarehouseTransferResponses.java b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/dto/WarehouseTransferResponses.java index a081338e6..09cd8e495 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/dto/WarehouseTransferResponses.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/dto/WarehouseTransferResponses.java @@ -16,6 +16,7 @@ public final class WarehouseTransferResponses { String status, LocalDateTime estimatedArrivalAt, LocalDateTime createdAt) {} public record Detail(Long id, String transferNo, Long inboundOrderId, String inboundCode, Long lastlegOrderId, String lastlegOrderNo, String orderType, String orderStatus, + String status, boolean needRelabel, Long relabelApplicationId, String relabelNo, String relabelStatus, String operatingWarehouseId, String fbaWarehouseCode, String deliveryAddress, int packageCount, String deliveryMethod, LocalDateTime estimatedArrivalAt, diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java index ddafeed42..8995b02bd 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java @@ -225,6 +225,7 @@ public class WarehouseTransferService { transfer.getInboundCode(), transfer.getLastlegOrderId(), transfer.getLastlegOrderNo(), tailOrder == null ? ORDER_TYPE : tailOrder.getOrderType(), tailOrder == null ? (transfer.getStatus() == null ? PENDING_REVIEW : transfer.getStatus()) : tailOrder.getCurrentStatus(), + transfer.getStatus(), Boolean.TRUE.equals(transfer.getNeedRelabel()), transfer.getRelabelApplicationId(), transfer.getRelabelNo(), relabelStatus, transfer.getOperatingWarehouseId(), transfer.getFbaWarehouseCode(), transfer.getDeliveryAddress(), diff --git a/lastleg-service/src/test/java/com/baiyue/lastleg/transfer/service/WarehouseTransferServiceTest.java b/lastleg-service/src/test/java/com/baiyue/lastleg/transfer/service/WarehouseTransferServiceTest.java index f4b449c62..df28e085b 100644 --- a/lastleg-service/src/test/java/com/baiyue/lastleg/transfer/service/WarehouseTransferServiceTest.java +++ b/lastleg-service/src/test/java/com/baiyue/lastleg/transfer/service/WarehouseTransferServiceTest.java @@ -125,6 +125,7 @@ class WarehouseTransferServiceTest { verify(orders).updateById(tailOrder.getValue()); assertNotNull(tailOrder.getValue().getRelabelOrderNo()); assertEquals("PENDING_PROCESSING", tailOrder.getValue().getRelabelStatus()); + assertEquals(WarehouseTransferService.PENDING_REVIEW, result.status()); assertEquals(WarehouseTransferService.PENDING_REVIEW, result.orderStatus()); } @@ -162,6 +163,7 @@ class WarehouseTransferServiceTest { assertEquals(WarehouseTransferService.APPROVED, transfer.getStatus()); assertEquals(WarehouseTransferService.PENDING_ASSIGNMENT, tailOrder.getCurrentStatus()); + assertEquals(WarehouseTransferService.APPROVED, result.status()); assertEquals(WarehouseTransferService.PENDING_ASSIGNMENT, result.orderStatus()); verify(transfers).updateById(transfer); verify(orders).updateById(tailOrder); @@ -319,7 +321,8 @@ class WarehouseTransferServiceTest { WarehouseTransferOrder transfer = new WarehouseTransferOrder(); transfer.setId(21L); transfer.setCustomerId("TENANT-A"); transfer.setTransferNo("WTR-1"); transfer.setInboundOrderId(101L); transfer.setInboundCode("IN-1"); transfer.setLastlegOrderId(31L); - transfer.setLastlegOrderNo("LMO-TRANSFER-1"); transfer.setNeedRelabel(false); transfer.setPackageCount(5); + transfer.setLastlegOrderNo("LMO-TRANSFER-1"); transfer.setNeedRelabel(false); + transfer.setStatus(WarehouseTransferService.PENDING_REVIEW); transfer.setPackageCount(5); return transfer; } diff --git a/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs b/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs index 380254e5d..e887bc8bf 100644 --- a/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs +++ b/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs @@ -154,9 +154,9 @@ async function verifyTransfer(context, token, orders) { const created = await merchant(context, token, 'POST', '客户创建仓储转运申请', TRANSFER, body) const transferNo = id(created.data?.transferNo) context.assert(MODULE, '仓储转运申请进入合法待审核状态且绑定本轮来源订单', created.response, - Boolean(transferNo) && created.data?.orderStatus === 'PENDING_REVIEW' + Boolean(transferNo) && created.data?.status === 'PENDING_REVIEW' && created.data?.sourceOrders?.some((item) => id(item?.lastlegOrderId) === id(order.row.id)), - `transferNo=${transferNo || 'missing'}, status=${created.data?.orderStatus || 'missing'}; ${trace(created.response)}`, OPTIONS) + `transferNo=${transferNo || 'missing'}, status=${created.data?.status || 'missing'}; ${trace(created.response)}`, OPTIONS) if (!transferNo) return false const replay = await merchant(context, token, 'POST', '客户仓储转运申请幂等重放', TRANSFER, body) context.assert(MODULE, '转运重放复用同一申请', replay.response, @@ -170,9 +170,9 @@ async function verifyTransfer(context, token, orders) { const detail = await merchant(context, token, 'GET', '客户查询自身仓储转运详情', `${TRANSFER}/${encodeURIComponent(transferNo)}`) context.assert(MODULE, '转运详情保持待审核且不产生出库履约事实', detail.response, - id(detail.data?.transferNo) === transferNo && detail.data?.orderStatus === 'PENDING_REVIEW' + id(detail.data?.transferNo) === transferNo && detail.data?.status === 'PENDING_REVIEW' && detail.data?.outboundAt == null && Array.isArray(detail.data?.allocations) && detail.data.allocations.length === 0, - `status=${detail.data?.orderStatus || 'missing'}, allocations=${detail.data?.allocations?.length ?? 'missing'}; ${trace(detail.response)}`, OPTIONS) + `status=${detail.data?.status || 'missing'}, allocations=${detail.data?.allocations?.length ?? 'missing'}; ${trace(detail.response)}`, OPTIONS) context.createdResources.phase4OverseasClientServices.transferNo = transferNo return true }