JAVA生成根據用戶id唯一訂單號,併發下唯一

貼代碼:

/**
     * 生成訂單號
     * yyyyMMddHHmmss 6位隨機  4位用戶id
     * @return
     */
    public static String getGenerateOrderNo(Long userId){
        String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        StringBuffer stringBuffer = new StringBuffer(userId.toString());
        //id長度大於4  取後四位
        if(stringBuffer.length()>4){
            stringBuffer = new StringBuffer(stringBuffer.substring(stringBuffer.length()-4,stringBuffer.length()));
        }
        //長度小於4  補全4位
        while (stringBuffer.length()<4){
            stringBuffer.insert(0,"0");
        }
        return time+RandomUtil.getNumber(6)+stringBuffer.toString();
    }

算了一下,併發下id小於4位數,唯一性很強,超過4位數的id,20190929124569--126547--0034  假設某一毫秒同時要進來9999*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章