Browse Source

优化查询插座日志

guanhailong 2 years ago
parent
commit
0e6d9604d0
1 changed files with 14 additions and 13 deletions
  1. 14 13
      Controller/SensorGateway/SmartSocketController.py

+ 14 - 13
Controller/SensorGateway/SmartSocketController.py

@@ -512,20 +512,21 @@ class SmartSocketView(View):
         if not all([page, size, serial_number]):
         if not all([page, size, serial_number]):
             return response.json(444, {'errno: page or size or serial_number'})
             return response.json(444, {'errno: page or size or serial_number'})
         page, size = int(page), int(size)
         page, size = int(page), int(size)
-        if not startTime and endTime:
-            scene_log_qs = SceneLog.objects.filter(device_id=serial_number).values('tasks', 'status',
-                                                                                   'created_time').order_by(
-                '-created_time')[(page - 1) * size:page * size]
-            if not scene_log_qs.exists():
-                return response.json(173)
-        else:
-            scene_log_qs = SceneLog.objects.filter(device_id=serial_number, created_time__gte=startTime,
-                                                   created_time__lt=endTime).values('tasks', 'status',
-                                                                                    'created_time').order_by(
-                '-created_time')[(page - 1) * size:page * size]
-            if not scene_log_qs.exists():
-                return response.json(0, [])
+
         try:
         try:
+            if startTime is None and endTime is None:
+                scene_log_qs = SceneLog.objects.filter(device_id=serial_number).values('tasks', 'status',
+                                                                                       'created_time').order_by(
+                    '-created_time')[(page - 1) * size:page * size]
+                if not scene_log_qs.exists():
+                    return response.json(173)
+            else:
+                scene_log_qs = SceneLog.objects.filter(device_id=serial_number, created_time__gte=startTime,
+                                                       created_time__lt=endTime).values('tasks', 'status',
+                                                                                        'created_time').order_by(
+                    '-created_time')[(page - 1) * size:page * size]
+                if not scene_log_qs.exists():
+                    return response.json(0, [])
             log_list = []
             log_list = []
             for scene_log in scene_log_qs:
             for scene_log in scene_log_qs:
                 data = {
                 data = {