1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【订单编号工具类 java】

【订单编号工具类 java】

时间:2022-06-03 15:53:02

相关推荐

【订单编号工具类 java】

订单编号工具类

package com.ruoyi.bnbackstage.util;import org.springframework.stereotype.Service;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;@Servicepublic class OrderNumUtil {private static final String ORDER_CODE = "DK";private static final String RETURN_ORDER = "HT";private static final String REFUND_ORDER = "TK";private static final int[] r = new int[]{7, 9, 6, 2, 8, 1, 3, 0, 5, 4};private static final int maxLength = 4;private String toCode(Integer userId) {String idStr = userId.toString();StringBuilder idsbs = new StringBuilder();for (int i = idStr.length() - 1; i >= 0; i--) {idsbs.append(r[idStr.charAt(i) - '0']);}return idsbs.append(getRandom(maxLength - idStr.length())).toString();}private String getDateTime() {DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");return sdf.format(new Date());}private long getRandom(long n) {long min = 1, max = 9;for (int i = 1; i < n; i++) {min *= 10;max *= 10;}long rangeLong = (((long) (new Random().nextDouble() * (max - min)))) + min;return rangeLong;}private synchronized String getCode(Integer userId) {userId = userId == null ? 10000 : userId;return getDateTime() + toCode(userId);}public String getOrderCode(Integer userId) {return ORDER_CODE + getCode(userId);}public String getReturnCode(Integer userId) {return RETURN_ORDER + getCode(userId);}public String getRefundCode(Integer userId) {return REFUND_ORDER + getCode(userId);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。