Преглед на файлове

使用有序字典排序

locky преди 3 години
родител
ревизия
e804b116a3
променени са 1 файла, в които са добавени 15 реда и са изтрити 5 реда
  1. 15 5
      Controller/SensorGateway/SubDeviceController.py

+ 15 - 5
Controller/SensorGateway/SubDeviceController.py

@@ -6,6 +6,7 @@
 @IDE :PyCharm
 """
 import time
+from collections import OrderedDict
 
 from django.db import transaction
 from django.views import View
@@ -196,19 +197,28 @@ class GatewaySubDeviceView(View):
             if not cycle:
                 page = request_dict.get('page', None)
                 size = request_dict.get('size', None)
+                start_time = request_dict.get('startTime', None)
+                end_time = request_dict.get('endTime', None)
                 if not all([page, size]):
                     return response.json(444)
                 page, size = int(page), int(size)
-                sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id). \
-                                       values('alarm', 'created_time').order_by('-created_time')[
-                                   (page - 1) * size:page * size]
+
+                if start_time and end_time:
+                    sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
+                                                                   created_time__range=(start_time, end_time)). \
+                                           values('alarm', 'created_time').order_by('-created_time')[
+                                       (page - 1) * size:page * size]
+                else:
+                    sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id). \
+                                           values('alarm', 'created_time').order_by('-created_time')[
+                                       (page - 1) * size:page * size]
                 if not sensor_record_qs.exists():
                     return response.json(0)
                 return response.json(0, list(sensor_record_qs))
             else:
-                record_dict = {}
+                record_dict = OrderedDict()
                 record_list = []
-                if cycle == '24 hours':
+                if cycle == 'Hours':
                     start_time = now_time - 24 * 60 * 60
                     sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
                                                                    created_time__range=(start_time, now_time)). \