/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
package org.springblade.common.utils;
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
import java.text.DecimalFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
/**
|
* 通用工具类
|
*
|
* @author Chill
|
*/
|
public class CommonUtil {
|
|
/**
|
* 生成随时间自增变化的编号
|
* @param prefixStr 前缀
|
* @param maxNumber 最大值
|
* @return
|
*/
|
public final static String createNo(String prefixStr,String maxNumber){
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
|
String caseNo="";
|
if (StringUtil.isNotBlank(maxNumber)) {
|
DecimalFormat decimalFormat = new DecimalFormat("000000");
|
String dateStr = df.format(new Date());
|
int preLength = maxNumber.indexOf(prefixStr) > -1 ? prefixStr.length():0;
|
String value = maxNumber.substring(dateStr.length() + 5 + preLength, maxNumber.length());
|
int i = Integer.parseInt(value) + 1;
|
String k = decimalFormat.format(i);
|
// 订单号
|
caseNo= prefixStr + dateStr + k;
|
} else {
|
//初始、默认值
|
caseNo = prefixStr + df.format(new Date()) + "000001";
|
}
|
return caseNo;
|
}
|
|
}
|