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