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 |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 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 c50cb92..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;
 
@@ -292,4 +290,33 @@
         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