From 408f88da54bb5b2b89a730e93fc2e6c48cdfa6bd Mon Sep 17 00:00:00 2001 From: mcwindy Date: Fri, 24 Jan 2025 02:05:46 +0800 Subject: [PATCH] 【代码优化】 简化滑动脱敏处理器实现 --- yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java index 018fc87..7b56329 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java @@ -26,19 +26,14 @@ public abstract class AbstractSliderDesensitizationHandler int suffixKeep = getSuffixKeep(annotation); String replacer = getReplacer(annotation); int length = origin.length(); + int interval = length - prefixKeep - suffixKeep; - // 情况一:原始字符串长度小于等于保留长度,则原始字符串全部替换 - if (prefixKeep >= length || suffixKeep >= length) { - return buildReplacerByLength(replacer, length); - } - - // 情况二:原始字符串长度小于等于前后缀保留字符串长度,则原始字符串全部替换 - if ((prefixKeep + suffixKeep) >= length) { + // 情况一:原始字符串长度小于等于前后缀保留字符串长度,则原始字符串全部替换 + if (interval <= 0) { return buildReplacerByLength(replacer, length); } - // 情况三:原始字符串长度大于前后缀保留字符串长度,则替换中间字符串 - int interval = length - prefixKeep - suffixKeep; + // 情况二:原始字符串长度大于前后缀保留字符串长度,则替换中间字符串 return origin.substring(0, prefixKeep) + buildReplacerByLength(replacer, interval) + origin.substring(prefixKeep + interval); @@ -52,11 +47,7 @@ public abstract class AbstractSliderDesensitizationHandler * @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(); + return replacer.repeat(length); } /** -- libgit2 0.21.4