package com.zy.crm.manager.utils;
|
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.Random;
|
|
public class RuleUtils {
|
private String ruleHeader;
|
private String ruleBody;
|
private String ruleConnector;
|
private int ruleConnectorType;
|
private int ruleType;
|
|
public RuleUtils(String ruleHeader, String ruleBody, String ruleConnector, int ruleConnectorType, int ruleType) {
|
this.ruleHeader = ruleHeader;
|
this.ruleBody = ruleBody;
|
this.ruleConnector = ruleConnector;
|
this.ruleConnectorType = ruleConnectorType;
|
this.ruleType = ruleType;
|
}
|
|
public String generateString() {
|
StringBuilder sb = new StringBuilder();
|
|
// 添加头部
|
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);
|
}
|
|
return sb.toString();
|
}
|
|
private String generateRandomString(int length) {
|
// 生成指定长度的随机字符串的逻辑
|
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
StringBuilder sb = new StringBuilder();
|
|
Random random = new Random();
|
for (int i = 0; i < length; i++) {
|
int index = random.nextInt(characters.length());
|
char randomChar = characters.charAt(index);
|
sb.append(randomChar);
|
}
|
|
return sb.toString(); // 返回生成的随机字符串
|
}
|
|
private String generateCustomTimestamp() {
|
// 自定义生成日期时间戳的逻辑
|
LocalDateTime now = LocalDateTime.now();
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
return now.format(formatter);// 返回生成的自定义日期时间戳
|
}
|
|
public static void main(String[] args) {
|
String ruleHeader = "Header: ";
|
String ruleBody = "Timestamp: ";
|
String ruleConnector = "-";
|
int ruleConnectorType = 0;
|
int ruleType = 1;
|
|
RuleUtils generator = new RuleUtils(ruleHeader, ruleBody, ruleConnector, ruleConnectorType, ruleType);
|
String generatedString = generator.generateString();
|
System.out.println(generatedString);
|
}
|
}
|