From 564bf7ab6a639c2c4557d35b8fd9b51dca60a738 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 22 八月 2023 13:32:34 +0800 Subject: [PATCH] #规则完善 --- src/main/java/com/zy/crm/manager/entity/Rule.java | 26 ++++++++ src/main/java/com/zy/crm/manager/controller/RuleController.java | 14 +++- src/main/java/com/zy/crm/manager/utils/RuleUtils.java | 71 ++++++++++++++++------- src/main/webapp/static/js/rule/rule.js | 22 +++--- 4 files changed, 95 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/RuleController.java b/src/main/java/com/zy/crm/manager/controller/RuleController.java index 4baed80..6690777 100644 --- a/src/main/java/com/zy/crm/manager/controller/RuleController.java +++ b/src/main/java/com/zy/crm/manager/controller/RuleController.java @@ -12,6 +12,7 @@ import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.Rule; import com.zy.crm.manager.service.RuleService; +import com.zy.crm.manager.utils.RuleUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -69,10 +70,7 @@ if (Cools.isEmpty(rule.getRuleConnectorType())){ rule.setRuleConnectorType(1); } - /* - * 瀹氫箟涓�涓鍒欙細澶达細String ruleHeader;浣擄細 String ruleBody;杩炴帴绗︼細String ruleConnector锛涜繛鎺ョ鏄惁鍚敤锛�0锛氬惎鐢紱1锛氫笉鍚敤銆傦細Integer ruleConnectorType锛涜鍒欐柟寮忥紙榛樿1锛氬綋鍓嶆棩鏈熸椂闂存埑锛夛細Integer ruleType锛� - * 鏍规嵁瑙勫垯鑷姩鐢熸垚 - * */ + rule.setRulePreview(RuleUtils.rule(rule)); ruleService.insert(rule); return R.ok(); } @@ -83,6 +81,14 @@ if (Cools.isEmpty(rule) || null==rule.getId()){ return R.error(); } + if (Cools.isEmpty(rule.getRuleConnector())){ + rule.setRuleConnector("-"); + rule.setRuleConnectorType(1); + } + if (Cools.isEmpty(rule.getRuleConnectorType())){ + rule.setRuleConnectorType(1); + } + rule.setRulePreview(RuleUtils.rule(rule)); ruleService.updateById(rule); return R.ok(); } diff --git a/src/main/java/com/zy/crm/manager/entity/Rule.java b/src/main/java/com/zy/crm/manager/entity/Rule.java index 2a341a7..e82c934 100644 --- a/src/main/java/com/zy/crm/manager/entity/Rule.java +++ b/src/main/java/com/zy/crm/manager/entity/Rule.java @@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.crm.system.entity.User; +import com.zy.crm.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -99,6 +103,28 @@ this.ruleStandby2 = ruleStandby2; } + public String getRuleConnectorType$(){ + if (null == this.ruleConnectorType){ return null; } + switch (this.ruleConnectorType){ + case 1: + return "涓嶅惎鐢�"; + case 0: + return "鍚敤"; + default: + return String.valueOf(this.ruleConnectorType); + } + } + + public String getRuleConnector$(){ + if (null == this.ruleConnectorType){ return null; } + switch (this.ruleConnector){ + case "-": + return "榛樿'-'"; + default: + return String.valueOf(this.ruleConnectorType); + } + } + // Rule rule = new Rule( // null, // 瑙勫垯鏂瑰紡锛堥粯璁�1锛氬綋鍓嶆棩鏈熸椂闂存埑锛塠闈炵┖] // null, // 瑙勫垯澶碵闈炵┖] 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); diff --git a/src/main/webapp/static/js/rule/rule.js b/src/main/webapp/static/js/rule/rule.js index 53ed583..6907f1d 100644 --- a/src/main/webapp/static/js/rule/rule.js +++ b/src/main/webapp/static/js/rule/rule.js @@ -21,17 +21,17 @@ cellMinWidth: 50, height: 'full-120', cols: [[ - {type: 'checkbox'} - ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'ruleType', align: 'center',title: '瑙勫垯鏂瑰紡锛堥粯璁�1锛氬綋鍓嶆棩鏈熸椂闂存埑锛�'} - ,{field: 'ruleHeader', align: 'center',title: '瑙勫垯澶�'} - ,{field: 'ruleBody', align: 'center',title: '瑙勫垯浣�'} - ,{field: 'ruleConnector', align: 'center',title: '杩炴帴绗︼紙榛樿鈥�-鈥濓級'} - ,{field: 'ruleConnectorType', align: 'center',title: '杩炴帴绗︽槸鍚﹀惎鐢紙0锛氬惎鐢紱1锛氫笉鍚敤銆傞粯璁�1锛�'} - ,{field: 'ruleMemo', align: 'center',title: '澶囨敞'} - ,{field: 'rulePreview', align: 'center',title: '棰勮'} - ,{field: 'ruleStandby1', align: 'center',title: '澶囩敤瀛楁1'} - ,{field: 'ruleStandby2', align: 'center',title: '澶囩敤瀛楁2'} + // {type: 'checkbox'}, + {field: 'id', align: 'center',title: 'ID',width: 80, hide:true} + ,{field: 'ruleType', align: 'center',title: '瑙勫垯鏂瑰紡', hide:false} + ,{field: 'ruleHeader', align: 'center',title: '瑙勫垯澶�', hide:false} + ,{field: 'ruleBody', align: 'center',title: '瑙勫垯浣�', hide:false} + ,{field: 'ruleConnector', align: 'center',title: '杩炴帴绗�', hide:false} + ,{field: 'ruleConnectorType$', align: 'center',title: '杩炴帴绗︽槸鍚﹀惎鐢�', hide:false} + ,{field: 'ruleMemo', align: 'center',title: '澶囨敞', hide:false} + ,{field: 'rulePreview', align: 'center',title: '棰勮',width: 350, hide:false} + // ,{field: 'ruleStandby1', align: 'center',title: '澶囩敤瀛楁1'} + // ,{field: 'ruleStandby2', align: 'center',title: '澶囩敤瀛楁2'} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} ]], -- Gitblit v1.9.1