订单编号:日期+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;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值