|
@@ -199,20 +199,9 @@ class SerialNumberView(View):
|
|
|
return response.json(5)
|
|
|
redisObj.CONN.expire(serial_operate_lock_key, 60)
|
|
|
|
|
|
- key = 'serial_lock'
|
|
|
- value = redisObj.lpop(key)
|
|
|
- count = 0
|
|
|
- while value is False and count < 5:
|
|
|
- time.sleep(1)
|
|
|
- value = redisObj.lpop(key)
|
|
|
- count += 1
|
|
|
-
|
|
|
- if count == 5 and value is False: # 暂时注释
|
|
|
- return response.json(5)
|
|
|
- userid = '3'
|
|
|
- user_qs = UserModel.objects.filter(id=userid)
|
|
|
+ user_qs = UserModel.objects.filter(id=3)
|
|
|
if not user_qs.exists():
|
|
|
- redisObj.rpush(key, value)
|
|
|
+ redisObj.del_data(key=serial_operate_lock_key) # redis解锁
|
|
|
return response.json(9)
|
|
|
|
|
|
user = user_qs[0]
|
|
@@ -234,12 +223,11 @@ class SerialNumberView(View):
|
|
|
sns.append(cs['serial_number'])
|
|
|
mark = cs_qs[0]['company__mark']
|
|
|
|
|
|
- sn_qs = SerialNumberModel.objects.filter(serial_number__in=sns)
|
|
|
- if not sn_qs.exists():
|
|
|
- return response.json(444, '序列号不足')
|
|
|
+ # 判断是否还有可用的序列号
|
|
|
count = result['num']
|
|
|
- if count < quantity:
|
|
|
- redisObj.rpush(key, value)
|
|
|
+ sn_qs = SerialNumberModel.objects.filter(serial_number__in=sns)
|
|
|
+ if not sn_qs.exists() or count < quantity:
|
|
|
+ redisObj.del_data(key=serial_operate_lock_key) # redis解锁
|
|
|
return response.json(444, '序列号不足')
|
|
|
|
|
|
try:
|
|
@@ -291,8 +279,8 @@ class SerialNumberView(View):
|
|
|
}
|
|
|
LogModel.objects.create(**log)
|
|
|
redisObj.del_data(key=serial_operate_lock_key) # redis解锁
|
|
|
- redisObj.rpush(key, value)
|
|
|
return response.json(0, {'serial_number': serial_number + mark, 'mac': mac})
|
|
|
except Exception as e:
|
|
|
+ redisObj.del_data(key=serial_operate_lock_key) # redis解锁
|
|
|
return response.json(500, repr(e))
|
|
|
|