|
|
|
@ -0,0 +1,78 @@
|
|
|
|
|
// 声明该类所在的包名为 com.utils
|
|
|
|
|
package com.utils;
|
|
|
|
|
|
|
|
|
|
// 导入 Java 中的工具包,包含常用的工具类,如集合类
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
// 定义一个公共类 CommonUtil,用于存放公共方法
|
|
|
|
|
public class CommonUtil {
|
|
|
|
|
// 定义一个静态方法,用于获取指定长度的随机字符串
|
|
|
|
|
// 参数 num 表示要生成的随机字符串的长度
|
|
|
|
|
public static String getRandomString(Integer num) {
|
|
|
|
|
// 定义一个包含所有可能字符的基础字符串
|
|
|
|
|
String base = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
|
|
|
// 创建一个 Random 对象,用于生成随机数
|
|
|
|
|
Random random = new Random();
|
|
|
|
|
// 创建一个 StringBuffer 对象,用于拼接随机字符
|
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
|
// 循环 num 次,每次生成一个随机字符并添加到 StringBuffer 中
|
|
|
|
|
for (int i = 0; i < num; i++) {
|
|
|
|
|
// 生成一个 0 到 base 字符串长度之间的随机整数
|
|
|
|
|
int number = random.nextInt(base.length());
|
|
|
|
|
// 根据随机整数从 base 字符串中取出对应的字符,并添加到 StringBuffer 中
|
|
|
|
|
sb.append(base.charAt(number));
|
|
|
|
|
}
|
|
|
|
|
// 将 StringBuffer 转换为字符串并返回
|
|
|
|
|
return sb.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个静态方法,用于检查 Map 参数并添加缺失的参数
|
|
|
|
|
// 参数 params 是一个存储键值对的 Map 对象
|
|
|
|
|
public static void checkMap(Map<String, Object> params) {
|
|
|
|
|
// 初始化四个布尔变量,用于标记是否存在特定的键
|
|
|
|
|
boolean page = true, limit = true, sort = true, order = true;
|
|
|
|
|
// 获取 Map 中键值对的迭代器
|
|
|
|
|
Iterator<Map.Entry<String, Object>> iter = params.entrySet().iterator();
|
|
|
|
|
// 遍历 Map 中的键值对
|
|
|
|
|
while (iter.hasNext()) {
|
|
|
|
|
// 获取当前的键值对
|
|
|
|
|
Map.Entry<String, Object> info = iter.next();
|
|
|
|
|
// 获取键值对中的键
|
|
|
|
|
Object key = info.getKey();
|
|
|
|
|
// 获取键值对中的值
|
|
|
|
|
Object value = info.getValue();
|
|
|
|
|
// 如果值为 null、空字符串或 "null",则从 Map 中移除该键值对
|
|
|
|
|
if (value == null || "".equals(value) || "null".equals(value)) {
|
|
|
|
|
iter.remove();
|
|
|
|
|
// 如果键为 "page",则将 page 标记设为 false
|
|
|
|
|
} else if ("page".equals(key)) {
|
|
|
|
|
page = false;
|
|
|
|
|
// 如果键为 "limit",则将 limit 标记设为 false
|
|
|
|
|
} else if ("limit".equals(key)) {
|
|
|
|
|
limit = false;
|
|
|
|
|
// 如果键为 "sort",则将 sort 标记设为 false
|
|
|
|
|
} else if ("sort".equals(key)) {
|
|
|
|
|
sort = false;
|
|
|
|
|
// 如果键为 "order",则将 order 标记设为 false
|
|
|
|
|
} else if ("order".equals(key)) {
|
|
|
|
|
order = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 如果 page 标记仍为 true,说明 Map 中不存在 "page" 键,添加默认值 "1"
|
|
|
|
|
if (page) {
|
|
|
|
|
params.put("page", "1");
|
|
|
|
|
}
|
|
|
|
|
// 如果 limit 标记仍为 true,说明 Map 中不存在 "limit" 键,添加默认值 "10"
|
|
|
|
|
if (limit) {
|
|
|
|
|
params.put("limit", "10");
|
|
|
|
|
}
|
|
|
|
|
// 如果 sort 标记仍为 true,说明 Map 中不存在 "sort" 键,添加默认值 "id"
|
|
|
|
|
if (sort) {
|
|
|
|
|
params.put("sort", "id");
|
|
|
|
|
}
|
|
|
|
|
// 如果 order 标记仍为 true,说明 Map 中不存在 "order" 键,添加默认值 "desc"
|
|
|
|
|
if (order) {
|
|
|
|
|
params.put("order", "desc");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|