From 1bbfdfcecf243ba36512b59da80e41602ad50263 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 19 一月 2026 13:46:10 +0800
Subject: [PATCH] #

---
 zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java |   52 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 10 deletions(-)

diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java b/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
index b765493..a484c83 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
@@ -2,10 +2,8 @@
 
 import com.zy.acs.framework.common.Cools;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.function.BiConsumer;
 import java.util.function.Function;
 
@@ -37,7 +35,7 @@
             if (parentId.equals(dParentId)) {
                 R dId = idMapper.apply(d);
                 List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
-                if(children.size() > 0) {
+                if(!children.isEmpty()) {
                     consumer.accept(d, children);
                 }
                 result.add(d);
@@ -63,8 +61,6 @@
 
     /**
      * 鏁扮粍鍊掑簭
-     * @param bytes
-     * @param <T>
      */
     public static <T> byte[] reverse(byte[] bytes) {
         if (bytes == null) return null;
@@ -182,9 +178,6 @@
         }
     }
 
-    /**
-     * 澶ч┘宄� 杞� symbol灏忛┘宄�
-     */
     public static String toSymbolCase(String str, char symbol) {
         if (str == null) {
             return null;
@@ -287,4 +280,43 @@
         return list;
     }
 
+    public static String convertToSnakeCaseForOrderByStr(String input) {
+        String[] parts = input.split("\\s+");
+        String fieldName = parts[0];
+        String order = parts.length > 1 ? parts[1] : "";
+
+        String snakeCaseField = fieldName.replaceAll("([a-z])([A-Z])", "$1_$2").toLowerCase();
+
+        return snakeCaseField + (order.isEmpty() ? "" : " " + order);
+    }
+
+    public static String processTemplate(String template, Map<String, Object> params) {
+        if (template == null || params == null) {
+            return template;
+        }
+        String processed = template;
+        for (Map.Entry<String, Object> entry : params.entrySet()) {
+            processed = processed.replace("${" + entry.getKey() + "}", entry.getValue().toString());
+        }
+        return processed;
+    }
+
+    public static String randomNumbers(int length) {
+        String baseString = "0123456789";
+
+        if (length < 1) {
+            length = 1;
+        }
+
+        StringBuilder sb = new StringBuilder(length);
+        int baseLength = baseString.length();
+
+        for(int i = 0; i < length; ++i) {
+            int number = ThreadLocalRandom.current().nextInt(baseLength);
+            sb.append(baseString.charAt(number));
+        }
+
+        return sb.toString();
+    }
+
 }

--
Gitblit v1.9.1