时间戳生成id
for (int i = 0; i < 10; i++) {
String bizNo = IdUtils.getIncreaseIdByNanoTime();
if (StringUtils.isBlank(invoiceInfoMapper.selectByBizNo(bizNo))) {
invoiceInfo.setBizNo(bizNo);
break;
}
}
public class IdUtils {
/**
* 以毫微秒做基础计数, 返回唯一有序增长ID
*
* @return ID长度24位
*/
public static String getIncreaseIdByNanoTime() {
return String.valueOf(System.nanoTime()) + //时间戳-14位
Thread.currentThread().hashCode() % 1000 + //3位线程标志
RandomStringUtils.randomNumeric(7); //随机7位数
}
}
//保存创建时间
Date.from(Instant.now())