Эх сурвалжийг харах

修复查询网关日志问题

peng 2 жил өмнө
parent
commit
fd87cfdbe9

+ 6 - 5
Controller/SensorGateway/SmartSceneController.py

@@ -342,7 +342,7 @@ class SmartSceneView(View):
                         task_temp['duration'] = task.get('duration')
                         task_temp['value_type'] = task.get('value_type')
                     task_list.append(task_temp)
-                    
+
                 msg['task'] = task_list
 
                 smart_scene_qs.device_data = json.dumps(msg)
@@ -810,17 +810,18 @@ class SmartSceneView(View):
                 if device['sub_device']:
                     sub_device_list.append(device['sub_device'])
         elif sub_device_id:  # 查询子设备
-            family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, sub_device=sub_device_id)
+            family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id,
+                                                                    sub_device=sub_device_id).values('device_id')
+            for device in family_room_device_qs:
+                device_list.append(device['device_id'])
             sub_device_list.append(sub_device_id)
         else:  # 查询网关
             family_room_device_qs = FamilyRoomDevice.objects.filter(Q(family_id=family_id) & Q(device=device_id) &
-                                                                    Q(sub_device=0)).values(
+                                                                    ~Q(sub_device=0)).values(
                 'sub_device')
             device_list.append(device_id)
             for device in family_room_device_qs:
                 sub_device_list.append(device['sub_device'])
-        if not family_room_device_qs.exists():
-            return response.json(173)
         try:
             page, size = int(page), int(size)
             scene_log_qs = SceneLog.objects.filter(Q(device_id__in=device_list) | Q(sub_device_id__in=sub_device_list))