From a18d1b0c30ded840221810bb1d6d77f9bb88efeb Mon Sep 17 00:00:00 2001 From: zhaoyong Date: Tue, 10 Aug 2021 13:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E6=9C=AC=E5=9C=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common-common/pom.xml | 2 +- .../framework/common/constatns/Constants.java | 4 ++ .../spring/condition/NonLocalEnvironment.java | 25 +++++++++++ .../NonLocalEnvironmentCondition.java | 42 +++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironment.java create mode 100644 common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironmentCondition.java diff --git a/common-common/pom.xml b/common-common/pom.xml index bbda38b..cc98bbe 100644 --- a/common-common/pom.xml +++ b/common-common/pom.xml @@ -6,7 +6,7 @@ cn.axzo.framework common-common - 1.0.9 + 1.0.10 UTF-8 diff --git a/common-common/src/main/java/cn/azxo/framework/common/constatns/Constants.java b/common-common/src/main/java/cn/azxo/framework/common/constatns/Constants.java index 9cbb9ef..e09f1c2 100644 --- a/common-common/src/main/java/cn/azxo/framework/common/constatns/Constants.java +++ b/common-common/src/main/java/cn/azxo/framework/common/constatns/Constants.java @@ -11,6 +11,10 @@ public class Constants { /** 签名*/ public static final String SIGN = "sign"; + + /** 本地环境 */ + public static final String LOCAL = "local"; + /** 签名方式*/ public static final String SIGN_TYPE = "sign_type"; /** 签名版本号*/ diff --git a/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironment.java b/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironment.java new file mode 100644 index 0000000..9e77763 --- /dev/null +++ b/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironment.java @@ -0,0 +1,25 @@ +package cn.azxo.framework.common.spring.condition; + +import org.springframework.context.annotation.Conditional; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 非本地环境 + * + * @author zhaoyong + * @see NonLocalEnvironment + * @since 2021-08-10 13:21 + */ +@Target({ ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Conditional(NonLocalEnvironmentCondition.class) +public @interface NonLocalEnvironment { + + +} diff --git a/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironmentCondition.java b/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironmentCondition.java new file mode 100644 index 0000000..a3ddf29 --- /dev/null +++ b/common-common/src/main/java/cn/azxo/framework/common/spring/condition/NonLocalEnvironmentCondition.java @@ -0,0 +1,42 @@ +package cn.azxo.framework.common.spring.condition; + +import cn.azxo.framework.common.constatns.Constants; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.env.Environment; +import org.springframework.core.type.AnnotatedTypeMetadata; + +/** + * 非本地环境条件 + * + * @author zhaoyong + * @see NonLocalEnvironmentCondition + * @since 2021-08-10 11:57 + */ +public class NonLocalEnvironmentCondition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + if(isLocal(context)) { + return false; + } else { + return true; + } + } + + /** + * 是否本地环境 + * @return + */ + private boolean isLocal(ConditionContext context){ + Environment environment = context.getEnvironment(); + String[] activeProfiles = environment.getActiveProfiles(); + for (String activeProfile : activeProfiles) { + if(Constants.LOCAL.equals(activeProfile)) { + return true; + } + } + return false; + } + +}