src/main/java/com/ruoyi/common/utils/StringUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/file/FileUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/uuid/Seq.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/utils/uuid/UUID.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/framework/security/service/TokenService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/project/common/CaptchaController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/common/utils/StringUtils.java
@@ -531,4 +531,53 @@ { return (T) obj; } /** * æ°å左边补é½0ï¼ä½¿ä¹è¾¾å°æå®é¿åº¦ã注æï¼å¦ææ°å转æ¢ä¸ºå符串åï¼é¿åº¦å¤§äºsizeï¼ååªä¿ç æåsize个å符ã * * @param num æ°å对象 * @param size å符串æå®é¿åº¦ * @return è¿åæ°åçåç¬¦ä¸²æ ¼å¼ï¼è¯¥å符串为æå®é¿åº¦ã */ public static final String padl(final Number num, final int size) { return padl(num.toString(), size, '0'); } /** * å符串左补é½ã妿åå§å符串sé¿åº¦å¤§äºsizeï¼ååªä¿çæåsize个å符ã * * @param s åå§å符串 * @param size å符串æå®é¿åº¦ * @param c ç¨äºè¡¥é½çå符 * @return è¿åæå®é¿åº¦çå符串ï¼ç±ååç¬¦ä¸²å·¦è¡¥é½ææªåå¾å°ã */ public static final 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(s); } else { return s.substring(len - size, len); } } else { for (int i = size; i > 0; i--) { sb.append(c); } } return sb.toString(); } } src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -10,8 +10,8 @@ import com.ruoyi.common.exception.file.FileSizeLimitExceededException; import com.ruoyi.common.exception.file.InvalidExtensionException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.Seq; import com.ruoyi.framework.config.RuoYiConfig; /** @@ -121,7 +121,8 @@ */ public static final String extractFilename(MultipartFile file) { return DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + getExtension(file); return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); } public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException src/main/java/com/ruoyi/common/utils/file/FileUtils.java
@@ -14,8 +14,8 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.framework.config.RuoYiConfig; /** src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java
ÎļþÃû´Ó src/main/java/com/ruoyi/common/utils/IdUtils.java ÐÞ¸Ä @@ -1,6 +1,4 @@ package com.ruoyi.common.utils; import com.ruoyi.common.core.lang.UUID; package com.ruoyi.common.utils.uuid; /** * IDçæå¨å·¥å ·ç±» src/main/java/com/ruoyi/common/utils/uuid/Seq.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,86 @@ package com.ruoyi.common.utils.uuid; import java.util.concurrent.atomic.AtomicInteger; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; /** * @author ruoyi åºåçæç±» */ public class Seq { // éç¨åºåç±»å public static final String commSeqType = "COMMON"; // ä¸ä¼ åºåç±»å public static final String uploadSeqType = "UPLOAD"; // éç¨æ¥å£åºåæ° private static AtomicInteger commSeq = new AtomicInteger(1); // ä¸ä¼ æ¥å£åºåæ° private static AtomicInteger uploadSeq = new AtomicInteger(1); // æºå¨æ è¯ private static String machineCode = "A"; /** * è·åéç¨åºåå· * * @return åºåå¼ */ public static String getId() { return getId(commSeqType); } /** * é»è®¤16ä½åºåå· yyMMddHHmmss + ä¸ä½æºå¨æ è¯ + 3é¿åº¦å¾ªç¯éå¢å符串 * * @return åºåå¼ */ public static String getId(String type) { AtomicInteger atomicInt = commSeq; if (uploadSeqType.equals(type)) { atomicInt = uploadSeq; } return getId(atomicInt, 3); } /** * éç¨æ¥å£åºåå· yyMMddHHmmss + ä¸ä½æºå¨æ è¯ + lengthé¿åº¦å¾ªç¯éå¢å符串 * * @param atomicInt åºåæ° * @param length æ°å¼é¿åº¦ * @return åºåå¼ */ public static String getId(AtomicInteger atomicInt, int length) { String result = DateUtils.dateTimeNow(); result += machineCode; result += getSeq(atomicInt, length); return result; } /** * åºå循ç¯éå¢å符串[1, 10 ç (length)广¬¡æ¹), ç¨0左补é½length使° * * @return åºåå¼ */ private synchronized static String getSeq(AtomicInteger atomicInt, int length) { // å åå¼å+1 int value = atomicInt.getAndIncrement(); // å¦ææ´æ°åå¼>=10 ç (length)广¬¡æ¹åé置为1 int maxSeq = (int) Math.pow(10, length); if (atomicInt.get() >= maxSeq) { atomicInt.set(1); } // 转å符串ï¼ç¨0å·¦è¡¥é½ return StringUtils.padl(value, length); } } src/main/java/com/ruoyi/common/utils/uuid/UUID.java
ÎļþÃû´Ó src/main/java/com/ruoyi/common/core/lang/UUID.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.ruoyi.common.core.lang; package com.ruoyi.common.utils.uuid; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; src/main/java/com/ruoyi/framework/security/service/TokenService.java
@@ -8,11 +8,11 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.ip.AddressUtils; import com.ruoyi.common.utils.ip.IpUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.framework.redis.RedisCache; import com.ruoyi.framework.security.LoginUser; import eu.bitwalker.useragentutils.UserAgent; src/main/java/com/ruoyi/project/common/CaptchaController.java
@@ -13,8 +13,8 @@ import org.springframework.web.bind.annotation.RestController; import com.google.code.kaptcha.Producer; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.sign.Base64; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.framework.redis.RedisCache; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.project.system.service.ISysConfigService;