|
@@ -178,27 +178,17 @@ class GatewayDeviceView(View):
|
|
|
if device_id:
|
|
|
device_qs = Device_Info.objects.filter(id=device_id)
|
|
|
if device_qs.exists():
|
|
|
- family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
- if family_device_qs.exists():
|
|
|
- family_device_qs.delete()
|
|
|
- uid_set_qs = UidSetModel.objects.filter(uid=device_qs.first().UID)
|
|
|
- if uid_set_qs.exists():
|
|
|
- uid_set_qs.delete()
|
|
|
+ FamilyRoomDevice.objects.filter(device_id=device_id).delete()
|
|
|
+ UidSetModel.objects.filter(uid=device_qs.first().UID).delete()
|
|
|
socket_info_qs = SocketInfo.objects.filter(device_id=device_id)
|
|
|
if socket_info_qs.exists():
|
|
|
# 设备在不在线, 都发布重置
|
|
|
serial_number = device_qs.first().serial_number
|
|
|
cls.reset_device(serial_number)
|
|
|
socket_info_qs.delete()
|
|
|
- socket_power_qs = SocketPowerStatistics.objects.filter(device_id=device_id)
|
|
|
- if socket_power_qs.exists():
|
|
|
- socket_power_qs.delete()
|
|
|
- socket_schedule_qs = SocketSchedule.objects.filter(device_id=device_id)
|
|
|
- if socket_schedule_qs.exists():
|
|
|
- socket_schedule_qs.delete()
|
|
|
- scene_log_qs = SceneLog.objects.filter(device_id=serial_number)
|
|
|
- if scene_log_qs.exists():
|
|
|
- scene_log_qs.delete()
|
|
|
+ SocketPowerStatistics.objects.filter(device_id=device_id).delete()
|
|
|
+ SocketSchedule.objects.filter(device_id=device_id).delete()
|
|
|
+ SceneLog.objects.filter(device_id=serial_number).delete()
|
|
|
SmartSocketView.delete_alexa_socket(serial_number)
|
|
|
|
|
|
# 如果有子设备,删除子设备和关联的场景数据
|
|
@@ -227,22 +217,14 @@ class GatewayDeviceView(View):
|
|
|
time.sleep(0.3)
|
|
|
smart_scene_qs.delete()
|
|
|
gateway_qs.delete() # 删除子设备
|
|
|
- scene_log_qs = SceneLog.objects.filter(device_id=device_id)
|
|
|
- if scene_log_qs.exists():
|
|
|
- scene_log_qs.delete()
|
|
|
+ SceneLog.objects.filter(device_id=device_id).delete()
|
|
|
device_qs.delete()
|
|
|
elif sub_ids:
|
|
|
- sub_ids = sub_ids.split(',')
|
|
|
- sub_id_list = []
|
|
|
- for sub_id in sub_ids:
|
|
|
- sub_id_list.append(int(sub_id))
|
|
|
+ sub_id_list = list(map(int, sub_ids.split(',')))
|
|
|
+ FamilyRoomDevice.objects.filter(sub_device__in=sub_id_list).delete()
|
|
|
+ GatewaySubDevice.objects.filter(id__in=sub_id_list).delete()
|
|
|
|
|
|
- family_device_qs = FamilyRoomDevice.objects.filter(sub_device__in=sub_id_list)
|
|
|
- if family_device_qs.exists():
|
|
|
- family_device_qs.delete()
|
|
|
- gateway_sub_qs = GatewaySubDevice.objects.filter(id__in=sub_id_list)
|
|
|
- if gateway_sub_qs.exists():
|
|
|
- gateway_sub_qs.delete()
|
|
|
+ # 删除场景,下发MQTT通知设备
|
|
|
smart_scene_qs = SmartScene.objects.filter(sub_device_id__in=sub_id_list)
|
|
|
if smart_scene_qs.exists():
|
|
|
# 查询网关序列号,确定MQTT主题
|
|
@@ -265,9 +247,9 @@ class GatewayDeviceView(View):
|
|
|
return response.json(10044)
|
|
|
time.sleep(0.3)
|
|
|
smart_scene_qs.delete()
|
|
|
- scene_log_qs = SceneLog.objects.filter(sub_device_id__in=sub_id_list)
|
|
|
- if scene_log_qs.exists():
|
|
|
- scene_log_qs.delete()
|
|
|
+
|
|
|
+ SceneLog.objects.filter(sub_device_id__in=sub_id_list).delete()
|
|
|
+
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
print(e)
|