mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-06 11:00:13 +08:00
生成16位id
This commit is contained in:
@@ -4,6 +4,8 @@ import com.google.common.collect.Sets;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.RandomUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -48,6 +50,28 @@ public class IdUtils {
|
||||
return UUID.fastUUID().toString(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过UUID生成16位唯一订单号
|
||||
*/
|
||||
public static String get16UUID(){
|
||||
// 1.开头两位,标识业务代码或机器代码(可变参数)
|
||||
String machineId = "89";
|
||||
// 2.中间四位整数,标识日期
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
|
||||
String dayTime = sdf.format(new Date());
|
||||
// 3.生成uuid的hashCode值
|
||||
int hashCode = UUID.randomUUID().toString().hashCode();
|
||||
// 4.可能为负数
|
||||
if(hashCode < 0){
|
||||
hashCode = -hashCode;
|
||||
}
|
||||
// 5.算法处理: 0-代表前面补充0; 10-代表长度为10; d-代表参数为正数型
|
||||
String value = machineId + dayTime + String.format("%010d", hashCode);
|
||||
System.out.println(value);
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成交易流水号
|
||||
* @param pileSn 桩编号 例如:32010600019236
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
@@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 会员基础信息Service业务层处理
|
||||
@@ -186,7 +188,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId());
|
||||
// 如果查询到钱包为空,就新建一个该运营商的钱包
|
||||
walletInfo = MemberWalletInfo.builder()
|
||||
.walletCode(IdUtils.fastSimpleUUID())
|
||||
.walletCode(IdUtils.get16UUID())
|
||||
.memberId(memberId)
|
||||
.merchantId(dto.getTargetMerchantId())
|
||||
.giftBalance(BigDecimal.ZERO)
|
||||
@@ -275,6 +277,16 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
return i;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Set<String> set = Sets.newHashSet();
|
||||
for (int i = 0; i < 1000000; i++) {
|
||||
String s = IdUtils.get16UUID();
|
||||
System.out.println(s);
|
||||
set.add(s);
|
||||
}
|
||||
System.out.println("set size:" + set.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MemberVO queryMemberInfoByMemberId(String memberId) {
|
||||
if (StringUtils.isBlank(memberId)) {
|
||||
|
||||
Reference in New Issue
Block a user