|
|
@@ -42,33 +42,36 @@ public class CreateNumberServiceImpl implements CreateNumberService {
|
|
|
synchronized (tbname) {
|
|
|
// 1、找有没有用存这个表的
|
|
|
String timeNumber = "";
|
|
|
- while (getDataFromRedis(tbname) == null) {
|
|
|
- setDataToRedis(tbname);
|
|
|
- String time = getTime();
|
|
|
- int num;
|
|
|
- CreateNumber createNumber = createNumberDao.findByTbname(tbname);
|
|
|
- if (createNumber == null) {
|
|
|
- createNumber = new CreateNumber();
|
|
|
- createNumber.setTbname(tbname);
|
|
|
- createNumber.setTime(time);
|
|
|
- num = 1;
|
|
|
- } else {
|
|
|
- // 2、检查时间是不是今天
|
|
|
- if (time.equals(createNumber.getTime())) {
|
|
|
- num = createNumber.getNumber() + 1;
|
|
|
- } else {
|
|
|
- num = 1;
|
|
|
+ while (true) {
|
|
|
+ if (getDataFromRedis(tbname) == null) {
|
|
|
+ setDataToRedis(tbname);
|
|
|
+ String time = getTime();
|
|
|
+ int num;
|
|
|
+ CreateNumber createNumber = createNumberDao.findByTbname(tbname);
|
|
|
+ if (createNumber == null) {
|
|
|
+ createNumber = new CreateNumber();
|
|
|
+ createNumber.setTbname(tbname);
|
|
|
createNumber.setTime(time);
|
|
|
+ num = 1;
|
|
|
+ } else {
|
|
|
+ // 2、检查时间是不是今天
|
|
|
+ if (time.equals(createNumber.getTime())) {
|
|
|
+ num = createNumber.getNumber() + 1;
|
|
|
+ } else {
|
|
|
+ num = 1;
|
|
|
+ createNumber.setTime(time);
|
|
|
+ }
|
|
|
}
|
|
|
+ if (addNums.length > 0) {
|
|
|
+ createNumber.setNumber(num + addNums[0] - 1);
|
|
|
+ } else {
|
|
|
+ createNumber.setNumber(num);
|
|
|
+ }
|
|
|
+ createNumberDao.save(createNumber);
|
|
|
+ redisTemplate.delete(tbname);
|
|
|
+ timeNumber = createNumber.getTime() + formatIntToStr(num, digit);
|
|
|
+ break;
|
|
|
}
|
|
|
- if (addNums.length > 0) {
|
|
|
- createNumber.setNumber(num + addNums[0] - 1);
|
|
|
- } else {
|
|
|
- createNumber.setNumber(num);
|
|
|
- }
|
|
|
- createNumberDao.save(createNumber);
|
|
|
- redisTemplate.delete(tbname);
|
|
|
- timeNumber = createNumber.getTime() + formatIntToStr(num, digit);
|
|
|
}
|
|
|
|
|
|
return timeNumber;
|