/* * 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; } }