|
@@ -237,6 +237,14 @@ class SerialNumberView(View):
|
|
|
save_point = transaction.savepoint() # 设置事务保存点
|
|
|
try:
|
|
|
if sn_qs.exists():
|
|
|
+ sn_qs = sn_qs[0: quantity]
|
|
|
+ serial_number = sn_qs[0].serial_number
|
|
|
+ # 防止重复获取序列号
|
|
|
+ is_lock = redisObject.CONN.setnx(serial_number + 'serial_number_lock', 1)
|
|
|
+ redisObject.CONN.expire(serial_number + 'serial_number_lock', 60)
|
|
|
+ if not is_lock:
|
|
|
+ return response.json(5)
|
|
|
+
|
|
|
if not mac: # 不传入则分配mac
|
|
|
mac_qs = MacModel.objects.filter().values('id', 'value', 'is_active')[0]
|
|
|
if not mac_qs['is_active']:
|
|
@@ -248,8 +256,8 @@ class SerialNumberView(View):
|
|
|
MacModel.objects.filter().update(value=next_mac, update_time=now_time) # 更新mac表的mac地址值
|
|
|
else:
|
|
|
MacModel.objects.filter().update(is_active=False, update_time=now_time)
|
|
|
- sn_qs = sn_qs[0: quantity]
|
|
|
- serial_number = sn_qs[0].serial_number
|
|
|
+
|
|
|
+ # 更新序列号表数据
|
|
|
serialNumberModel = SerialNumberModel(
|
|
|
id=sn_qs[0].id,
|
|
|
serial_number=serial_number,
|