扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
/**
我们提供的服务有:成都做网站、成都网站制作、微信公众号开发、网站优化、网站认证、岳阳ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的岳阳网站制作公司
* 得到一个新的订单代码
* 说明,此函数还没有进行过多线程测试,更新数据库时未加锁
* @return 新的订单代码
*/
public String getOrderCode(){
//getParameter这个方法就是从数据库取2个参数的值 ORDER_CODE_DATE 和
//ORDER_CODE_NO是数据库字段名
BasParameters orderCodeDate = getParameter(ORDER_CODE_DATE);
BasParameters orderCodeNo = getParameter(ORDER_CODE_NO);
//当前日期
String currDate=new SimpleDateFormat("yyyyMMdd").format(new Date(System.currentTimeMillis()));
//每天的起始数
int orderNo = 100;
//表里存的日期和当前日期相同,顺序号累加
if (currDate.equals(orderCodeDate.getValue())){
orderCodeNo.setValue(""+(Integer.parseInt(orderCodeNo.getValue())+1));
orderNo = (Integer.parseInt(orderCodeNo.getValue()));
//save 就是保存ORDER_CODE_DATE 和 ORDER_CODE_NO当前值到数据库
save(orderCodeNo);
} else {
//表里存的日期和当前日期不同,顺序号重新开始,更新参数表的日期
orderCodeDate.setValue(currDate);
save(orderCodeDate);
orderCodeNo.setValue(orderNo);
save(orderCodeNo);
}
return currDate + new DecimalFormat("000000").format(orderNo);
}
为了30分:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static final String PREFIX = "DD";
private static long code;
public static void main(String[] args) {
System.out.println(Test.nextCode());
System.out.println(Test.nextCode());
System.out.println(Test.nextCode());
}
public static synchronized String nextCode() {
code++;
String str = new SimpleDateFormat("yyyyMM").format(new Date());
long m = Long.parseLong((str)) * 10000;
m += code;
return PREFIX + m;
}
}
private static int m=1;//全局静态变量,(必须static修饰)每调用一次方法自增1
public String add(){
addin(m);
return "addTiao";
}
public void addin(int a){
String str1="A";
Date date=new Date();
String str2=new SimpleDateFormat("yyyyMMdd"). format(date);//自动生成日期
int datee=Integer.parseInt(str2);
inlist=instockService.getInListDown();//按降幂排序
instockEntity=(InstockEntity) inlist.get(0);
String ss=instockEntity.getInstock_number();//得到最大日期
if(ss!=null){
String riqi=ss.substring(1, 9);
int riqi1=Integer.parseInt(riqi);
if(dateeriqi1){
a=1;//如果日期变大则初始化订单号
}
}
String str3=null;
if(a=0a=9){
str3="00"+String.valueOf(a);
}else if(a=10a=99){
str3="0"+String.valueOf(a);
}else if(a=100a=999){
str3=String.valueOf(a);
}
String instock_number=str1+str2+str3;
instockEntity.setInstock_number(instock_number);
instockService.add(instockEntity);
m=a+1;
}
JAVA类库中可以使用UUID方法,来生成唯一的数字的一串数字编号,也就是订单号。
UUID.randomUUID().toString().replaceAll("-", "");通过上述方法就可以返回一串数字字符串。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流