中扬CRM客户关系管理系统
LSH
2023-08-22 564bf7ab6a639c2c4557d35b8fd9b51dca60a738
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);