package com.guo.learningprogresstracker.utils; import lombok.RequiredArgsConstructor; import java.text.SimpleDateFormat; import java.util.Date; /** * 用于生成编码的工具 */ @RequiredArgsConstructor public class GenerateNumTool { private static int getNextSequence() { long timestamp = System.currentTimeMillis(); return (int) (timestamp % 1_000_000); } /** * 生成以prefix开头separator分割的编码 * 例如:PREFIX—20240711-423468 * @param prefix * @param separator * @return */ public static String generateNum(String prefix, String separator) { String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date()); int sequence = getNextSequence(); return prefix + separator + currentDate + separator + sequence; } public static String generateNum(String prefix) { String separator = "-"; String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date()); int sequence = getNextSequence(); return prefix + separator + currentDate + separator + sequence; } }