當前位置:首頁 » 網頁前端 » 前端隨機生成訂單編號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端隨機生成訂單編號

發布時間: 2022-09-20 05:58:32

⑴ 怎樣將當前日期+訂單號生成一個訂單號

這個的方法需要用到幾個函數的組合應用,分別是:判斷當前日期的=Today( );判斷當前年份的=year(當前日期 );判斷當前月份的=month(當前日期 );還有if函數。
工具/原料:windows7,Excel2016
1、首先找一個單元格,最好是在表格開始的地方先輸入一個函數=today(),判斷出當前日期。按照要求,有一列應該叫訂單編號,總有一列要輸入數量的列,在訂單編號列的前面插入一列可以叫做訂單序號。

2、可以看到上圖是已經完成的表格,紅色的是自動判斷的日期,黃色的是自動生成的訂單編號,藍色的是自動生成的遞增的訂單序號,綠色的是訂單的數量,只要訂單數量裡面有數字(大於零),訂單序號和訂單編號便會自動生成,如下圖是所使用公式。

3、上圖if函數解釋,A列:如果數量裡面有數字(大於零)則等於當前年份月份加訂單序號,否則為空。B列,如果數量裡面有數字(大於零)就等於上面序號加1,否則為空。
注意:「&」在函數中用於兩個函數的連接,使用後顯示第一個函數的結果和第二個函數結果的重疊。

⑵ 微店訂單編號是隨機的嗎

不是的,是有規則的
年月日時分秒+用戶ID(命名用戶ID時也要注意,不要用流水號。可以採用區域ID+隨機碼+流水號+隨機碼方式)
1、唯一性:時間是單向的,確保唯一性。
2、安全性:確保用戶ID安全即可。
3、隨機碼不參與判斷,因為之前數據已確保無重復。
4、在同1秒鍾,同一用戶是不會產生2個訂單編碼的,所以可以防並發。
5、位數可能會在20位之內,位數比較多。
年月日時分秒微秒+隨機碼(2)+流水號+隨機碼(3)
1、唯一性:時間是單向的,確保唯一性。
2、安全性:確保流水號不會識別出即可。
3、隨機碼的位數和前後都是保密的,所以如果不清楚這一點的話,是很難判斷出流水號的位數的。因為同時產生的訂單數量很多,編碼不具備線性對比功能。就算知道了流水號,可以在初始化時進行賦值。
4、在同1秒鍾,同一用戶是不會產生2個訂單編碼的,所以可以防並發。
5、位數可能會在20位之內,位數比較多。

⑶ 如何生成訂單號比較好


由於我在工作中遇到這個問題,藉此與大家分享一下各大電子商務網站訂單號的生成方式。



訂單號概念

它是您在購物網站購物後獲得的訂單號,記錄的是購物訂單信息。


作用

在您需要與購物網站進行訂單查詢等操作時,需要給購物網站提供商家訂單號。


幾種下單途徑?

  1. web網站下單
  2. 打電話到呼叫中心(CallCenter)下單
  3. 手機wap下單

如果採用單資料庫存儲的話,隨著訂單量的增加,單庫的寫壓力增大,造成資料庫伺服器性能下降。一般會採用分庫來緩解資料庫伺服器的壓力。



那麼怎麼來進行分庫呢?



web來源訂單,存入web訂單庫。
CallCenter來源訂單,存入CallCenter訂單庫。
wap來源訂單,存入wap訂單庫。
最終,將這三種類型的資料庫同步到訂單主庫中。



問題來了,怎麼把不同的訂單同步到訂單主庫呢?



電商網站一般利用訂單號來作為訂單表的主鍵。因此,我們必須保證訂單號不重復,才能將訂單安全的同步到訂單主庫中。


訂單命名規定唯一性

這個大家都明白,主要保證訂單號不重復。


安全性

訂單編號不能透露你公司的真實運營信息,比如你的訂單就是流水號的話,那麼別人就可以從訂單號推測出你公司的整體運營概括了。所以訂單編碼必須是除了你們公司少部分人外,其他人基本看不懂的。可以參考京東和淘寶的編碼規則。


不能使用大規模隨機碼

因為大規模的隨機碼隨機生成,因為本身就沒有意義所以無所謂泄密了。但是事實上這種編碼規則在實現上會有很大問題的。隨機碼滿足第二點安全性要求,為了滿足唯一性,那就得在生成隨機碼的時候對比歷史數據是否有重復,如果你的訂單數量到達了十萬次,你每次生成訂單編碼時就得對比十萬條歷史數據。


隨機碼就不能在編碼中使用了嗎?小規模的隨機碼是可以使用的,比如2~3位,這種隨機碼一般都是和流水號等結合使用,主要作用是為了隱藏流水號的真實數據而進行使用的。


防止並發

主要針對編碼中有時間的設定。


控制位數

訂單號的作用就是便於查詢。一般正常使用場景應該是訂單出異狀或者退貨的時候,用戶將訂單號報給客服,由客服進行查詢。所以一般在10~15位為好。目前京東11位,淘寶16位。


怎麼保證訂單號的唯一性訂單號命名規則來生成

比如「業務編碼 + 時間戳 + 機器編號[前4位] + 隨機4位數 + 毫秒數」。



說明:業務編碼(OrderType: Web=1 CallCenter=2 Wap=3) 機器編號(用來表示由那台伺服器生成的訂單)



偽代碼如下:


總結

訂單號的生成方案,需要根據目前的訂單量而定;因為各種方案都有各自的使用場景。

⑷ 給個絕對不重復的生成訂單號的思路或者邏輯!

多用戶的話,簡單一點的,可以由用戶ID(數字)、時間、隨機數組合生成,因為用戶ID是唯一的,生成的訂單號也就絕對不會重復了。

⑸ 購物網站建設 在購物車內怎樣設置訂單編號的自動生成

根據一定的規則隨機生成一個編號啊,不如:日期+時間+random(5),eg:
20100613-0512-236,類似騰訊的拍拍,簡單的演算法就能實現啊,然後存到資料庫即可。

⑹ zenCart如何生成訂單號(前綴+時間+隨機數) 詳細�0�3

今天介紹一種將訂單號改為前綴+時間+隨機數格式 主要看思想 修改方法 1.將orders_id 欄位改為VARCHAR 型,這樣order_id 可以丌僅僅是數字了,將以下sql 導入資料庫 ALTER TABLE `orders` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_procts` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_procts_attributes` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_procts_download` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_status_history` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_total` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; 2.打開includes\classes\order.php 查找 function create($zf_ot_moles, $zf_mode = 2) { global $db; 其下增加 $order_prefix=』LN_』; //站群可以作為每個站訂單前綴唯一識別符 $order_time=date(『YmdHis』); //時間 $order_rand=』_』.rand(1000,9000); //隨機數 $order_number=$order_prefix.$order_time.$order_rand; 這里時間精確到秒,且加上 4 位隨機數,從而保證訂單號絕對丌會重復 查找 if ($_SESSION['shipping'] == 『free_free』) { $this->info['shipping_mole_code'] = $_SESSION['shipping']; } 其下的$sql_data_array 增加orders_id 鍵值內容 $sql_data_array = array( 『orders_id』 => $order_number, 查找 $insert_id = $db->Insert_ID(); 將其注釋刪除掉,然後增加 $insert_id =$order_number;

⑺ asp.net C# 中在提交訂單時怎樣實現訂單號

有很多方法。
但是剛有人說的取最大訂單編號然後加1,這樣不好。一是操作太多,影響效率。二是,多用戶並發時,要注意用鎖,否則可能產生相同訂單編號的不同訂單。
取代上面最簡單的方法,就是將訂單編號列設置成標識列,設置標識增量為1,每次插入新數據的時候,不需要為此列插入值,它自動就會增長了。