Browse Source

UID管理系统-序列号管理-生成序列号:序列号随机数问题

lhq 4 năm trước cách đây
mục cha
commit
0560ceb218
1 tập tin đã thay đổi với 8 bổ sung24 xóa
  1. 8 24
      Controller/SerialNumberController.py

+ 8 - 24
Controller/SerialNumberController.py

@@ -68,38 +68,22 @@ class SerialNumberView(View):
         tmp = []
         algorithm = AlgorithmBaseOn35()
 
-        sum = SerialNumberModel.objects.count()
-
         for i in range(quantity):
+            sum = SerialNumberModel.objects.last().id + 1
             serial_number = algorithm.getLetter(sum)
             tmp_len = 6 - len(serial_number)
             # 前面补0
             for j in range(tmp_len):
                 serial_number = '0' + serial_number
-
-            tmp.append(serial_number)
-            sum += 1
-
-        # 把序列号的顺序打乱
-        random.shuffle(tmp)
-
-        data = []
-        now_time = int(time.time())
-        for item in tmp:
-            data.append(SerialNumberModel(serial_number=item, add_time=now_time, p2p=p2p))
-
-            if len(data) == 10000:
-                SerialNumberModel.objects.bulk_create(data)
-                data.clear()
-
-        if len(data) > 0:
+            data = []
+            now_time = int(time.time())
+            data.append(SerialNumberModel(serial_number=serial_number, add_time=now_time, p2p=p2p))
             SerialNumberModel.objects.bulk_create(data)
             data.clear()
-        start_time = time.strftime('%Y-%m-%d %H:%M:%S')
-        print('start create ' + start_time)
-
-        redis = RedisObject()
-        redis.del_data(key='serial_number_count')
+            start_time = time.strftime('%Y-%m-%d %H:%M:%S')
+            print('start create ' + start_time)
+            redis = RedisObject()
+            redis.del_data(key='serial_number_count')
         return response.json(0)
 
     # 提供给pc端获取序列号