package com.panzhihua.common.utlis; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class OrderNoUtils { private static int sn = 0; // 防止创建类的实例 private OrderNoUtils() { } public static String NextOrderNo(Long userId) { if (sn == 999) sn = 0; else sn++; DateFormat df = new SimpleDateFormat("MMddHHmmss"); return df.format(new Date()) + padRight(String.valueOf(userId), 5, '0') + padRight(String.valueOf(sn), 3, '0') + getRandomNumber(); } public static String NextOrderNoFlower(Long userId) { DateFormat df = new SimpleDateFormat("MMddHHmmss"); return df.format(new Date()) + padRight(String.valueOf(userId), 3, '0') + getRandomNumber(); } public static String nextDeliveryNo() { if (sn == 999) sn = 0; else sn++; DateFormat df = new SimpleDateFormat("MMddHHmmss"); return "PS" + df.format(new Date()) + padRight(String.valueOf(sn), 3, '0') + getRandomNumber(); } public static String padLeft(String src, int len, char ch) { int diff = len - src.length(); if (diff <= 0) { return src; } char[] charr = new char[len]; System.arraycopy(src.toCharArray(), 0, charr, 0, src.length()); for (int i = src.length(); i < len; i++) { charr[i] = ch; } return new String(charr); } public static String padRight(String src, int len, char ch) { int diff = len - src.length(); if (diff <= 0) { return src; } char[] charr = new char[len]; System.arraycopy(src.toCharArray(), 0, charr, diff, src.length()); for (int i = 0; i < diff; i++) { charr[i] = ch; } return new String(charr); } /** * 获取三位随机数 * * @return 三位随机数 */ private static String getRandomNumber() { return String.valueOf(new Double((Math.random() * 9 + 1) * (Math.pow(10, 3 - 1))).intValue()); } }