package com.ruoyi.web.utils; import com.ruoyi.common.utils.uuid.UUID; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; public class IdUtils { /***********************************************生成永不重复的单号*********************************************/ /** * 生成永不重复的单号 * @param startLetter 订单号开头字符串 * @param size 订单号中随机的大写字母个数 * @return */ public static String createNo(String startLetter,int size){ String orderNo = null; Date nowDate = new Date(); Random random = new Random(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); //生成两位大写字母 String keyArr = randomLetter(size); String fourRandom = random.nextInt(999) + ""; int randLength = fourRandom.length(); //四位随机数,不足四位的补0 if(fourRandom.length()<3){//不足四位的随机数补充0 for(int i=1; i<=3-randLength; i++){ fourRandom = '0' + fourRandom; } } orderNo=startLetter+keyArr+sdf.format(nowDate)+fourRandom; return orderNo; } /** * 生成大写字母 * @param size * @return */ public static String randomLetter(int size){ String keyArr= ""; char key = 0; boolean[] flag=new boolean[26]; //定义一个Boolean型数组,用来除去重复值 for(int i=0;i