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