|
@@ -12,7 +12,8 @@ from django.views import View
|
|
from Controller.DetectController import DetectControllerView
|
|
from Controller.DetectController import DetectControllerView
|
|
from Controller.DeviceConfirmRegion import Device_Region
|
|
from Controller.DeviceConfirmRegion import Device_Region
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, CompanyModel, RegionModel, \
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, CompanyModel, RegionModel, \
|
|
- CountryModel, UIDModel, Device_Info, iotdeviceInfoModel, UidPushModel, LogModel, MacModel, UidSetModel
|
|
|
|
|
|
+ CountryModel, UIDModel, Device_Info, iotdeviceInfoModel, UidPushModel, LogModel, MacModel, UidSetModel, UID_Bucket, \
|
|
|
|
+ Unused_Uid_Meal, Order_Model, StsCrdModel, VodHlsModel, ExperienceContextModel
|
|
from Object.RedisObject import RedisObject
|
|
from Object.RedisObject import RedisObject
|
|
from Object.uidManageResponseObject import uidManageResponseObject
|
|
from Object.uidManageResponseObject import uidManageResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
@@ -151,13 +152,6 @@ class SerialNumberView(View):
|
|
if serial_number[9:10]:
|
|
if serial_number[9:10]:
|
|
p2p_type = serial_number[9:10]
|
|
p2p_type = serial_number[9:10]
|
|
|
|
|
|
- # redis加锁,防止同一个序列号重复绑定
|
|
|
|
- redisObj = RedisObject()
|
|
|
|
- isLock = redisObj.CONN.setnx(serial + 'do_attach_uid', 1)
|
|
|
|
- redisObj.CONN.expire(serial + 'do_attach_uid', 60)
|
|
|
|
- if not isLock:
|
|
|
|
- return response.json(5)
|
|
|
|
-
|
|
|
|
try:
|
|
try:
|
|
if not country_id:
|
|
if not country_id:
|
|
# 设备模拟国外环境测试
|
|
# 设备模拟国外环境测试
|
|
@@ -180,6 +174,13 @@ class SerialNumberView(View):
|
|
if company_serial.status == 0: # 该序列号未绑定企业
|
|
if company_serial.status == 0: # 该序列号未绑定企业
|
|
return response.json(173)
|
|
return response.json(173)
|
|
elif company_serial.status == 1: # 绑定uid
|
|
elif company_serial.status == 1: # 绑定uid
|
|
|
|
+ # redis加锁,防止同一个序列号重复绑定
|
|
|
|
+ key = serial + 'do_attach_uid'
|
|
|
|
+ redisObj = RedisObject()
|
|
|
|
+ isLock = redisObj.CONN.setnx(key, 1)
|
|
|
|
+ redisObj.CONN.expire(key, 60)
|
|
|
|
+ if not isLock:
|
|
|
|
+ return response.json(5)
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
count = 0
|
|
count = 0
|
|
while count < 3:
|
|
while count < 3:
|
|
@@ -244,6 +245,7 @@ class SerialNumberView(View):
|
|
assert update_success
|
|
assert update_success
|
|
except AssertionError:
|
|
except AssertionError:
|
|
return response.json(378)
|
|
return response.json(378)
|
|
|
|
+ redisObj.del_data(key=key)
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
return response.json(5)
|
|
return response.json(5)
|
|
elif company_serial.status == 2: # 返回uid
|
|
elif company_serial.status == 2: # 返回uid
|
|
@@ -335,6 +337,13 @@ class SerialNumberView(View):
|
|
Device_Info.objects.filter(UID=uid).delete()
|
|
Device_Info.objects.filter(UID=uid).delete()
|
|
UidSetModel.objects.filter(uid=uid).delete()
|
|
UidSetModel.objects.filter(uid=uid).delete()
|
|
iotdeviceInfoModel.objects.filter(serial_number=serial).delete()
|
|
iotdeviceInfoModel.objects.filter(serial_number=serial).delete()
|
|
|
|
+ # 重置设备云存
|
|
|
|
+ UID_Bucket.objects.filter(uid=uid).delete()
|
|
|
|
+ Unused_Uid_Meal.objects.filter(uid=uid).delete()
|
|
|
|
+ Order_Model.objects.filter(UID=uid).delete()
|
|
|
|
+ StsCrdModel.objects.filter(uid=uid).delete()
|
|
|
|
+ VodHlsModel.objects.filter(uid=uid).delete()
|
|
|
|
+ ExperienceContextModel.objects.filter(uid=uid).delete()
|
|
|
|
|
|
# 修改其他数据库的序列号使用状态为已使用
|
|
# 修改其他数据库的序列号使用状态为已使用
|
|
update_success = self.update_serial_status(serial=serial, status=1)
|
|
update_success = self.update_serial_status(serial=serial, status=1)
|