From 1ed1752f678f769e43e9faa34809701850c7f727 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 30 三月 2023 19:14:38 +0800 Subject: [PATCH] update 优化 验证码有效期 迁移到数据库 参数管理内 --- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java | 80 ++++++++++++++++++++++++++++++++-------- 1 files changed, 64 insertions(+), 16 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java index 15ece20..5b1c8ca 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java @@ -1,16 +1,16 @@ package com.ruoyi.common.core.utils; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.springframework.util.AntPathMatcher; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 瀛楃涓插伐鍏风被 @@ -19,6 +19,8 @@ */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class StringUtils extends org.apache.commons.lang3.StringUtils { + + public static final String SEPARATOR = ","; /** * 鑾峰彇鍙傛暟涓嶄负绌哄�� @@ -224,7 +226,6 @@ * * @param pattern 鍖归厤瑙勫垯 * @param url 闇�瑕佸尮閰嶇殑url - * @return */ public static boolean isMatch(String pattern, String url) { AntPathMatcher matcher = new AntPathMatcher(); @@ -234,40 +235,87 @@ /** * 鏁板瓧宸﹁竟琛ラ綈0锛屼娇涔嬭揪鍒版寚瀹氶暱搴︺�傛敞鎰忥紝濡傛灉鏁板瓧杞崲涓哄瓧绗︿覆鍚庯紝闀垮害澶т簬size锛屽垯鍙繚鐣� 鏈�鍚巗ize涓瓧绗︺�� * - * @param num 鏁板瓧瀵硅薄 + * @param num 鏁板瓧瀵硅薄 * @param size 瀛楃涓叉寚瀹氶暱搴� * @return 杩斿洖鏁板瓧鐨勫瓧绗︿覆鏍煎紡锛岃瀛楃涓蹭负鎸囧畾闀垮害銆� */ - public static final String padl(final Number num, final int size) { + public static String padl(final Number num, final int size) { return padl(num.toString(), size, '0'); } /** * 瀛楃涓插乏琛ラ綈銆傚鏋滃師濮嬪瓧绗︿覆s闀垮害澶т簬size锛屽垯鍙繚鐣欐渶鍚巗ize涓瓧绗︺�� * - * @param s 鍘熷瀛楃涓� + * @param s 鍘熷瀛楃涓� * @param size 瀛楃涓叉寚瀹氶暱搴� - * @param c 鐢ㄤ簬琛ラ綈鐨勫瓧绗� + * @param c 鐢ㄤ簬琛ラ綈鐨勫瓧绗� * @return 杩斿洖鎸囧畾闀垮害鐨勫瓧绗︿覆锛岀敱鍘熷瓧绗︿覆宸﹁ˉ榻愭垨鎴彇寰楀埌銆� */ - public static final String padl(final String s, final int size, final char c) { + public static String padl(final String s, final int size, final char c) { final StringBuilder sb = new StringBuilder(size); if (s != null) { final int len = s.length(); if (s.length() <= size) { - for (int i = size - len; i > 0; i--) { - sb.append(c); - } + sb.append(String.valueOf(c).repeat(size - len)); sb.append(s); } else { return s.substring(len - size, len); } } else { - for (int i = size; i > 0; i--) { - sb.append(c); - } + sb.append(String.valueOf(c).repeat(Math.max(0, size))); } return sb.toString(); } + /** + * 鍒囧垎瀛楃涓�(鍒嗛殧绗﹂粯璁ら�楀彿) + * + * @param str 琚垏鍒嗙殑瀛楃涓� + * @return 鍒嗗壊鍚庣殑鏁版嵁鍒楄〃 + */ + public static List<String> splitList(String str) { + return splitTo(str, Convert::toStr); + } + + /** + * 鍒囧垎瀛楃涓� + * + * @param str 琚垏鍒嗙殑瀛楃涓� + * @param separator 鍒嗛殧绗� + * @return 鍒嗗壊鍚庣殑鏁版嵁鍒楄〃 + */ + public static List<String> splitList(String str, String separator) { + return splitTo(str, separator, Convert::toStr); + } + + /** + * 鍒囧垎瀛楃涓茶嚜瀹氫箟杞崲(鍒嗛殧绗﹂粯璁ら�楀彿) + * + * @param str 琚垏鍒嗙殑瀛楃涓� + * @param mapper 鑷畾涔夎浆鎹� + * @return 鍒嗗壊鍚庣殑鏁版嵁鍒楄〃 + */ + public static <T> List<T> splitTo(String str, Function<? super Object, T> mapper) { + return splitTo(str, SEPARATOR, mapper); + } + + /** + * 鍒囧垎瀛楃涓茶嚜瀹氫箟杞崲 + * + * @param str 琚垏鍒嗙殑瀛楃涓� + * @param separator 鍒嗛殧绗� + * @param mapper 鑷畾涔夎浆鎹� + * @return 鍒嗗壊鍚庣殑鏁版嵁鍒楄〃 + */ + public static <T> List<T> splitTo(String str, String separator, Function<? super Object, T> mapper) { + if (isBlank(str)) { + return new ArrayList<>(0); + } + return StrUtil.split(str, separator) + .stream() + .filter(Objects::nonNull) + .map(mapper) + .collect(Collectors.toList()); + } + } -- Gitblit v1.9.3