订单号组成:年月日时分秒+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";
}
}