Commit d5c41a53c8ef357bd8720e9a15b35654287fdb57

Authored by xp.Huang
1 parent abef282c

fix: 修改sn生成随机规则

... ... @@ -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
... ...