From a6dcccbd908f848242bdb0341728efc5f9882ff2 Mon Sep 17 00:00:00 2001 From: p2x9nfpei <2196435763@qq.com> Date: Mon, 28 Apr 2025 22:56:30 +0800 Subject: [PATCH] ADD file via upload --- CommonUtil.java | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 CommonUtil.java diff --git a/CommonUtil.java b/CommonUtil.java new file mode 100644 index 0000000..bb718ae --- /dev/null +++ b/CommonUtil.java @@ -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 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"); + } + } +} \ No newline at end of file