package com.ruoyi.framework.util;
|
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Objects;
|
import java.util.Random;
|
import java.util.StringJoiner;
|
|
@Component
|
public class MyUtil<T> {
|
|
/**
|
* 自定义调试工具类
|
* @return
|
*/
|
public static void PrintLog(String str){
|
// 类名
|
String className = Thread.currentThread().getStackTrace()[2].getClassName();
|
// 函数名
|
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
|
System.out.println("\033[1;94m" + className + "-->" + methodName + "-->" + str + "\033[0m");
|
}
|
|
/**
|
* 日期工具类
|
* @return
|
*/
|
public static String MyDateFormat(){
|
//获取日期
|
//导 import java.util.Date; 下的包
|
Date date = new Date();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
return sdf.format(date);
|
}
|
|
/**
|
* 获取随机加密盐
|
* @param n 位数
|
* @return 返回随机加密盐
|
*/
|
public static String getSalt(int n) {
|
char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890!@$%^&*.?".toCharArray();
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < n; i++) {
|
char c = chars[new Random().nextInt(chars.length)];
|
sb.append(c);
|
}
|
return sb.toString();
|
}
|
|
/**
|
* 获取随机数字
|
* @param n 位数
|
* @return 返回随机值
|
*/
|
public static String getNumber(int n) {
|
char[] chars = "1234567890".toCharArray();
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < n; i++) {
|
char c = chars[new Random().nextInt(chars.length)];
|
sb.append(c);
|
}
|
return sb.toString();
|
}
|
|
public static String getTimeSixNumberCode(String prefix, String keyName){
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
String format = simpleDateFormat.format(new Date());
|
String timeStr = format.replace("-", "");
|
long incrNum = RedisUtil.incr(keyName, 1);
|
if(incrNum == 1){
|
RedisUtil.expire(keyName, 60 * 60 * 24);
|
}
|
String sixIncr = String.format("%06d", incrNum);
|
return prefix + timeStr + sixIncr;
|
}
|
|
/**
|
* 判断是否为excel
|
* @param file
|
* @return
|
*/
|
public static boolean isExcelFile(MultipartFile file) {
|
if (file.isEmpty()) {
|
return false;
|
}
|
String originalFilename = file.getOriginalFilename();
|
if (originalFilename == null) {
|
return false;
|
}
|
String[] parts = originalFilename.split("\\.");
|
if (parts.length == 0) {
|
return false;
|
}
|
String fileExtension = parts[parts.length - 1].toLowerCase();
|
return fileExtension.equals("xls") || fileExtension.equals("xlsx");
|
}
|
|
/**
|
*
|
* @param delimiter
|
* @param elements
|
* @return
|
*/
|
public static String joinChars(String delimiter,String... elements){
|
Objects.requireNonNull(delimiter);
|
Objects.requireNonNull(elements);
|
// Number of elements not likely worth Arrays.stream overhead.
|
StringJoiner joiner = new StringJoiner(delimiter);
|
for (String cs: elements) {
|
joiner.add(Objects.isNull(cs)?"":cs);
|
}
|
return joiner.toString();
|
}
|
|
}
|