diff --git a/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingCompletedOutboxService.java b/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingCompletedOutboxService.java index b8765e06b..06296b222 100644 --- a/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingCompletedOutboxService.java +++ b/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingCompletedOutboxService.java @@ -372,11 +372,16 @@ public class LoadingCompletedOutboxService { + "|" + value.getActualSkuQuantity()).collect(java.util.stream.Collectors.joining("\n")); int fragments = (int) sorted.stream().map(PalletRow::getAccountId).distinct().count(); result.put(palletNo, new PalletManifest(1, sorted.size(), fragments, - EventPayloadHash.sha256(canonical.getBytes(StandardCharsets.UTF_8)))); + manifestHash(canonical))); }); return result; } + private String manifestHash(String canonical) { + String value = EventPayloadHash.sha256(canonical.getBytes(StandardCharsets.UTF_8)); + return value.substring("sha256:".length()); + } + private static boolean dropship(String value) { return "ONE_CLICK_DROPSHIP".equals(value); } diff --git a/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingCompletedOutboxServiceTest.java b/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingCompletedOutboxServiceTest.java index 07ce90b3b..09ca1e1d2 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingCompletedOutboxServiceTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingCompletedOutboxServiceTest.java @@ -362,6 +362,9 @@ class LoadingCompletedOutboxServiceTest { .isEqualTo("BOX-A2"); assertThat(event.payload().at("/orders/0/pallets/1/skuPackages/0/cartonMarks/0").asText()) .isEqualTo("BOX-A1"); + assertThat(event.payload().at("/orders/0/pallets/0/manifestHash").asText()) + .matches("[0-9a-f]{64}") + .doesNotStartWith("sha256:"); } @Test