Quellcode durchsuchen

完善查询智能场景详情

locky vor 3 Jahren
Ursprung
Commit
acc3533166
1 geänderte Dateien mit 11 neuen und 5 gelöschten Zeilen
  1. 11 5
      Controller/SensorGateway/SmartSceneController.py

+ 11 - 5
Controller/SensorGateway/SmartSceneController.py

@@ -167,9 +167,9 @@ class SmartSceneView(View):
                     smart_scene_dict['effective_time_id'] = effective_time_id
                     SmartScene.objects.create(**smart_scene_dict)
                 else:
-                    start_time = request_dict.get('startTime', None)
-                    end_time = request_dict.get('endTime', None)
-                    repeat = request_dict.get('repeat', None)
+                    start_time = int(request_dict.get('startTime', None))
+                    end_time = int(request_dict.get('endTime', None))
+                    repeat = int(request_dict.get('repeat', None))
                     if not all([start_time, end_time, repeat]):
                         return response.json(444, {'error param': 'startTime and endTime and repeat'})
                     effective_time_qs = EffectiveTime.objects.filter(start_time=start_time, end_time=end_time,
@@ -257,8 +257,14 @@ class SmartSceneView(View):
                 'condition': eval(smart_scene_qs[0]['conditions']),
                 'task': eval(smart_scene_qs[0]['tasks']),
             }
-            effective_time_qs = EffectiveTime.objects.get(id=smart_scene_qs[0]['effective_time_id'])
-            if effective_time_qs.is_all_day:
+
+            # 如果存在关联的时间数据,组织时间数据
+            try:
+                effective_time_qs = EffectiveTime.objects.get(id=smart_scene_qs[0]['effective_time_id'])
+            except ObjectDoesNotExist:
+                return response.json(0, res)
+
+            if effective_time_qs.is_all_day:    # 全天
                 time_dict = {'all_day': 1}
             else:
                 time_dict = {