From 4e4d047862a83b3781a39aab32dbd267784059b2 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 18 Aug 2026 11:46:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/config/InboundCodeModeProvider.java | 3 ++- .../order/config/InboundCodeModeProviderTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/order/src/main/java/com/baiyue/order/config/InboundCodeModeProvider.java b/order/src/main/java/com/baiyue/order/config/InboundCodeModeProvider.java index 581bed483..6cab307f1 100644 --- a/order/src/main/java/com/baiyue/order/config/InboundCodeModeProvider.java +++ b/order/src/main/java/com/baiyue/order/config/InboundCodeModeProvider.java @@ -15,7 +15,8 @@ public class InboundCodeModeProvider { private final Mode mode; - public InboundCodeModeProvider(@Value("${baiyue.order.inbound-code-mode}") String configuredMode) { + public InboundCodeModeProvider( + @Value("${baiyue.order.inbound-code-mode:LEGACY_MANUAL}") String configuredMode) { if (!StringUtils.hasText(configuredMode)) { throw new IllegalStateException("baiyue.order.inbound-code-mode 必须显式配置"); } diff --git a/order/src/test/java/com/baiyue/order/config/InboundCodeModeProviderTest.java b/order/src/test/java/com/baiyue/order/config/InboundCodeModeProviderTest.java index 856ed80c6..00afda61f 100644 --- a/order/src/test/java/com/baiyue/order/config/InboundCodeModeProviderTest.java +++ b/order/src/test/java/com/baiyue/order/config/InboundCodeModeProviderTest.java @@ -1,11 +1,25 @@ package com.baiyue.order.config; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Value; + +import java.lang.reflect.Constructor; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; class InboundCodeModeProviderTest { + @Test + void springPlaceholderDefaultsToLegacyManualWhenEnvironmentPropertyIsMissing() { + Constructor constructor = InboundCodeModeProvider.class.getDeclaredConstructors()[0]; + Value value = constructor.getParameters()[0].getAnnotation(Value.class); + + assertThat(value.value()) + .isEqualTo("${baiyue.order.inbound-code-mode:LEGACY_MANUAL}"); + assertThat(new InboundCodeModeProvider("LEGACY_MANUAL").mode()) + .isEqualTo(InboundCodeModeProvider.Mode.LEGACY_MANUAL); + } + @Test void parsesBothSupportedModesCaseInsensitively() { assertThat(new InboundCodeModeProvider("auto").mode())