From 2a9f79604bdb64004e67745917e79e0778c602e6 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 9 Sep 2026 18:18:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A3=85=E6=9F=9C=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=89=98=E7=9B=98=E6=A0=87=E7=AD=BE=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baiyue/firstleg/service/LoadingListService.java | 2 +- .../firstleg/service/LoadingListServiceTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingListService.java b/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingListService.java index 769a69693..d1f32c420 100644 --- a/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingListService.java +++ b/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingListService.java @@ -577,7 +577,7 @@ public class LoadingListService { } /** 完成 worker 在远程结算前验证最终跨区快照能够完整生成。 */ - @Transactional(readOnly = true) + @Transactional public void requireCompletedEventReady(long planId) { loadingCompletedOutboxService.requirePublishable(planId); } diff --git a/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingListServiceTest.java b/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingListServiceTest.java index 748dd8fc8..fe004951c 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingListServiceTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/service/LoadingListServiceTest.java @@ -30,6 +30,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -315,6 +316,16 @@ class LoadingListServiceTest { verify(loadingCompletedOutboxService).publish(10L); } + @Test + void completedEventReadinessMustAllowPalletLabelFreeze() throws Exception { + Transactional transaction = LoadingListService.class + .getDeclaredMethod("requireCompletedEventReady", long.class) + .getAnnotation(Transactional.class); + + assertThat(transaction).isNotNull(); + assertThat(transaction.readOnly()).isFalse(); + } + @Test void shouldRejectAutomaticCompletionWhenPdaItemsRemain() { when(pickRepository.allPlanItemsPicked(10L)).thenReturn(false);