订单编号:日期+4位的不重复数字

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;
    }

猜你喜欢

转载自blog.csdn.net/weixin_39643007/article/details/82081521
今日推荐