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