// 声明该类所在的包名为 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 params) { // 初始化四个布尔变量,用于标记是否存在特定的键 boolean page = true, limit = true, sort = true, order = true; // 获取 Map 中键值对的迭代器 Iterator> iter = params.entrySet().iterator(); // 遍历 Map 中的键值对 while (iter.hasNext()) { // 获取当前的键值对 Map.Entry 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"); } } }