Browse Source

Merge branch 'dev' into pre-production

master
pref_mail@163.com 6 months ago
parent
commit
01773cbe43
  1. 19
      blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java

19
blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@ -21,6 +21,7 @@ import org.springframework.util.StringUtils;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -289,14 +290,20 @@ public class CommonUtil {
public static String getHaxCodeByLong(String str,int changdu){ public static String getHaxCodeByLong(String str,int changdu){
long time = new Date().getTime(); // 计算输入字符串的哈希值
int hashValue = (str+time).hashCode(); // 获取哈希值(32位) int hash = str.hashCode();
// 将32位哈希值转换为6位长度的纯数字形式
String s = Math.abs(hashValue) + ""; // 结合当前时间戳和哈希值作为种子
String substring = s.substring(0, changdu); long seed = Instant.now().toEpochMilli() ^ hash;
return substring;
// 使用种子生成一个唯一的数字
long uniqueNumber = Math.abs(seed) % (long)Math.pow(10, changdu);
// 将生成的数字转换为字符串,并确保长度正确
return String.format("%0" + changdu + "d", uniqueNumber);
} }
public static Date addDate(Date date, int second) { public static Date addDate(Date date, int second) {
if(Objects.isNull(date)){ if(Objects.isNull(date)){
return null; return null;

Loading…
Cancel
Save