mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-24 00:59:43 +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.DateUtils;
|
||||||
import com.jsowell.common.util.RandomUtil;
|
import com.jsowell.common.util.RandomUtil;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,6 +50,28 @@ public class IdUtils {
|
|||||||
return UUID.fastUUID().toString(true);
|
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
|
* @param pileSn 桩编号 例如:32010600019236
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.jsowell.pile.service.impl;
|
|||||||
|
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import com.jsowell.common.constant.CacheConstants;
|
import com.jsowell.common.constant.CacheConstants;
|
||||||
import com.jsowell.common.constant.Constants;
|
import com.jsowell.common.constant.Constants;
|
||||||
import com.jsowell.common.core.redis.RedisCache;
|
import com.jsowell.common.core.redis.RedisCache;
|
||||||
@@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员基础信息Service业务层处理
|
* 会员基础信息Service业务层处理
|
||||||
@@ -186,7 +188,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
|||||||
log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId());
|
log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId());
|
||||||
// 如果查询到钱包为空,就新建一个该运营商的钱包
|
// 如果查询到钱包为空,就新建一个该运营商的钱包
|
||||||
walletInfo = MemberWalletInfo.builder()
|
walletInfo = MemberWalletInfo.builder()
|
||||||
.walletCode(IdUtils.fastSimpleUUID())
|
.walletCode(IdUtils.get16UUID())
|
||||||
.memberId(memberId)
|
.memberId(memberId)
|
||||||
.merchantId(dto.getTargetMerchantId())
|
.merchantId(dto.getTargetMerchantId())
|
||||||
.giftBalance(BigDecimal.ZERO)
|
.giftBalance(BigDecimal.ZERO)
|
||||||
@@ -275,6 +277,16 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
|||||||
return i;
|
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
|
@Override
|
||||||
public MemberVO queryMemberInfoByMemberId(String memberId) {
|
public MemberVO queryMemberInfoByMemberId(String memberId) {
|
||||||
if (StringUtils.isBlank(memberId)) {
|
if (StringUtils.isBlank(memberId)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user