Sfoglia il codice sorgente

修复分配序列号存在问题

locky 2 anni fa
parent
commit
cda017340d
1 ha cambiato i file con 41 aggiunte e 35 eliminazioni
  1. 41 35
      Controller/SerialNumberController.py

+ 41 - 35
Controller/SerialNumberController.py

@@ -40,6 +40,8 @@ class SerialNumberView(View):
             return self.do_create(request_dict, response)
         elif operation == 'getSerial':
             return self.do_get_serial_number(request_dict, request, response)
+        if operation == 'mac':
+            return self.generate_mac(response)
 
         token = request_dict.get('token', None)
         token = TokenObject(token)
@@ -135,41 +137,33 @@ class SerialNumberView(View):
 
         updates = []
         datas = []
-        count = 0
-        if sn_qs.exists():
-            sn_qs = sn_qs[0:quantity]
-            now_time = int(time.time())
-            for i in range(len(sn_qs)):
-                item = sn_qs[i]
-                serialNumberModel = SerialNumberModel(
-                    id=item.id,
-                    serial_number=item.serial_number,
-                    status=item.status,
-                    use_status=1,
-                    add_time=item.add_time
-                )
-                user_serial_number = UserSerialNumberModel()
-                user_serial_number.serial_number = serialNumberModel
-                user_serial_number.user = allot_user_qs[0]
-                user_serial_number.add_time = now_time
-                user_serial_number.update_time = now_time
-
-                datas.append(user_serial_number)
-                updates.append(serialNumberModel)
-
-                if len(updates) % 5000 == 0:
-                    bulk_update(updates)
-                    UserSerialNumberModel.objects.bulk_create(datas)
-
-            if len(updates) > 0:
-                bulk_update(updates)
-                UserSerialNumberModel.objects.bulk_create(datas)
-
-            del datas
-            del updates
-            return response.json(0)
-        else:
-            return response.json(444)
+        if not sn_qs.exists():
+            return response.json(173)
+        sn_qs = sn_qs[0:quantity]
+        now_time = int(time.time())
+        for i in range(len(sn_qs)):
+            item = sn_qs[i]
+            serialNumberModel = SerialNumberModel(
+                id=item.id,
+                serial_number=item.serial_number,
+                status=item.status,
+                use_status=1,
+                add_time=item.add_time
+            )
+            user_serial_number = UserSerialNumberModel()
+            user_serial_number.serial_number = serialNumberModel
+            user_serial_number.user = allot_user_qs[0]
+            user_serial_number.add_time = now_time
+            user_serial_number.update_time = now_time
+
+            datas.append(user_serial_number)
+            updates.append(serialNumberModel)
+
+        if len(updates) > 0:
+            bulk_update(updates)
+            UserSerialNumberModel.objects.bulk_create(datas)
+
+        return response.json(0)
 
     # 提供给pc端获取序列号
     def do_get_serial_number(self, request_dict, request, response):
@@ -284,3 +278,15 @@ class SerialNumberView(View):
             redisObj.del_data(key=serial_operate_lock_key)  # redis解锁
             return response.json(500, repr(e))
 
+    @staticmethod
+    def generate_mac(response):
+        mac_qs = MacModel.objects.filter().values('value')
+        mac = mac_qs[0]['value']
+        with open('mac.txt', 'w') as f:
+            f.write(mac + '\n')
+            for i in range(9999):
+                mac = CommonService.updateMac(mac)
+                f.write(mac + '\n')
+            mac = CommonService.updateMac(mac)
+            mac_qs.update(value=mac)
+        return response.json(0)