1. 程式人生 > >java 獲取唯一訂單號;

java 獲取唯一訂單號;

訂單號組成:年月日時分秒+4位累加數字
訂單號:201601031458300001
說明:前14位是瞬時時間,後4位是當天的點單號,每天從1開始記:
程式碼如下:

package com.jfl.action;

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import
com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class GetOrderNum extends ActionSupport{ public String getOrderNum(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf1 = new SimpleDateFormat("dd"
); String time = sdf.format(new Date()); String day = sdf1.format(new Date()); HttpServletRequest request = ServletActionContext.getRequest(); Map application = ActionContext.getContext().getApplication(); int count; String dayPass = null
; if(!application.containsKey("count")){ count=0; }else{ if(!application.containsKey("dayPass")){ application.put("dayPass", day); }else{ dayPass = (String) application.get("dayPass"); } if(!day.equals(dayPass)){ count=0; } count=(Integer) application.get("count"); } count = count+1; application.put("count", count); DecimalFormat df = new DecimalFormat("0000"); String num = df.format(count); String orderNum = time+""+num; request.setAttribute("orderNum", orderNum); return "showOrderNum"; } }

相關推薦

java 獲取唯一訂單

訂單號組成:年月日時分秒+4位累加數字 訂單號:201601031458300001 說明:前14位是瞬時時間,後4位是當天的點單號,每天從1開始記: 程式碼如下: package com.jf

java通過UUID生成16位唯一訂單

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

PHP生成唯一訂單

sub 擔心 ech 生成 int sprintf and return func function create_order_no() { $order_no = date('Ymd').substr(implode(NULL, array_map

PHP生成一個唯一訂單,年月日這種高大尚的例子

/生成一個訂單號 function getOrderNum(){     $order_number = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7,

thinkPHP生成唯一訂單的方法(借鑑支付寶)

二話不說,直接上程式碼: function GetNow() { var vNow = new Date(); var sNow = ""; sNow += String(vNow.getFullYear()); sNow += String(vNow.getMonth() +

PHP生成唯一訂單 阿星小棧

  /** * * uniqid - 官方是這樣說的: * Gets a prefixed unique identifier based on the current time in microseconds. */ function build_order_no() {  

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

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

PHP生成唯一訂單 阿星小棧

/** * * uniqid - 官方是這樣說的: * Gets a prefixed unique identifier based on the current time in microseconds. */ function build_order_no() {

高併發下唯一訂單生成器【16位數字訂單

高併發下唯一訂單號生成思考? 訂單號3個性質:1.唯一性 2.不可推測性 3.效率性可選方案一 本方案使用的是當前時間,包括毫秒數、納秒數,不需要資料庫參與計算,效能不用說。 public static String genId(String machineId){

一個常用的生成唯一訂單方法

/** * 生成唯一訂單號 */ public function build_order_no() { $no = date('Ymd').substr(implode(NULL, array_map('ord',

Android獲取唯一識別的方法

/** * 獲取ip地址 * @param context * @return */ public static String getIpAddress(Context context){ NetworkInf

php生產唯一訂單

用uniqid獲取一個基於當前的微秒數生成的唯一不重複的字串(但是他的前7位貌似很久才會發生變動,所以不用考慮可刪除),取其第8到13位。但是這個字串裡面有英文字母,咋辦?用ord獲取他的ASCII碼,所以就有了下一步:用str_split把這個字串分割為陣列,用array_map去操作(速度快點)。然後返回

java獲取CPU序列,生成機器碼

用於生成機器碼感覺用mac不靠譜,因為mac能改,(除CPU序列號外,還可以獲得主機板序列號。)Java程式碼  public static void main(String[] args) {      // TODO Auto-generated method stub 

java獲取唯一時間戳Id.多執行緒保證唯一性

工程裡有獲取唯一時間戳作為id的需求,想了想用樂觀鎖cas實現,自旋. cas原子性操作獲得了絕對唯一的時間戳(系統時間:納秒版本).單機有效,不能分散式呼叫. public class AtomicTimeStamp { private AtomicLong

PHP生成唯一訂單 阿星小棧

/** * * uniqid - 官方是這樣說的: * Gets a prefixed unique identifier based on the current time in microseconds. */ function build_order_no() {     return date('Y

JAVA獲取CPU序列

        前兩天有個小夥伴來問我JAVA怎麼獲取CPU的序列號,說是老師要求的。。。突然發現現在的老師好厲害了 哈哈哈。JAVA獲取CPU的序列號我還是真的沒做過,所以查詢了一些資料,最後實現了這個功能,其實JAVA獲取CPU的序列號還是很簡單的,程式碼才是王道,就直

php 生成唯一id /唯一識別符號/唯一訂單

/**  * php 生成唯一id  * http://blog.csdn.net/hzqghost/article/details/18914681  */ function guid($factor='',$prefix='',$suffix=''){     list

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

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

JAVA 生成不重複訂單 優化版本 訂單格式為yyyymmdd後面自增

@Service("orderNumberDubbboServiceImpl") public class OrderNumberDubbboServiceImpl implements OrderNumberDubbboService { private static Logger

javaEE高併發之如何產生唯一不重複訂單

javaEE高併發之如何產生唯一不重複訂單號 1.方案一:使用程序ID,執行緒ID,IP,MAC地址和時間戳進行拼接產生訂單號 (1)如果沒有併發,訂單號只在一個執行緒內產生,那麼由於程式是順序執行的,不同訂單的生成時間戳正常不同,因此用時間戳+隨機數(或自增數)就可以區分各個訂單。 (