|
@@ -766,8 +766,8 @@ class SmartSceneView(View):
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
|
|
- @staticmethod
|
|
|
|
- def delete_smart_scene(request_dict, response):
|
|
|
|
|
|
+ @classmethod
|
|
|
|
+ def delete_smart_scene(cls, request_dict, response):
|
|
"""
|
|
"""
|
|
删除智能场景
|
|
删除智能场景
|
|
@param request_dict: 请求参数
|
|
@param request_dict: 请求参数
|
|
@@ -792,7 +792,17 @@ class SmartSceneView(View):
|
|
values('device__serial_number')[0]['device__serial_number']
|
|
values('device__serial_number')[0]['device__serial_number']
|
|
topic_name = SMART_SCENE_TOPIC.format(serial_number)
|
|
topic_name = SMART_SCENE_TOPIC.format(serial_number)
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
- SmartScene.objects.filter(id__in=smart_scene_id_list).delete()
|
|
|
|
|
|
+ smart_scene_qs = SmartScene.objects.filter(id__in=smart_scene_id_list).values('scene_data')
|
|
|
|
+
|
|
|
|
+ # 删除定时任务
|
|
|
|
+ for smart_scene in smart_scene_qs:
|
|
|
|
+ scene_data = smart_scene['scene_data']
|
|
|
|
+ if scene_data:
|
|
|
|
+ scene_data_dict = eval(scene_data)
|
|
|
|
+ cls.del_aps_job(scene_data_dict)
|
|
|
|
+
|
|
|
|
+ smart_scene_qs.delete()
|
|
|
|
+
|
|
for smart_scene_id in smart_scene_id_list:
|
|
for smart_scene_id in smart_scene_id_list:
|
|
# 通知设备删除场景id
|
|
# 通知设备删除场景id
|
|
msg = {
|
|
msg = {
|