|
@@ -12,7 +12,7 @@ from django.views import View
|
|
|
from Controller.DetectController import DetectControllerView
|
|
|
from Controller.DeviceConfirmRegion import Device_Region
|
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, CompanyModel, RegionModel, \
|
|
|
- CountryModel, UIDModel, Device_Info, iotdeviceInfoModel, UidPushModel, LogModel, MacModel
|
|
|
+ CountryModel, UIDModel, Device_Info, iotdeviceInfoModel, UidPushModel, LogModel, MacModel, UidSetModel
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.uidManageResponseObject import uidManageResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -306,6 +306,14 @@ class SerialNumberView(View):
|
|
|
|
|
|
now_time = int(time.time())
|
|
|
serial = serial_number[0:6]
|
|
|
+ company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial).values('status')
|
|
|
+ if not company_serial_qs.exists():
|
|
|
+ return response.json(379)
|
|
|
+ status = company_serial_qs[0]['status']
|
|
|
+ if status == 1:
|
|
|
+ return response.json(0, {'success': '序列号未绑定uid'})
|
|
|
+ elif status == 3:
|
|
|
+ return response.json(10043)
|
|
|
uid_serial_qs = UIDCompanySerialModel.objects.filter(company_serial__serial_number=serial)
|
|
|
if not uid_serial_qs.exists():
|
|
|
return response.json(173)
|
|
@@ -313,35 +321,19 @@ class SerialNumberView(View):
|
|
|
|
|
|
try:
|
|
|
with transaction.atomic():
|
|
|
- # 删除iot设备信息表数据
|
|
|
- iot = iotdeviceInfoModel.objects.filter(serial_number=serial)
|
|
|
- if iot.exists():
|
|
|
- iot.delete()
|
|
|
-
|
|
|
uid = uid_serial.uid.uid
|
|
|
- company_serial_qs = CompanySerialModel.objects.filter(id=uid_serial.company_serial.id)
|
|
|
- if company_serial_qs.exists():
|
|
|
- company_serial = company_serial_qs[0]
|
|
|
- company_serial.status = 1
|
|
|
- company_serial.save()
|
|
|
- dv_qs = Device_Info.objects.filter(UID=uid)
|
|
|
- if dv_qs.exists():
|
|
|
- # 删除设备
|
|
|
- dv_qs.delete()
|
|
|
- # 删除设备影子信息uid_set 外键关联删除设备推送配置信息 uid_push
|
|
|
- up_qs = UidPushModel.objects.filter(uid_set__uid=uid)
|
|
|
- # DetectControllerView().do_delete_redis(uid)
|
|
|
- if up_qs.count() > 1:
|
|
|
- UidPushModel.objects.filter(uid_set__uid=uid).delete()
|
|
|
- else:
|
|
|
- up_qs.delete()
|
|
|
-
|
|
|
- # 修改其他数据库的序列号使用状态为已使用
|
|
|
- update_success = self.update_serial_status(serial=serial, status=1)
|
|
|
- try:
|
|
|
- assert update_success
|
|
|
- except AssertionError:
|
|
|
- return response.json(378)
|
|
|
+ company_serial_qs.update(status=1) # 更新序列号状态
|
|
|
+ # 删除设备相关数据
|
|
|
+ Device_Info.objects.filter(UID=uid).delete()
|
|
|
+ UidSetModel.objects.filter(uid=uid).delete()
|
|
|
+ iotdeviceInfoModel.objects.filter(serial_number=serial).delete()
|
|
|
+
|
|
|
+ # 修改其他数据库的序列号使用状态为已使用
|
|
|
+ update_success = self.update_serial_status(serial=serial, status=1)
|
|
|
+ try:
|
|
|
+ assert update_success
|
|
|
+ except AssertionError:
|
|
|
+ return response.json(378)
|
|
|
|
|
|
UIDModel.objects.filter(uid=uid).update(status=0, mac='') # 重置uid的使用状态为未分配
|
|
|
uid_serial.delete()
|
|
@@ -414,7 +406,7 @@ class SerialNumberView(View):
|
|
|
if update:
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
- return response.json(176)
|
|
|
+ return response.json(378)
|
|
|
except Exception as e:
|
|
|
djangoLogger = logging.getLogger('django')
|
|
|
djangoLogger.exception(repr(e))
|