public class RandomNumberUtils { /** * 推荐单编号指定格式生成“每日日期+4位数字增长不重复,每天重新开始计数” * * @param recordTimeAndNumber//最新一条推荐单的编号 * @param currentRecordNumber//最新一条推荐单每日的排号 * @return */ public static Map<String, Object> getRandomRecordNumber(String recordTimeAndNumber, Integer currentRecordNumber) { String recordTimeAndNumberNew = ""; StringBuffer NUMStr = new StringBuffer(""); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdf.format(date).replace("-", ""); if (recordTimeAndNumber == null) { recordTimeAndNumber = ""; } String currentDateStr = ""; if (!recordTimeAndNumber.equals("")) { currentDateStr = recordTimeAndNumber.substring(0, 8); } //判断最近的一条推荐单编号日期是否是今天,如果是那么继续往下增加currentRecordNumber的值 if (dateStr.equals(currentDateStr)) { currentRecordNumber = currentRecordNumber + 1; if (currentRecordNumber >= 0 && currentRecordNumber < 10) { NUMStr = NUMStr.append("000").append(String.valueOf(currentRecordNumber)); } if (currentRecordNumber >= 10 && currentRecordNumber < 100) { NUMStr = NUMStr.append("00").append(String.valueOf(currentRecordNumber)); } if (currentRecordNumber >= 100 && currentRecordNumber < 1000) { NUMStr = NUMStr.append("0").append(String.valueOf(currentRecordNumber)); } if (currentRecordNumber >= 1000) { NUMStr = NUMStr.append(String.valueOf(currentRecordNumber)); } recordTimeAndNumberNew = currentDateStr + NUMStr; } else {//如果推荐记录表中最新的一条推荐单编号日期不是今天的,那么将currentRecordNumber设置成1.让currentRecordNumber重新开始增加 currentRecordNumber = 1; NUMStr = NUMStr.append("000").append(String.valueOf(currentRecordNumber)); recordTimeAndNumberNew = dateStr + NUMStr; } Map<String, Object> map = new HashedMap(); map.put("recordTimeAndNumberNew", recordTimeAndNumberNew); map.put("currentRecordNumberNew", currentRecordNumber); return map; }
订单编号:日期+4位的不重复数字
最新推荐文章于 2023-04-15 17:20:59 发布