| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Random; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | |
| | | public class RandomUtil { |
| | | /** |
| | |
| | | "6", "7", "8", "9", "0" }; |
| | | |
| | | /** |
| | | * |
| | | * 根据指定的长度生成的含有大小写字母及数字的字符串 |
| | | * |
| | | * @param length |
| | | * 指定的长度 |
| | | * @param length 指定的长度 |
| | | * @return 按照指定的长度生成的含有大小写字母及数字的字符串 |
| | | */ |
| | | public static String generateRandomString(int length) { |
| | |
| | | public static void main(String[] args) { |
| | | String s = generateRandomString(26); |
| | | System.out.println(s); |
| | | System.out.println(generateOrderNumber()); |
| | | |
| | | } |
| | | |
| | | private static final AtomicInteger SEQUENCE = new AtomicInteger(0); |
| | | private static final int MAX_SEQUENCE = 99999;// 5位数的序列号 |
| | | private static final String ORDER_PER = "SN"; |
| | | |
| | | public static synchronized String generateOrderNumber() { |
| | | String datePart = new SimpleDateFormat("yyyyMMddhhmm").format(new Date()); |
| | | int sequencePart = SEQUENCE.getAndIncrement() % MAX_SEQUENCE; |
| | | String sequenceStr = String.format("%05d", sequencePart); // 保证序列号是5位数,不足的前面补0 |
| | | |
| | | return ORDER_PER + datePart + sequenceStr; |
| | | } |
| | | |
| | | } |