From 3041a7d6dba13e237c4f21d3e46b88c35d376bf3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 08 九月 2023 10:14:47 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/utils/RuleUtils.java |   71 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/utils/RuleUtils.java b/src/main/java/com/zy/crm/manager/utils/RuleUtils.java
index 6274793..2fa3876 100644
--- a/src/main/java/com/zy/crm/manager/utils/RuleUtils.java
+++ b/src/main/java/com/zy/crm/manager/utils/RuleUtils.java
@@ -1,9 +1,17 @@
 package com.zy.crm.manager.utils;
 
+import com.zy.crm.manager.entity.Rule;
+
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Random;
+import java.util.concurrent.ThreadLocalRandom;
 
+
+/*
+ * 瀹氫箟涓�涓鍒欙細澶达細String ruleHeader;浣擄細 String ruleBody;杩炴帴绗︼細String ruleConnector锛涜繛鎺ョ鏄惁鍚敤锛�0锛氬惎鐢紱1锛氫笉鍚敤銆傦細Integer ruleConnectorType锛涜鍒欐柟寮忥紙榛樿1锛氬綋鍓嶆棩鏈熸椂闂存埑锛夛細Integer ruleType锛�
+ * 鏍规嵁瑙勫垯鑷姩鐢熸垚
+ * Created by Monkey D. Luffy on 2023.08.22.
+ * */
 public class RuleUtils {
     private String ruleHeader;
     private String ruleBody;
@@ -24,25 +32,32 @@
 
         // 娣诲姞澶撮儴
         sb.append(ruleHeader);
-
-        // 鏍规嵁瑙勫垯鏂瑰紡鐢熸垚鏃ユ湡鏃堕棿鎴虫垨闅忔満瀛楃涓�
-        String ruleValue = "";
-        if (ruleType == 1) {
-            ruleValue = String.valueOf(System.currentTimeMillis());
-        } else if (ruleType == 2) {
-            ruleValue = generateRandomString(10); // 鐢熸垚闀垮害涓�10鐨勯殢鏈哄瓧绗︿覆
-        } else if (ruleType == 3) {
-            ruleValue = generateCustomTimestamp(); // 鑷畾涔夌敓鎴愭棩鏈熸椂闂存埑鐨勯�昏緫
-        }
-
-        // 娣诲姞瑙勫垯鍊煎埌瀛楃涓蹭綋
-        sb.append(ruleBody);
-        sb.append(ruleValue);
-
         // 娣诲姞杩炴帴绗︼紙濡傛灉鍚敤锛�
         if (ruleConnectorType == 0) {
             sb.append(ruleConnector);
         }
+
+        // 鏍规嵁瑙勫垯鏂瑰紡鐢熸垚鏃ユ湡鏃堕棿鎴虫垨闅忔満瀛楃涓�
+        String ruleValue = "";
+        switch (ruleType) {
+            case 1:
+                ruleValue = String.valueOf(System.currentTimeMillis());
+                break;
+            case 2:
+                ruleValue = generateRandomString(10); // 鐢熸垚闀垮害涓�10鐨勯殢鏈哄瓧绗︿覆
+                break;
+            case 3:
+                ruleValue = generateCustomTimestamp(); // 鑷畾涔夌敓鎴愭棩鏈熸椂闂存埑鐨勯�昏緫
+                break;
+        }
+
+        // 娣诲姞瑙勫垯鍊煎埌瀛楃涓蹭綋
+        sb.append(ruleBody);
+        // 娣诲姞杩炴帴绗︼紙濡傛灉鍚敤锛�
+        if (ruleConnectorType == 0) {
+            sb.append(ruleConnector);
+        }
+        sb.append(ruleValue);
 
         return sb.toString();
     }
@@ -52,9 +67,8 @@
         String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
         StringBuilder sb = new StringBuilder();
 
-        Random random = new Random();
         for (int i = 0; i < length; i++) {
-            int index = random.nextInt(characters.length());
+            int index = ThreadLocalRandom.current().nextInt(characters.length());
             char randomChar = characters.charAt(index);
             sb.append(randomChar);
         }
@@ -65,15 +79,26 @@
     private String generateCustomTimestamp() {
         // 鑷畾涔夌敓鎴愭棩鏈熸椂闂存埑鐨勯�昏緫
         LocalDateTime now = LocalDateTime.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        return now.format(formatter);// 杩斿洖鐢熸垚鐨勮嚜瀹氫箟鏃ユ湡鏃堕棿鎴�
+        return now.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);// 杩斿洖鐢熸垚鐨勮嚜瀹氫箟鏃ユ湡鏃堕棿鎴�
+    }
+
+    public static String rule(Rule rule){
+        String ruleHeader = rule.getRuleHeader();
+        String ruleBody = rule.getRuleBody();
+        String ruleConnector = rule.getRuleConnector();
+        int ruleConnectorType = rule.getRuleConnectorType();
+        int ruleType = rule.getRuleType();
+
+        RuleUtils generator = new RuleUtils(ruleHeader, ruleBody, ruleConnector, ruleConnectorType, ruleType);
+        String generatedString = generator.generateString();
+        return generatedString;
     }
 
     public static void main(String[] args) {
-        String ruleHeader = "Header: ";
-        String ruleBody = "Timestamp: ";
+        String ruleHeader = "HEADER";
+        String ruleBody = "TIMESTAMP";
         String ruleConnector = "-";
-        int ruleConnectorType = 0;
+        int ruleConnectorType = 1;
         int ruleType = 1;
 
         RuleUtils generator = new RuleUtils(ruleHeader, ruleBody, ruleConnector, ruleConnectorType, ruleType);

--
Gitblit v1.9.1