Showing
1 changed file
with
14 additions
and
10 deletions
@@ -455,18 +455,22 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev | @@ -455,18 +455,22 @@ public class TkDeviceServiceImpl extends AbstractBaseService<DeviceMapper, TkDev | ||
455 | 455 | ||
456 | @Override | 456 | @Override |
457 | public String generateSn() { | 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 | @Override | 476 | @Override |