|
@@ -7,9 +7,10 @@ import time
|
|
|
from django.db import transaction
|
|
|
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
|
|
|
+ CountryModel, UIDModel, Device_Info, iotdeviceInfoModel, UidPushModel
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.uidManageResponseObject import uidManageResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -188,16 +189,16 @@ class SerialNumberView(View):
|
|
|
|
|
|
if serial_number and len(serial_number) == 9 and company_id:
|
|
|
|
|
|
- # token = int(CommonService.decode_data(token))
|
|
|
- # time_stamp = int(time_stamp)
|
|
|
- #
|
|
|
- # now_time = int(time.time())
|
|
|
- # distance = now_time - time_stamp
|
|
|
- #
|
|
|
- # if token != time_stamp or distance > 60000 or distance < -60000: #为了全球化时间控制在一天内
|
|
|
- # return response.json(404)
|
|
|
- #
|
|
|
- # mark = serial_number[6:9]
|
|
|
+ token = int(CommonService.decode_data(token))
|
|
|
+ time_stamp = int(time_stamp)
|
|
|
+
|
|
|
+ now_time = int(time.time())
|
|
|
+ distance = now_time - time_stamp
|
|
|
+
|
|
|
+ if token != time_stamp or distance > 60000 or distance < -60000: #为了全球化时间控制在一天内
|
|
|
+ return response.json(404)
|
|
|
+
|
|
|
+ mark = serial_number[6:9]
|
|
|
serial = serial_number[0:6]
|
|
|
|
|
|
savePoint = transaction.savepoint()
|
|
@@ -350,8 +351,8 @@ class SerialNumberView(View):
|
|
|
if uid_serial_qs.exists():
|
|
|
uid_serial = uid_serial_qs[0]
|
|
|
|
|
|
- #iot = iotdeviceInfoModel.objects.filter(serial_number__serial_number=serial)
|
|
|
- iot = iotdeviceInfoModel.objects.filter(thing_name="Ansjer_Device_" + serial_number)
|
|
|
+ iot = iotdeviceInfoModel.objects.filter(serial_number=serial)
|
|
|
+ #iot = iotdeviceInfoModel.objects.filter(thing_name="Ansjer_Device_" + serial_number)
|
|
|
if iot.exists():
|
|
|
iot.delete()
|
|
|
|
|
@@ -360,6 +361,23 @@ class SerialNumberView(View):
|
|
|
company_serial = company_serial_qs[0]
|
|
|
company_serial.status = 1
|
|
|
company_serial.save()
|
|
|
+ mark = company_serial.company.mark
|
|
|
+ dv_qs = Device_Info.objects.filter(serial_number=serial_number + mark)
|
|
|
+ if dv_qs.exists():
|
|
|
+ # a.主用户删除设备
|
|
|
+ uid = dv_qs[0].UID
|
|
|
+ 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()
|
|
|
+ redisObj = RedisObject(db=6, SERVER_HOST='push.dvema.com')
|
|
|
+ ykey = '{uid}_redis_qs'.format(uid=uid)
|
|
|
+ if ykey:
|
|
|
+ redisObj.del_data(key=ykey)
|
|
|
+ else:
|
|
|
+ up_qs.delete()
|
|
|
|
|
|
uid_qs = UIDModel.objects.filter(uid=uid_serial.uid.uid)
|
|
|
if uid_qs.exists():
|
|
@@ -368,10 +386,7 @@ class SerialNumberView(View):
|
|
|
uid.save()
|
|
|
uid_serial.delete()
|
|
|
|
|
|
- dev = Device_Info.objects.filter(serial_number=serial_number)
|
|
|
- if dev.exists():
|
|
|
- dev.update(serial_number='')
|
|
|
- return response.json(0)
|
|
|
+
|
|
|
else:
|
|
|
return response.json(173)
|
|
|
else:
|