update 生成交易流水号

This commit is contained in:
2023-03-13 15:01:36 +08:00
parent 75799eabfd
commit c1ef51af6e
6 changed files with 19 additions and 15 deletions

View File

@@ -50,21 +50,20 @@ public class IdUtils {
/**
* 生成交易流水号
*
* @param pileSn 桩编号 例如32010600019236
* @param connectorCode 枪口号 例如01
*/
public static String generateOrderCode(String pileSn, String connectorCode) {
return generateOrderCode(pileSn + connectorCode);
public static String generateTransactionCode(String pileSn, String connectorCode) {
return generateTransactionCode(pileSn + connectorCode);
}
/**
* 生成交易流水号
* 生成规则为 格式桩号7bytes +枪号1byte +年月日时分秒6bytes +自 增序号2bytes
* @param pileConnectorCode 为已经拼好的充电桩枪口号 例如3201060001923601
* @return 交易流水号 例如32010600019236012001061803423060
* @return 交易流水号 例如32010600019236012001061803423060 11291834338312
*/
public static String generateOrderCode(String pileConnectorCode) {
public static String generateTransactionCode(String pileConnectorCode) {
String timeNow = DateUtils.dateTimeNow(DateUtils.YYMMDDHHMMSS);
//随机生成一个四位整数
String randomNumber = RandomUtil.getRandomNumber(4);
@@ -73,11 +72,15 @@ public class IdUtils {
public static void main(String[] args) {
Set<String> set = Sets.newHashSet();
for (int i = 0; i < 1000; i++) {
for (int i = 0; i < 100000; i++) {
// String s = System.currentTimeMillis() + RandomUtil.getRandomNumber(6);
String id = SnowflakeIdWorker.getSnowflakeId();
set.add(id);
System.out.println(id);
String timeNow = DateUtils.dateTimeNow(DateUtils.YYMMDDHHMMSS);
//随机生成一个四位整数
// String randomNumber = RandomUtil.getRandomNumber(4);
// String id = timeNow + randomNumber;
String snowflakeId = SnowflakeIdWorker.getSnowflakeId();
set.add(snowflakeId);
System.out.println(snowflakeId);
}
System.out.println("set size = " + set.size());
}

View File

@@ -217,7 +217,7 @@ public class SnowflakeIdWorker {
//判断生成的记录是否有重复记录
long beginTime = System.currentTimeMillis();
Map<String, String> map = new ConcurrentHashMap<>();
for (int i = 0; i < 100; i++) {
for (int i = 0; i < 10; i++) {
new Thread(() -> {
for (int s = 0; s < 20000; s++) {
String snowFlakeId = SnowflakeIdWorker.getSnowflakeId();
@@ -229,7 +229,7 @@ public class SnowflakeIdWorker {
}
}).start();
}
Thread.sleep(3000);
// Thread.sleep(3000);
log.info("map.size():{}", map.size());
log.info("耗时:" + (System.currentTimeMillis() - beginTime));
}