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); } }