From ee65adab45528663d8dad7a8f339385215cd9a9f Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 17 Jul 2025 10:41:47 +0800 Subject: [PATCH] =?UTF-8?q?cf-framework=EF=BC=9Abanner=E3=80=81error-code?= =?UTF-8?q?=E7=A7=BB=E5=88=B0starter-web=EF=BC=8Cdesensitize=E7=A7=BB?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cf-dependencies/pom.xml | 15 --- .../cf-spring-boot-starter-banner/pom.xml | 29 ------ .../imes/framework/banner/package-info.java | 6 -- ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../pom.xml | 55 ----------- .../framework/errorcode/package-info.java | 10 -- ...ot.autoconfigure.AutoConfiguration.imports | 2 - .../pom.xml | 38 ------- .../core/base/annotation/DesensitizeBy.java | 32 ------ .../base/handler/DesensitizationHandler.java | 21 ---- .../StringDesensitizeSerializer.java | 92 ----------------- .../desensitize/core/package-info.java | 4 - .../regex/annotation/EmailDesensitize.java | 36 ------- .../regex/annotation/RegexDesensitize.java | 38 ------- .../AbstractRegexDesensitizationHandler.java | 38 ------- .../DefaultRegexDesensitizationHandler.java | 21 ---- .../handler/EmailDesensitizationHandler.java | 22 ----- .../annotation/BankCardDesensitize.java | 40 -------- .../annotation/CarLicenseDesensitize.java | 40 -------- .../annotation/ChineseNameDesensitize.java | 40 -------- .../annotation/FixedPhoneDesensitize.java | 40 -------- .../slider/annotation/IdCardDesensitize.java | 40 -------- .../slider/annotation/MobileDesensitize.java | 40 -------- .../annotation/PasswordDesensitize.java | 42 -------- .../slider/annotation/SliderDesensitize.java | 43 -------- .../AbstractDesensitizationHandler.java | 78 --------------- .../AbstractSliderDesensitizationHandler.java | 78 --------------- .../handler/BankCardDesensitization.java | 27 ----- .../handler/CarLicenseDesensitization.java | 25 ----- .../handler/ChineseNameDesensitization.java | 27 ----- .../DefaultDesensitizationHandler.java | 25 ----- .../handler/FixedPhoneDesensitization.java | 25 ----- .../slider/handler/IdCardDesensitization.java | 25 ----- .../slider/handler/MobileDesensitization.java | 26 ----- .../handler/PasswordDesensitization.java | 25 ----- .../desensitize/core/DesensitizeTest.java | 98 ------------------- .../desensitize/core/annotation/Address.java | 30 ------ .../core/handler/AddressHandler.java | 19 ---- .../cf-spring-boot-starter-web/pom.xml | 6 ++ .../ChenfengBannerAutoConfiguration.java | 0 .../banner/core/BannerApplicationRunner.java | 0 .../ChenfengErrorCodeAutoConfiguration.java | 0 ...ChenfengErrorCodeRpcAutoConfiguration.java | 0 .../errorcode/config/ErrorCodeProperties.java | 0 .../generator/ErrorCodeAutoGenerator.java | 0 .../generator/ErrorCodeAutoGeneratorImpl.java | 0 .../core/loader/ErrorCodeLoader.java | 0 .../core/loader/ErrorCodeLoaderImpl.java | 0 ...ot.autoconfigure.AutoConfiguration.imports | 3 + .../src/main/resources/banner.txt | 0 cf-framework/pom.xml | 3 - cf-gateway/pom.xml | 14 --- .../gateway/util/BannerApplicationRunner.java | 32 ++++++ cf-gateway/src/main/resources/banner.txt | 17 ++++ cf-module-infra/cf-module-infra-biz/pom.xml | 16 --- .../cf-module-prod-executor-biz/pom.xml | 16 --- .../cf-module-prod-plan-biz/pom.xml | 18 ---- cf-module-report/cf-module-report-biz/pom.xml | 8 -- cf-module-system/cf-module-system-biz/pom.xml | 16 --- 59 files changed, 58 insertions(+), 1384 deletions(-) delete mode 100644 cf-framework/cf-spring-boot-starter-banner/pom.xml delete mode 100644 cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/package-info.java delete mode 100644 cf-framework/cf-spring-boot-starter-banner/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 cf-framework/cf-spring-boot-starter-biz-error-code/pom.xml delete mode 100644 cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/package-info.java delete mode 100644 cf-framework/cf-spring-boot-starter-biz-error-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/pom.xml delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/annotation/DesensitizeBy.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/handler/DesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/package-info.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/EmailDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/RegexDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/DefaultRegexDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/EmailDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/BankCardDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/FixedPhoneDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/IdCardDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/MobileDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/PasswordDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/SliderDesensitize.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/BankCardDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/CarLicenseDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/ChineseNameDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/DefaultDesensitizationHandler.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/FixedPhoneDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/IdCardDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/MobileDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/PasswordDesensitization.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/DesensitizeTest.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/annotation/Address.java delete mode 100644 cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/handler/AddressHandler.java rename cf-framework/{cf-spring-boot-starter-banner => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/banner/config/ChenfengBannerAutoConfiguration.java (100%) rename cf-framework/{cf-spring-boot-starter-banner => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/banner/core/BannerApplicationRunner.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeAutoConfiguration.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeRpcAutoConfiguration.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoader.java (100%) rename cf-framework/{cf-spring-boot-starter-biz-error-code => cf-spring-boot-starter-web}/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java (100%) rename cf-framework/{cf-spring-boot-starter-banner => cf-spring-boot-starter-web}/src/main/resources/banner.txt (100%) create mode 100644 cf-gateway/src/main/java/com/cf/imes/gateway/util/BannerApplicationRunner.java create mode 100644 cf-gateway/src/main/resources/banner.txt diff --git a/cf-dependencies/pom.xml b/cf-dependencies/pom.xml index efb2b2528..6cc6dcb08 100644 --- a/cf-dependencies/pom.xml +++ b/cf-dependencies/pom.xml @@ -127,11 +127,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - ${revision} - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -173,11 +168,6 @@ cf-spring-boot-starter-biz-data-permission ${revision} - - com.cf.imes - cf-spring-boot-starter-biz-error-code - ${revision} - com.cf.imes cf-spring-boot-starter-biz-id @@ -193,11 +183,6 @@ cf-spring-boot-starter-captcha ${revision} - - com.cf.imes - cf-spring-boot-starter-desensitize - ${revision} - diff --git a/cf-framework/cf-spring-boot-starter-banner/pom.xml b/cf-framework/cf-spring-boot-starter-banner/pom.xml deleted file mode 100644 index 3e88044d9..000000000 --- a/cf-framework/cf-spring-boot-starter-banner/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - cf-framework - com.cf.imes - ${revision} - - 4.0.0 - cf-spring-boot-starter-banner - jar - - ${project.artifactId} - Banner 用于在 console 控制台,打印开发文档、接口文档等 - - - - com.cf.imes - cf-common - - - - org.springframework.boot - spring-boot-starter - - - - diff --git a/cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/package-info.java b/cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/package-info.java deleted file mode 100644 index abea5d46f..000000000 --- a/cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Banner 用于在 console 控制台,打印开发文档、接口文档等 - * - * @author 晨丰科技 - */ -package com.cf.imes.framework.banner; diff --git a/cf-framework/cf-spring-boot-starter-banner/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cf-framework/cf-spring-boot-starter-banner/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index b88a78f98..000000000 --- a/cf-framework/cf-spring-boot-starter-banner/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.cf.imes.framework.banner.config.ChenfengBannerAutoConfiguration diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/pom.xml b/cf-framework/cf-spring-boot-starter-biz-error-code/pom.xml deleted file mode 100644 index 3ac2c4519..000000000 --- a/cf-framework/cf-spring-boot-starter-biz-error-code/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - cf-framework - com.cf.imes - ${revision} - - 4.0.0 - cf-spring-boot-starter-biz-error-code - jar - - ${project.artifactId} - - 错误码 ErrorCode 的自动配置功能,提供如下功能: - 1. 远程读取:项目启动时,从 system-server 服务,读取数据库中的 ErrorCode 错误码,实现错误码的提示可配置; - 2. 自动更新:管理员在管理后台修数据库中的 ErrorCode 错误码时,项目自动从 system-server 服务加载最新的 ErrorCode 错误码; - 3. 自动写入:项目启动时,将项目本地的错误码写到 system-server 服务中,方便管理员在管理后台编辑; - - - - - com.cf.imes - cf-common - - - - - org.springframework.boot - spring-boot-starter - - - - - com.cf.imes - cf-spring-boot-starter-rpc - true - - - - - com.cf.imes - cf-module-system-api - ${revision} - - - - jakarta.validation - jakarta.validation-api - provided - - - - diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/package-info.java b/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/package-info.java deleted file mode 100644 index bba8f3169..000000000 --- a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/package-info.java +++ /dev/null @@ -1,10 +0,0 @@ -/** - * 错误码 ErrorCode 的自动配置功能,提供如下功能: - * - * 1. 远程读取:项目启动时,从 system-service 服务,读取数据库中的 ErrorCode 错误码,实现错误码的提水可配置; - * 2. 自动更新:管理员在管理后台修数据库中的 ErrorCode 错误码时,项目自动从 system-service 服务加载最新的 ErrorCode 错误码; - * 3. 自动写入:项目启动时,将项目本地的错误码写到 system-server 服务中,方便管理员在管理后台编辑; - * - * @author 晨丰科技 - */ -package com.cf.imes.framework.errorcode; diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 173057aba..000000000 --- a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,2 +0,0 @@ -com.cf.imes.framework.errorcode.config.ChenfengErrorCodeRpcAutoConfiguration -com.cf.imes.framework.errorcode.config.ChenfengErrorCodeAutoConfiguration diff --git a/cf-framework/cf-spring-boot-starter-desensitize/pom.xml b/cf-framework/cf-spring-boot-starter-desensitize/pom.xml deleted file mode 100644 index 0acc43e58..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/pom.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - 4.0.0 - - com.cf.imes - cf-framework - ${revision} - - - cf-spring-boot-starter-desensitize - 脱敏组件:支持 JSON 返回数据时,将邮箱、手机等字段进行脱敏 - - - - com.cf.imes - cf-common - - - - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-databind - - - - - com.cf.imes - cf-spring-boot-starter-test - test - - - diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/annotation/DesensitizeBy.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/annotation/DesensitizeBy.java deleted file mode 100644 index 3368c4950..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/annotation/DesensitizeBy.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.cf.imes.framework.desensitize.core.base.annotation; - -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; -import com.cf.imes.framework.desensitize.core.base.serializer.StringDesensitizeSerializer; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -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 gaibu - */ -@Documented -@Target(ElementType.ANNOTATION_TYPE) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside // 此注解是其他所有 jackson 注解的元注解,打上了此注解的注解表明是 jackson 注解的一部分 -@JsonSerialize(using = StringDesensitizeSerializer.class) // 指定序列化器 -public @interface DesensitizeBy { - - /** - * 脱敏处理器 - */ - @SuppressWarnings("rawtypes") - Class handler(); - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/handler/DesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/handler/DesensitizationHandler.java deleted file mode 100644 index 160eeac1c..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/handler/DesensitizationHandler.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.cf.imes.framework.desensitize.core.base.handler; - -import java.lang.annotation.Annotation; - -/** - * 脱敏处理器接口 - * - * @author gaibu - */ -public interface DesensitizationHandler { - - /** - * 脱敏 - * - * @param origin 原始字符串 - * @param annotation 注解信息 - * @return 脱敏后的字符串 - */ - String desensitize(String origin, T annotation); - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java deleted file mode 100644 index eda085151..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.cf.imes.framework.desensitize.core.base.serializer; - -import cn.hutool.core.annotation.AnnotationUtil; -import cn.hutool.core.lang.Singleton; -import cn.hutool.core.text.CharSequenceUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ReflectUtil; -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.BeanProperty; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.ContextualSerializer; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import lombok.Getter; -import lombok.Setter; - -import java.io.IOException; -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; - -/** - * 脱敏序列化器 - * - * 实现 JSON 返回数据时,使用 {@link DesensitizationHandler} 对声明脱敏注解的字段,进行脱敏处理。 - * - * @author gaibu - */ -@SuppressWarnings("rawtypes") -public class StringDesensitizeSerializer extends StdSerializer implements ContextualSerializer { - - @Getter - @Setter - private DesensitizationHandler desensitizationHandler; - - protected StringDesensitizeSerializer() { - super(String.class); - } - - @Override - public JsonSerializer createContextual(SerializerProvider serializerProvider, BeanProperty beanProperty) { - DesensitizeBy annotation = beanProperty.getAnnotation(DesensitizeBy.class); - if (annotation == null) { - return this; - } - // 创建一个 StringDesensitizeSerializer 对象,使用 DesensitizeBy 对应的处理器 - StringDesensitizeSerializer serializer = new StringDesensitizeSerializer(); - serializer.setDesensitizationHandler(Singleton.get(annotation.handler())); - return serializer; - } - - @Override - @SuppressWarnings("unchecked") - public void serialize(String value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException { - if (CharSequenceUtil.isBlank(value)) { - gen.writeNull(); - return; - } - // 获取序列化字段 - Field field = getField(gen); - - // 自定义处理器 - DesensitizeBy[] annotations = AnnotationUtil.getCombinationAnnotations(field, DesensitizeBy.class); - if (ArrayUtil.isEmpty(annotations)) { - gen.writeString(value); - return; - } - for (Annotation annotation : field.getAnnotations()) { - if (AnnotationUtil.hasAnnotation(annotation.annotationType(), DesensitizeBy.class)) { - value = this.desensitizationHandler.desensitize(value, annotation); - gen.writeString(value); - return; - } - } - gen.writeString(value); - } - - /** - * 获取字段 - * - * @param generator JsonGenerator - * @return 字段 - */ - private Field getField(JsonGenerator generator) { - String currentName = generator.getOutputContext().getCurrentName(); - Object currentValue = generator.getCurrentValue(); - Class currentValueClass = currentValue.getClass(); - return ReflectUtil.getField(currentValueClass, currentName); - } - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/package-info.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/package-info.java deleted file mode 100644 index 895b52d09..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 脱敏组件:支持 JSON 返回数据时,将邮箱、手机等字段进行脱敏 - */ -package com.cf.imes.framework.desensitize.core; diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/EmailDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/EmailDesensitize.java deleted file mode 100644 index 9978239c0..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/EmailDesensitize.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.cf.imes.framework.desensitize.core.regex.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.regex.handler.EmailDesensitizationHandler; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = EmailDesensitizationHandler.class) -public @interface EmailDesensitize { - - /** - * 匹配的正则表达式 - */ - String regex() default "(^.)[^@]*(@.*$)"; - - /** - * 替换规则,邮箱; - * - * 比如:example@gmail.com 脱敏之后为 e****@gmail.com - */ - String replacer() default "$1****$2"; -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/RegexDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/RegexDesensitize.java deleted file mode 100644 index 7c3f80632..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/annotation/RegexDesensitize.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.cf.imes.framework.desensitize.core.regex.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.regex.handler.DefaultRegexDesensitizationHandler; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = DefaultRegexDesensitizationHandler.class) -public @interface RegexDesensitize { - - /** - * 匹配的正则表达式(默认匹配所有) - */ - String regex() default "^[\\s\\S]*$"; - - /** - * 替换规则,会将匹配到的字符串全部替换成 replacer - * - * 例如:regex=123; replacer=****** - * 原始字符串 123456789 - * 脱敏后字符串 ******456789 - */ - String replacer() default "******"; -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java deleted file mode 100644 index 3d504725f..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.cf.imes.framework.desensitize.core.regex.handler; - -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; - -import java.lang.annotation.Annotation; - -/** - * 正则表达式脱敏处理器抽象类,已实现通用的方法 - * - * @author gaibu - */ -public abstract class AbstractRegexDesensitizationHandler - implements DesensitizationHandler { - - @Override - public String desensitize(String origin, T annotation) { - String regex = getRegex(annotation); - String replacer = getReplacer(annotation); - return origin.replaceAll(regex, replacer); - } - - /** - * 获取注解上的 regex 参数 - * - * @param annotation 注解信息 - * @return 正则表达式 - */ - abstract String getRegex(T annotation); - - /** - * 获取注解上的 replacer 参数 - * - * @param annotation 注解信息 - * @return 待替换的字符串 - */ - abstract String getReplacer(T annotation); - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/DefaultRegexDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/DefaultRegexDesensitizationHandler.java deleted file mode 100644 index bd61f3d50..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/DefaultRegexDesensitizationHandler.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.cf.imes.framework.desensitize.core.regex.handler; - -import com.cf.imes.framework.desensitize.core.regex.annotation.RegexDesensitize; - -/** - * {@link RegexDesensitize} 的正则脱敏处理器 - * - * @author gaibu - */ -public class DefaultRegexDesensitizationHandler extends AbstractRegexDesensitizationHandler { - - @Override - String getRegex(RegexDesensitize annotation) { - return annotation.regex(); - } - - @Override - String getReplacer(RegexDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/EmailDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/EmailDesensitizationHandler.java deleted file mode 100644 index 2494e5d21..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/regex/handler/EmailDesensitizationHandler.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.cf.imes.framework.desensitize.core.regex.handler; - -import com.cf.imes.framework.desensitize.core.regex.annotation.EmailDesensitize; - -/** - * {@link EmailDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class EmailDesensitizationHandler extends AbstractRegexDesensitizationHandler { - - @Override - String getRegex(EmailDesensitize annotation) { - return annotation.regex(); - } - - @Override - String getReplacer(EmailDesensitize annotation) { - return annotation.replacer(); - } - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/BankCardDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/BankCardDesensitize.java deleted file mode 100644 index 7c349542a..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/BankCardDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.BankCardDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = BankCardDesensitization.class) -public @interface BankCardDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 6; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 2; - - /** - * 替换规则,银行卡号; 比如:9988002866797031 脱敏之后为 998800********31 - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java deleted file mode 100644 index c9408e3d3..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.CarLicenseDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = CarLicenseDesensitization.class) -public @interface CarLicenseDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 3; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 1; - - /** - * 替换规则,车牌号;比如:粤A66666 脱敏之后为粤A6***6 - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java deleted file mode 100644 index bda754657..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.ChineseNameDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = ChineseNameDesensitization.class) -public @interface ChineseNameDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 1; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 0; - - /** - * 替换规则,中文名;比如:刘子豪脱敏之后为刘** - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/FixedPhoneDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/FixedPhoneDesensitize.java deleted file mode 100644 index 8adeb95b7..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/FixedPhoneDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.FixedPhoneDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = FixedPhoneDesensitization.class) -public @interface FixedPhoneDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 4; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 2; - - /** - * 替换规则,固定电话;比如:01086551122 脱敏之后为 0108*****22 - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/IdCardDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/IdCardDesensitize.java deleted file mode 100644 index 10fb12b0f..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/IdCardDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.IdCardDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = IdCardDesensitization.class) -public @interface IdCardDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 6; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 2; - - /** - * 替换规则,身份证号码;比如:530321199204074611 脱敏之后为 530321**********11 - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/MobileDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/MobileDesensitize.java deleted file mode 100644 index 6a2bb16c8..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/MobileDesensitize.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.MobileDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = MobileDesensitization.class) -public @interface MobileDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 3; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 4; - - /** - * 替换规则,手机号;比如:13248765917 脱敏之后为 132****5917 - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/PasswordDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/PasswordDesensitize.java deleted file mode 100644 index cfef6fbf2..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/PasswordDesensitize.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.PasswordDesensitization; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = PasswordDesensitization.class) -public @interface PasswordDesensitize { - - /** - * 前缀保留长度 - */ - int prefixKeep() default 0; - - /** - * 后缀保留长度 - */ - int suffixKeep() default 0; - - /** - * 替换规则,密码; - * - * 比如:123456 脱敏之后为 ****** - */ - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/SliderDesensitize.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/SliderDesensitize.java deleted file mode 100644 index 142d1805b..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/annotation/SliderDesensitize.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.annotation; - -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.slider.handler.DefaultDesensitizationHandler; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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 gaibu - */ -@Documented -@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = DefaultDesensitizationHandler.class) -public @interface SliderDesensitize { - - /** - * 后缀保留长度 - */ - int suffixKeep() default 0; - - /** - * 替换规则,会将前缀后缀保留后,全部替换成 replacer - * - * 例如:prefixKeep = 1; suffixKeep = 2; replacer = "*"; - * 原始字符串 123456 - * 脱敏后 1***56 - */ - String replacer() default "*"; - - /** - * 前缀保留长度 - */ - int prefixKeep() default 0; -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractDesensitizationHandler.java deleted file mode 100644 index 21877d770..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractDesensitizationHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; - -import java.lang.annotation.Annotation; - -/** - * 滑动脱敏处理器抽象类,已实现通用的方法 - * - * @author gaibu - */ -public abstract class AbstractDesensitizationHandler - implements DesensitizationHandler { - - @Override - public String desensitize(String origin, T annotation) { - int prefixKeep = getPrefixKeep(annotation); - int suffixKeep = getSuffixKeep(annotation); - String replacer = getReplacer(annotation); - int length = origin.length(); - - // 情况一:原始字符串长度小于等于保留长度,则原始字符串全部替换 - if (prefixKeep >= length || suffixKeep >= length) { - return buildReplacerByLength(replacer, length); - } - - // 情况二:原始字符串长度小于等于前后缀保留字符串长度,则原始字符串全部替换 - if ((prefixKeep + suffixKeep) >= length) { - return buildReplacerByLength(replacer, length); - } - - // 情况三:原始字符串长度大于前后缀保留字符串长度,则替换中间字符串 - int interval = length - prefixKeep - suffixKeep; - return origin.substring(0, prefixKeep) + - buildReplacerByLength(replacer, interval) + - origin.substring(prefixKeep + interval); - } - - /** - * 根据长度循环构建替换符 - * - * @param replacer 替换符 - * @param length 长度 - * @return 构建后的替换符 - */ - private String buildReplacerByLength(String replacer, int length) { - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < length; i++) { - builder.append(replacer); - } - return builder.toString(); - } - - /** - * 前缀保留长度 - * - * @param annotation 注解信息 - * @return 前缀保留长度 - */ - abstract Integer getPrefixKeep(T annotation); - - /** - * 后缀保留长度 - * - * @param annotation 注解信息 - * @return 后缀保留长度 - */ - abstract Integer getSuffixKeep(T annotation); - - /** - * 替换符 - * - * @param annotation 注解信息 - * @return 替换符 - */ - abstract String getReplacer(T annotation); - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java deleted file mode 100644 index 2c3bafd1d..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; - -import java.lang.annotation.Annotation; - -/** - * 滑动脱敏处理器抽象类,已实现通用的方法 - * - * @author gaibu - */ -public abstract class AbstractSliderDesensitizationHandler - implements DesensitizationHandler { - - @Override - public String desensitize(String origin, T annotation) { - int prefixKeep = getPrefixKeep(annotation); - int suffixKeep = getSuffixKeep(annotation); - String replacer = getReplacer(annotation); - int length = origin.length(); - - // 情况一:原始字符串长度小于等于保留长度,则原始字符串全部替换 - if (prefixKeep >= length || suffixKeep >= length) { - return buildReplacerByLength(replacer, length); - } - - // 情况二:原始字符串长度小于等于前后缀保留字符串长度,则原始字符串全部替换 - if ((prefixKeep + suffixKeep) >= length) { - return buildReplacerByLength(replacer, length); - } - - // 情况三:原始字符串长度大于前后缀保留字符串长度,则替换中间字符串 - int interval = length - prefixKeep - suffixKeep; - return origin.substring(0, prefixKeep) + - buildReplacerByLength(replacer, interval) + - origin.substring(prefixKeep + interval); - } - - /** - * 根据长度循环构建替换符 - * - * @param replacer 替换符 - * @param length 长度 - * @return 构建后的替换符 - */ - private String buildReplacerByLength(String replacer, int length) { - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < length; i++) { - builder.append(replacer); - } - return builder.toString(); - } - - /** - * 前缀保留长度 - * - * @param annotation 注解信息 - * @return 前缀保留长度 - */ - abstract Integer getPrefixKeep(T annotation); - - /** - * 后缀保留长度 - * - * @param annotation 注解信息 - * @return 后缀保留长度 - */ - abstract Integer getSuffixKeep(T annotation); - - /** - * 替换符 - * - * @param annotation 注解信息 - * @return 替换符 - */ - abstract String getReplacer(T annotation); - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/BankCardDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/BankCardDesensitization.java deleted file mode 100644 index 0b9cae9eb..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/BankCardDesensitization.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.BankCardDesensitize; - -/** - * {@link BankCardDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class BankCardDesensitization extends AbstractSliderDesensitizationHandler { - - @Override - Integer getPrefixKeep(BankCardDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(BankCardDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(BankCardDesensitize annotation) { - return annotation.replacer(); - } - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/CarLicenseDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/CarLicenseDesensitization.java deleted file mode 100644 index a2097c924..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/CarLicenseDesensitization.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.CarLicenseDesensitize; - -/** - * {@link CarLicenseDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class CarLicenseDesensitization extends AbstractSliderDesensitizationHandler { - @Override - Integer getPrefixKeep(CarLicenseDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(CarLicenseDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(CarLicenseDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/ChineseNameDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/ChineseNameDesensitization.java deleted file mode 100644 index 5b1fde9e6..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/ChineseNameDesensitization.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.ChineseNameDesensitize; - -/** - * {@link ChineseNameDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class ChineseNameDesensitization extends AbstractSliderDesensitizationHandler { - - @Override - Integer getPrefixKeep(ChineseNameDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(ChineseNameDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(ChineseNameDesensitize annotation) { - return annotation.replacer(); - } - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/DefaultDesensitizationHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/DefaultDesensitizationHandler.java deleted file mode 100644 index 3f8318045..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/DefaultDesensitizationHandler.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.SliderDesensitize; - -/** - * {@link SliderDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class DefaultDesensitizationHandler extends AbstractSliderDesensitizationHandler { - @Override - Integer getPrefixKeep(SliderDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(SliderDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(SliderDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/FixedPhoneDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/FixedPhoneDesensitization.java deleted file mode 100644 index a24938b01..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/FixedPhoneDesensitization.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize; - -/** - * {@link FixedPhoneDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class FixedPhoneDesensitization extends AbstractSliderDesensitizationHandler { - @Override - Integer getPrefixKeep(FixedPhoneDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(FixedPhoneDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(FixedPhoneDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/IdCardDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/IdCardDesensitization.java deleted file mode 100644 index 84568210b..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/IdCardDesensitization.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.IdCardDesensitize; - -/** - * {@link IdCardDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class IdCardDesensitization extends AbstractSliderDesensitizationHandler { - @Override - Integer getPrefixKeep(IdCardDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(IdCardDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(IdCardDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/MobileDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/MobileDesensitization.java deleted file mode 100644 index 9b3e12523..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/MobileDesensitization.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.MobileDesensitize; - -/** - * {@link MobileDesensitize} 的脱敏处理器 - * - * @author gaibu - */ -public class MobileDesensitization extends AbstractSliderDesensitizationHandler { - - @Override - Integer getPrefixKeep(MobileDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(MobileDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(MobileDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/PasswordDesensitization.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/PasswordDesensitization.java deleted file mode 100644 index e5ae36f44..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/slider/handler/PasswordDesensitization.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.framework.desensitize.core.slider.handler; - -import com.cf.imes.framework.desensitize.core.slider.annotation.PasswordDesensitize; - -/** - * {@link PasswordDesensitize} 的码脱敏处理器 - * - * @author gaibu - */ -public class PasswordDesensitization extends AbstractSliderDesensitizationHandler { - @Override - Integer getPrefixKeep(PasswordDesensitize annotation) { - return annotation.prefixKeep(); - } - - @Override - Integer getSuffixKeep(PasswordDesensitize annotation) { - return annotation.suffixKeep(); - } - - @Override - String getReplacer(PasswordDesensitize annotation) { - return annotation.replacer(); - } -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/DesensitizeTest.java b/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/DesensitizeTest.java deleted file mode 100644 index b0f0a6243..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/DesensitizeTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.cf.imes.framework.desensitize.core; - -import com.cf.imes.framework.common.util.json.JsonUtils; -import com.cf.imes.framework.desensitize.core.regex.annotation.EmailDesensitize; -import com.cf.imes.framework.desensitize.core.regex.annotation.RegexDesensitize; -import com.cf.imes.framework.desensitize.core.annotation.Address; -import com.cf.imes.framework.desensitize.core.slider.annotation.BankCardDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.CarLicenseDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.ChineseNameDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.IdCardDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.PasswordDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.MobileDesensitize; -import com.cf.imes.framework.desensitize.core.slider.annotation.SliderDesensitize; -import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest; -import lombok.Data; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -/** - * {@link DesensitizeTest} 的单元测试 - */ -public class DesensitizeTest extends BaseMockitoUnitTest { - - @Test - public void test() { - // 准备参数 - DesensitizeDemo desensitizeDemo = new DesensitizeDemo(); - desensitizeDemo.setNickname("晨丰科技"); - desensitizeDemo.setBankCard("9988002866797031"); - desensitizeDemo.setCarLicense("粤A66666"); - desensitizeDemo.setFixedPhone("01086551122"); - desensitizeDemo.setIdCard("530321199204074611"); - desensitizeDemo.setPassword("123456"); - desensitizeDemo.setPhoneNumber("13248765917"); - desensitizeDemo.setSlider1("ABCDEFG"); - desensitizeDemo.setSlider2("ABCDEFG"); - desensitizeDemo.setSlider3("ABCDEFG"); - desensitizeDemo.setEmail("1@email.com"); - desensitizeDemo.setRegex("你好,我是晨丰科技"); - desensitizeDemo.setAddress("北京市海淀区上地十街10号"); - desensitizeDemo.setOrigin("晨丰科技"); - - // 调用 - DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class); - // 断言 - assertNotNull(d); - assertEquals("芋***", d.getNickname()); - assertEquals("998800********31", d.getBankCard()); - assertEquals("粤A6***6", d.getCarLicense()); - assertEquals("0108*****22", d.getFixedPhone()); - assertEquals("530321**********11", d.getIdCard()); - assertEquals("******", d.getPassword()); - assertEquals("132****5917", d.getPhoneNumber()); - assertEquals("#######", d.getSlider1()); - assertEquals("ABC*EFG", d.getSlider2()); - assertEquals("*******", d.getSlider3()); - assertEquals("1****@email.com", d.getEmail()); - assertEquals("你好,我是*", d.getRegex()); - assertEquals("北京市海淀区上地十街10号*", d.getAddress()); - assertEquals("晨丰科技", d.getOrigin()); - } - - @Data - public static class DesensitizeDemo { - - @ChineseNameDesensitize - private String nickname; - @BankCardDesensitize - private String bankCard; - @CarLicenseDesensitize - private String carLicense; - @FixedPhoneDesensitize - private String fixedPhone; - @IdCardDesensitize - private String idCard; - @PasswordDesensitize - private String password; - @MobileDesensitize - private String phoneNumber; - @SliderDesensitize(prefixKeep = 6, suffixKeep = 1, replacer = "#") - private String slider1; - @SliderDesensitize(prefixKeep = 3, suffixKeep = 3) - private String slider2; - @SliderDesensitize(prefixKeep = 10) - private String slider3; - @EmailDesensitize - private String email; - @RegexDesensitize(regex = "晨丰科技", replacer = "*") - private String regex; - @Address - private String address; - private String origin; - - } - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/annotation/Address.java b/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/annotation/Address.java deleted file mode 100644 index 591fd6a71..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/annotation/Address.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.cf.imes.framework.desensitize.core.annotation; - -import com.cf.imes.framework.desensitize.core.DesensitizeTest; -import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; -import com.cf.imes.framework.desensitize.core.handler.AddressHandler; -import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; - -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; - -/** - * 地址 - * - * 用于 {@link DesensitizeTest} 测试使用 - * - * @author gaibu - */ -@Documented -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@JacksonAnnotationsInside -@DesensitizeBy(handler = AddressHandler.class) -public @interface Address { - - String replacer() default "*"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/handler/AddressHandler.java b/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/handler/AddressHandler.java deleted file mode 100644 index f2717ba53..000000000 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/test/java/com/cf/imes/framework/desensitize/core/handler/AddressHandler.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.cf.imes.framework.desensitize.core.handler; - -import com.cf.imes.framework.desensitize.core.DesensitizeTest; -import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; -import com.cf.imes.framework.desensitize.core.annotation.Address; - -/** - * {@link Address} 的脱敏处理器 - * - * 用于 {@link DesensitizeTest} 测试使用 - */ -public class AddressHandler implements DesensitizationHandler
{ - - @Override - public String desensitize(String origin, Address annotation) { - return origin + annotation.replacer(); - } - -} diff --git a/cf-framework/cf-spring-boot-starter-web/pom.xml b/cf-framework/cf-spring-boot-starter-web/pom.xml index 2faa9f15a..43400ff80 100644 --- a/cf-framework/cf-spring-boot-starter-web/pom.xml +++ b/cf-framework/cf-spring-boot-starter-web/pom.xml @@ -67,6 +67,12 @@ ${revision} + + com.cf.imes + cf-module-system-api + ${revision} + + com.baomidou dynamic-datasource-spring-boot-starter diff --git a/cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/config/ChenfengBannerAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/banner/config/ChenfengBannerAutoConfiguration.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/config/ChenfengBannerAutoConfiguration.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/banner/config/ChenfengBannerAutoConfiguration.java diff --git a/cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/core/BannerApplicationRunner.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/banner/core/BannerApplicationRunner.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-banner/src/main/java/com/cf/imes/framework/banner/core/BannerApplicationRunner.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/banner/core/BannerApplicationRunner.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeAutoConfiguration.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeAutoConfiguration.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeAutoConfiguration.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeRpcAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeRpcAutoConfiguration.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeRpcAutoConfiguration.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ChenfengErrorCodeRpcAutoConfiguration.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoader.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoader.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoader.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoader.java diff --git a/cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java similarity index 100% rename from cf-framework/cf-spring-boot-starter-biz-error-code/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java rename to cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cf-framework/cf-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index b3c89f862..351201796 100644 --- a/cf-framework/cf-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cf-framework/cf-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -4,3 +4,6 @@ com.cf.imes.framework.swagger.config.ChenfengSwaggerAutoConfiguration com.cf.imes.framework.web.config.ChenfengWebAutoConfiguration com.cf.imes.framework.apilog.config.ChenfengApiLogRpcAutoConfiguration com.cf.imes.framework.async.ChenfengAsyncAutoConfiguration +com.cf.imes.framework.banner.config.ChenfengBannerAutoConfiguration +com.cf.imes.framework.errorcode.config.ChenfengErrorCodeRpcAutoConfiguration +com.cf.imes.framework.errorcode.config.ChenfengErrorCodeAutoConfiguration diff --git a/cf-framework/cf-spring-boot-starter-banner/src/main/resources/banner.txt b/cf-framework/cf-spring-boot-starter-web/src/main/resources/banner.txt similarity index 100% rename from cf-framework/cf-spring-boot-starter-banner/src/main/resources/banner.txt rename to cf-framework/cf-spring-boot-starter-web/src/main/resources/banner.txt diff --git a/cf-framework/pom.xml b/cf-framework/pom.xml index 4b8d6c7b3..2c1732450 100644 --- a/cf-framework/pom.xml +++ b/cf-framework/pom.xml @@ -12,7 +12,6 @@ cf-common cf-spring-boot-starter-env - cf-spring-boot-starter-banner cf-spring-boot-starter-mybatis cf-spring-boot-starter-redis cf-spring-boot-starter-web @@ -36,14 +35,12 @@ cf-spring-boot-starter-biz-pay cf-spring-boot-starter-biz-organ cf-spring-boot-starter-biz-data-permission - cf-spring-boot-starter-biz-error-code cf-spring-boot-starter-biz-id cf-spring-boot-starter-biz-ip cf-spring-boot-starter-flowable cf-spring-boot-starter-captcha cf-spring-boot-starter-websocket - cf-spring-boot-starter-desensitize cf-spring-boot-starter-elasticsearch diff --git a/cf-gateway/pom.xml b/cf-gateway/pom.xml index 79e7cb1be..65751ce0f 100644 --- a/cf-gateway/pom.xml +++ b/cf-gateway/pom.xml @@ -22,16 +22,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - - - org.springdoc - springdoc-openapi-webmvc-core - - - com.cf.imes cf-module-system-api @@ -112,10 +102,6 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-monitor diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/util/BannerApplicationRunner.java b/cf-gateway/src/main/java/com/cf/imes/gateway/util/BannerApplicationRunner.java new file mode 100644 index 000000000..66d9bfccd --- /dev/null +++ b/cf-gateway/src/main/java/com/cf/imes/gateway/util/BannerApplicationRunner.java @@ -0,0 +1,32 @@ +package com.cf.imes.gateway.util; + +import cn.hutool.core.thread.ThreadUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; + +/** + * 项目启动成功后,提供文档相关的地址 + * + * @author 芋道源码 + */ +@Component +@Slf4j +public class BannerApplicationRunner implements ApplicationRunner { + + @Override + public void run(ApplicationArguments args) { + ThreadUtil.execute(() -> { + ThreadUtil.sleep(1, TimeUnit.SECONDS); // 延迟 1 秒,保证输出到结尾 + log.info("\n----------------------------------------------------------\n\t" + + "晨丰IMES项目启动成功!\n" + + "----------------------------------------------------------" + ); + + }); + } + +} diff --git a/cf-gateway/src/main/resources/banner.txt b/cf-gateway/src/main/resources/banner.txt new file mode 100644 index 000000000..ce19c4818 --- /dev/null +++ b/cf-gateway/src/main/resources/banner.txt @@ -0,0 +1,17 @@ +晨丰科技 http://www.cf.com +Application Version: ${chenfeng.info.version} +Spring Boot Version: ${spring-boot.version} + +.__ __. ______ .______ __ __ _______ +| \ | | / __ \ | _ \ | | | | / _____| +| \| | | | | | | |_) | | | | | | | __ +| . ` | | | | | | _ < | | | | | | |_ | +| |\ | | `--' | | |_) | | `--' | | |__| | +|__| \__| \______/ |______/ \______/ \______| + +███╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ +████╗ ██║██╔═══██╗ ██╔══██╗██║ ██║██╔════╝ +██╔██╗ ██║██║ ██║ ██████╔╝██║ ██║██║ ███╗ +██║╚██╗██║██║ ██║ ██╔══██╗██║ ██║██║ ██║ +██║ ╚████║╚██████╔╝ ██████╔╝╚██████╔╝╚██████╔╝ +╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ diff --git a/cf-module-infra/cf-module-infra-biz/pom.xml b/cf-module-infra/cf-module-infra-biz/pom.xml index 8227ad15f..d06002ca8 100644 --- a/cf-module-infra/cf-module-infra-biz/pom.xml +++ b/cf-module-infra/cf-module-infra-biz/pom.xml @@ -38,10 +38,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -50,10 +46,6 @@ com.cf.imes cf-spring-boot-starter-biz-organ - - com.cf.imes - cf-spring-boot-starter-biz-error-code - @@ -176,14 +168,6 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes cf-spring-boot-starter-biz-operatelog diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml index 2b0c70176..e82460e6c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml @@ -29,10 +29,6 @@ cf-spring-boot-starter-biz-dict - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -41,10 +37,6 @@ com.cf.imes cf-spring-boot-starter-biz-organ - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes @@ -224,10 +216,6 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-data-permission @@ -236,10 +224,6 @@ com.cf.imes cf-spring-boot-starter-biz-dict - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes cf-spring-boot-starter-biz-operatelog diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml b/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml index 7b39b3ffb..43015482e 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml @@ -36,10 +36,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -48,10 +44,6 @@ com.cf.imes cf-spring-boot-starter-biz-organ - - com.cf.imes - cf-spring-boot-starter-biz-error-code - @@ -187,14 +179,6 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -277,8 +261,6 @@ cf-module-infra-api, cf-module-prod-plan-api, cf-module-system-api, - cf-spring-boot-starter-banner, - cf-spring-boot-starter-biz-error-code, cf-spring-boot-starter-biz-operatelog, cf-spring-boot-starter-excel, cf-spring-boot-starter-monitor, diff --git a/cf-module-report/cf-module-report-biz/pom.xml b/cf-module-report/cf-module-report-biz/pom.xml index d9f3efea5..f61696c1c 100644 --- a/cf-module-report/cf-module-report-biz/pom.xml +++ b/cf-module-report/cf-module-report-biz/pom.xml @@ -42,10 +42,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -202,10 +198,6 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog diff --git a/cf-module-system/cf-module-system-biz/pom.xml b/cf-module-system/cf-module-system-biz/pom.xml index 73577f5a5..4ce74b0d0 100644 --- a/cf-module-system/cf-module-system-biz/pom.xml +++ b/cf-module-system/cf-module-system-biz/pom.xml @@ -42,10 +42,6 @@ - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-operatelog @@ -62,10 +58,6 @@ com.cf.imes cf-spring-boot-starter-biz-organ - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes cf-spring-boot-starter-biz-ip @@ -255,18 +247,10 @@ com.cf.imes cf-module-system-api - - com.cf.imes - cf-spring-boot-starter-banner - com.cf.imes cf-spring-boot-starter-biz-dict - - com.cf.imes - cf-spring-boot-starter-biz-error-code - com.cf.imes cf-spring-boot-starter-biz-ip