You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gym/CommonUtil.java

78 lines
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 声明该类所在的包名为 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");
}
}
}