Showing
1 changed file
with
14 additions
and
10 deletions
... | ... | @@ -455,18 +455,22 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev |
455 | 455 | |
456 | 456 | @Override |
457 | 457 | public String generateSn() { |
458 | - StringBuilder snBuilder = new StringBuilder(); | |
459 | - for (int i = 0; i < 2; i++) { | |
460 | - // 生成uuid的hashCode值 | |
461 | - int hashCode = UUID.randomUUID().toString().hashCode(); | |
462 | - // 可能为负数 | |
463 | - if (hashCode < 0) { | |
464 | - hashCode = -hashCode; | |
458 | + //随机生成16位字符+数字 | |
459 | + String val = ""; | |
460 | + Random random = new Random(); | |
461 | + for(int i = 0; i < 16; i++) { | |
462 | + | |
463 | + String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; | |
464 | + //输出字母还是数字 | |
465 | + if( "char".equalsIgnoreCase(charOrNum) ) { | |
466 | + //输出是大写字母还是小写字母 | |
467 | + int temp = random.nextInt(2) % 2 == 0 ? 65 : 97; | |
468 | + val += (char)(random.nextInt(26) + temp); | |
469 | + } else if( "num".equalsIgnoreCase(charOrNum) ) { | |
470 | + val += String.valueOf(random.nextInt(10)); | |
465 | 471 | } |
466 | - snBuilder.append(hashCode); | |
467 | 472 | } |
468 | - | |
469 | - return snBuilder.substring(0, 16); | |
473 | + return val; | |
470 | 474 | } |
471 | 475 | |
472 | 476 | @Override | ... | ... |