1. 程式人生 > >十五位訂單號生成(日期+隨機數)

十五位訂單號生成(日期+隨機數)

專案中遇到了訂單號生成,看了一下網上的方案,最後選擇了15位的訂單號

訂單號生成是遵循一些規則的,不同的業務需要不同長度的訂單號.

大家可以檢視淘寶京東等大型電子商務網站的訂單號長度,依稀可以看出它們的訂單號的生成規則.

以下是我所用到的生成方案

Android中

DateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
Calendar calendar = Calendar.getInstance();
String dateName = df.format(calendar.getTime());
Random ne=new Random();//例項化一個random的物件ne
int x = ne.nextInt(999-100+1)+100;//為變數賦隨機值100-999 String random_order = String.valueOf(x); String order_id = dateName+random_order;

JS中

//全域性方法,獲取當前時間function pad2(n) { return n < 10 ? '0' + n : n }
function generateTimeReqestNumber() { var date = new Date(); return date.getFullYear().toString() + pad2(date.
getMonth() + 1) + pad2(date.getDate()) + pad2(date.getHours()) + pad2(date.getMinutes()) ;}var rand = Math.floor(Math.random() * 900) + 100;var order_id = generateTimeReqestNumber() + rand;

相關推薦

訂單生成(日期+隨機數)

專案中遇到了訂單號生成,看了一下網上的方案,最後選擇了15位的訂單號訂單號生成是遵循一些規則的,不同的業務需要不同長度的訂單號.大家可以檢視淘寶京東等大型電子商務網站的訂單號長度,依稀可以看出它們的訂單號的生成規則.以下是我所用到的生成方案Android中DateFormat

生成32訂單

import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; /**  * 訂單編碼碼生成器,生成3

的身份證轉為

function ID15T18(strTemp){ var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X

訂單生成函數

return 支付 pre 自增 date use func 增長 訂單 以下是我在做電商系統用的訂單號生成函數 ::/** * 訂單序列生成 16位 * $type支付/提取類型 * $usertype用戶類型 * $oid 訂單自增長 */public functi

樂優商城(三)——訂單微服務

目錄 一、訂單系統介面 1.1 Swagger-UI 1.1.1 什麼是OpenApi 1.1.2 什麼是Swagger 1.1.3 快速入門 1.2 測試介面 1.2.1 建立訂單介面 1.2.2 生成ID方式 1.2.3 查詢訂單介面

列印頁面 訂單生成 條形碼

1.所用外掛JsBarcode 2.下載地址:https://github.com/lindell/JsBarcode 3.用法: <script> JsBarcode("#JsBarcode", "123", { format: "CODE39",//選擇要使用的條形碼型別

java web系統在高併發下如何實現訂單生成唯一?

java web系統在高併發下如何實現訂單號生成唯一? 系統訂單號規則:XXXX(固定字元)+年(後兩位)月日+流水號。流水號每天重新從1開始。 系統訂單號產生唯一的方案有哪幾種?由於訂單號規則已經確定,無法使用時間戳及隨機數,有哪些方案可以使用? 注:資料庫mysql,訂單號不是訂單表的主鍵

分散式全域性唯一訂單生成系統-REDIS-日訂單億級

一、系統準備 1、單redis按照每秒50k的併發支援計算每日可處理數量為40億,高低峰折扣下來10億差不多。 2、最終支援的數量按時按單業務每秒最大訂單數來算 3、如果單redis無法支撐,那麼按業務分配redis即可(業務字首HASH分節點或者直接按業務分節點) 二、程式碼結構

訂單生成方法

package com.jae.impl;   import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;   @Service public class

訂單生成--相關

以下故事僅供參考: ############################################################################################# 你是個程式設計師。 隔壁老王通過你老婆找到你,說要做個"巨牛逼電

Java 訂單生成

時間戳+隨機數+使用者唯一id public static String getOrderIdByTime() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String newDa

電商系統的訂單生成方案

訂單的生成需要1.全域性的唯一性2.自增長3.長度的要求4.具有一定的可讀性5.保密性訂單號的生成方案    1.UUID                  2.資料庫自增             3.snowflake         4.redis    還有分散式上面應

Java訂單生成工具(實現二)基於佇列

使用了ConcurrentLinkedQueue,ConcurrentLinkedQueue是一個基於連結節點的無界執行緒安全佇列,它採用先進先出的規則對節點進行排序,當我們新增一個元素的時候,它會新增到佇列的尾部,當我們獲取一個元素時,它會返回佇列頭部的

Java訂單生成工具(實現一)基於物件鎖

-----2017-04-17更新----- Re: claram 2017-02-04 16:15發表 [回覆] 回覆qq_27482239:line 36: 改為 >= line 41:finOderNum 改為 finOrderNum PS:本方法可能較為笨重

Oracle當前日期的下個半月,例如今天的下個半月是十月一到十月,如果是上半月,則顯示本月的下半月

CREATE OR REPLACE FUNCTION FUN$_GETMONTH RETURN VARCHAR2 IS   /*************************** *用途:根據當前日期,判斷是上半月還是下半月,如果是下半月,則顯示下月的上半月(20180

java通過UUID生成16唯一訂單

import java.util.UUID;   public class T {         public static String getOrderIdByUUId() {             int machineId = 1;//最大支援1-9個叢集機器部署

[Python爬蟲] 之:Selenium +phantomjs根據微信公眾抓取微信文章

頭部 drive lac 過程 標題 操作 函數 軟件測試 init   借助搜索微信搜索引擎進行抓取   抓取過程   1、首先在搜狗的微信搜索頁面測試一下,這樣能夠讓我們的思路更加清晰        在搜索引擎上使用微信公眾號英文名進行“搜公眾號&r

第三百節,Python分布式爬蟲打造搜索引擎Scrapy精講—scrapy信詳解

第一個 如果 -c stopped lin 支持 idle 資源 spider 第三百五十五節,Python分布式爬蟲打造搜索引擎Scrapy精講—scrapy信號詳解 信號一般使用信號分發器dispatcher.connect(),來設置信號,和信號觸發函數,當捕獲到信號

python selenium 處理時間日期控件(

開發 users key 時間控件 java hunk read picker eat 測試過程中經常遇到時間控件,需要我們來選擇日期,一般處理時間控件通過層級定位來操作或者通過調用js來實現。 1.首先我們看一下如何通過層級定位來操作時間控件。 通過示例圖可以看到

python全棧開發基礎【第二篇】死鎖,遞歸鎖,信量,Event事件,線程Queue

random 問題 定時器 初始 .get rand true () 進入 一、死鎖現象與遞歸鎖 進程也是有死鎖的 所謂死鎖: 是指兩個或兩個以上的進程或線程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用, 它們都將無法推進下去。此時稱系統處於死鎖狀態或系