java订单生成工具类

欢迎来到付宗乐个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

 1 package com.hykj.common.app.utils;
 2
 3 import java.text.DateFormat;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6 import java.util.Random;
 7
 8 /**
 9 *
10 * @Description:订单生成类
11 * @author: fuzongle
12 * @date: 2019年5月7日 下午7:12:36
13 */
14 public class OrderCodeFactory {
15
16
17 /** 订单类别头 */
18 private static final String ORDER_CODE = "1";
19 /** 退货类别头 */
20 private static final String RETURN_ORDER = "2";
21 /** 退款类别头 */
22 private static final String REFUND_ORDER = "3";
23 /** 未付款重新支付别头 */
24 private static final String AGAIN_ORDER = "4";
25 /** 随即编码 */
26 private static final int[] r = new int[] { 7, 9, 6, 2, 8, 1, 3, 0, 5, 4 };
27 /** 用户id和随机数总长度 */
28 private static final int maxLength = 10;
29
30 /** * 更具id进行加密+加随机数组成固定长度编码 */
31 private static String toCode(Long id) {
32 String idStr = id.toString();
33 StringBuilder idsbs = new StringBuilder();
34 for (int i = idStr.length() - 1; i >= 0; i--) {
35 idsbs.append(r[idStr.charAt(i) - ‘0‘]);
36 }
37 return idsbs.append(getRandom(maxLength - idStr.length())).toString();
38 }
39
40 /** * 生成时间戳 */
41 private static String getDateTime() {
42 DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
43 return sdf.format(new Date());
44 }
45
46 /** * 生成固定长度随机码 * @param n 长度 */
47 private static long getRandom(long n) {
48 long min = 1, max = 9;
49 for (int i = 1; i < n; i++) {
50 min *= 10;
51 max *= 10;
52 }
53 long rangeLong = (((long) (new Random().nextDouble() * (max - min)))) + min;
54 return rangeLong;
55 }
56
57 /** * 生成不带类别标头的编码 * @param userId */
58 private static synchronized String getCode(Long userId) {
59 userId = userId == null ? 10000 : userId;
60 return getDateTime() + toCode(userId);
61 }
62
63 /** * 生成订单单号编码 * @param userId */
64 public static String getOrderCode(Long userId) {
65 return ORDER_CODE + getCode(userId);
66 }
67
68 /** * 生成退货单号编码 * @param userId */
69 public static String getReturnCode(Long userId) {
70 return RETURN_ORDER + getCode(userId);
71 }
72
73 /** * 生成退款单号编码 * @param userId */
74 public static String getRefundCode(Long userId) {
75 return REFUND_ORDER + getCode(userId);
76 }
77
78 /** * 未付款重新支付 * @param userId */
79 public static String getAgainCode(Long userId) {
80 return AGAIN_ORDER + getCode(userId);
81 }
82
83 }

原文地址:https://www.cnblogs.com/fuzongle/p/10827443.html

时间: 2024-11-11 20:50:10

java订单生成工具类的相关文章

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ?Copyright 蕃薯耀 2017年9月13日 http://www.cnblogs.com/fanshuyao/ 直接上代码: import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.ref

[精品] 收集的27个java开发常用工具类.基本满足开发需求

原文:[精品] 收集的27个java开发常用工具类.基本满足开发需求 源代码下载地址:http://www.zuidaima.com/share/1596028005993472.htm 最近从网上收集的java开发常用的工具类,分享给大家.基本满足开发需求.推荐给热爱最代码以及java的牛牛们.   每个类都有注释的,欢迎大家可以下载使用. 字符编码:CharTools, base64:Base64 *.java Md5加密:  MD5*.java 上传:*Uploader* 生成缩略图类:T

二维码生成工具类

1 package com.ideal.common.util; 2 3 import java.awt.image.BufferedImage; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.FileNotFoundException; 7 import java.io.FileOutputStream; 8 import java.util.UUID; 9 10 import net.glx

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁 最近项目中使用redis,学习了一下,client端使用jedis-2.1.0 首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 Java代码   public class RedisLock { /** 加锁标志 */ public static final String LOCKED = "TRUE";

ZXing 二维码解析生成工具类

原文:http://www.open-open.com/code/view/1455848023292 import com.google.zxing.*; import com.google.zxing.Reader; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.googl

UrlUtils工具类,Java URL工具类,Java URL链接工具类

UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年7月15日 http://www.cnblogs.com/fanshuyao/ Java代码   import java.util.Ha

java MD5数据加密工具类

package com.wetuo.util; import java.security.MessageDigest; /**  * 数据加密工具类  * @author wzp  *  */ public class DataUtil { public static String md5(String str) { StringBuffer buffer = new StringBuffer(); char[] chars = { '0', '1', '2', '3', '4', '5', '

Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类

Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类   =========================== ?Copyright 蕃薯耀 2017年9月25日 http://www.cnblogs.com/fanshuyao/ 一.问题描述 很多对外网站的某些内容都需要过滤敏感词,避免政治与色@情上的问题. 二.解决方案 使用词库进行匹配过滤成 * (星号) Java 敏感词工具类及敏感词词库见附件. 1.下载后,有几个类,主要为WordFilter 这个工具类,使用方法如下

java文件处理工具类

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileRea