UniqueCodeGenerator.java 925 Bytes
package com.huaheng.common.utils;

import java.text.SimpleDateFormat;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicLong;

import org.springframework.stereotype.Component;

/**
 * 唯一码工具类
 * @author     TanYibin
 * @createDate 2024年6月3日
 */
@Component
public class UniqueCodeGenerator {

    private static final SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmssSSS");
    private static final AtomicLong counter = new AtomicLong(0);

    /**
     * 生成单据唯一码
     * @return
     * @author     TanYibin
     * @createDate 2024年6月3日
     */
    public static synchronized String buildSuNumber() {
        String timestamp = sdf.format(new java.util.Date());
        long sequence = counter.incrementAndGet();
        return timestamp + String.format("%02d", sequence);
    }

    public static String getUUID() {
        return UUID.randomUUID().toString();
    }

}