package org.jeecg.modules.system.app.utils;

import java.time.LocalDate;
import java.util.Random;

/**
 * @author DM
 * @date 2025/7/7 18:23
 * @description
 */
public class OrderCodeGenerator {
    /**
     * 生成 8 位编码：前 4 位随机数，后 4 位为当前日期（MMDD）
     */
    public static String generateCode() {
        // 获取当前日期，格式化为 MMdd（例如：0715）
        LocalDate currentDate = LocalDate.now();
        String datePart = String.format("%02d%02d",
                currentDate.getMonthValue(), // 月份
                currentDate.getDayOfMonth()); // 日期

        // 生成 4 位随机数字
        Random random = new Random();
        int randomNumber = 1000 + random.nextInt(9000); // 1000 ~ 9999

        // 拼接结果
        return String.format("%04d%s", randomNumber, datePart);
    }

    /**
     *
     * @param businessType 88支付 86退款
     * @return
     */
    public static String getOrderCode(Integer businessType){
        return businessType + generateCode();
    }

    public static void main(String[] args) {
        System.out.println("生成的编码：" + getOrderCode(88));
    }
}