- package com.internet.order;
- import java.util.UUID;
- public class TestOrder {
- public static String getOrderIdByUUId(){
- int machineId = 1;//最大支持1-9個集羣機器部署
- int hashCodev = UUID.randomUUID().toString().hashCode();
- System.out.println(UUID.randomUUID().toString());
- if(hashCodev < 0){
- //有可能是負數
- hashCodev = -hashCodev;
- }
- //"%015d"的意思:0代表不足位數的補0,這樣可以確保相同的位數,15是位數也就是要得到到的字符串長度是15,d代表數字。
- return machineId + String.format("%015d", hashCodev);
- }
- public static void main(String[] args) {
- String orderNo = getOrderIdByUUId();
- String orderNo2 = getOrderIdByUUId();
- String orderNo3 = getOrderIdByUUId();
- System.out.println(orderNo);
- System.out.println(orderNo2);
- System.out.println(orderNo3);
- }
- }
生成不重複訂單號-簡易且支持高併發版
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.