Procházet zdrojové kódy

根据event_type查询温湿度数据

locky před 3 roky
rodič
revize
649168f1c5
1 změnil soubory, kde provedl 9 přidání a 4 odebrání
  1. 9 4
      Controller/SensorGateway/SubDeviceController.py

+ 9 - 4
Controller/SensorGateway/SubDeviceController.py

@@ -1,9 +1,8 @@
 # -*- coding: utf-8 -*-
 """
+@Author : Joker
 @Time : 2022/5/25 15:17
-@Auth : Locky
 @File :SubDeviceController.py
-@IDE :PyCharm
 """
 import time
 from collections import OrderedDict
@@ -191,7 +190,7 @@ class GatewaySubDeviceView(View):
         sub_device_id = request_dict.get('gatewaySubId', None)
         cycle = request_dict.get('cycle', None)
         if not all([sub_device_id]):
-            return response.json(444)
+            return response.json(444, {'error param': 'gatewaySubId'})
         now_time = int(time.time())
         try:
             if not cycle:
@@ -200,7 +199,7 @@ class GatewaySubDeviceView(View):
                 start_time = request_dict.get('startTime', None)
                 end_time = request_dict.get('endTime', None)
                 if not all([page, size]):
-                    return response.json(444)
+                    return response.json(444, {'error param': 'page or size'})
                 page, size = int(page), int(size)
 
                 if start_time and end_time:
@@ -216,11 +215,15 @@ class GatewaySubDeviceView(View):
                     return response.json(0)
                 return response.json(0, list(sensor_record_qs))
             else:
+                event_type = int(request_dict.get('eventType', None))
+                if not event_type:
+                    return response.json(444, {'error param': 'eventType'})
                 record_dict = OrderedDict()
                 record_list = []
                 if cycle == 'Hours':
                     start_time = now_time - 24 * 60 * 60
                     sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
+                                                                   event_type=event_type,
                                                                    created_time__range=(start_time, now_time)). \
                         values('alarm', 'created_time').order_by('created_time')
                     if not sensor_record_qs.exists():
@@ -242,6 +245,7 @@ class GatewaySubDeviceView(View):
                 elif cycle == 'Week':
                     start_time = now_time - 24 * 60 * 60 * 7
                     sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
+                                                                   event_type=event_type,
                                                                    created_time__range=(start_time, now_time)). \
                         values('alarm', 'created_time').order_by('created_time')
                     if not sensor_record_qs.exists():
@@ -260,6 +264,7 @@ class GatewaySubDeviceView(View):
                 elif cycle == 'Month':
                     start_time = now_time - 24 * 60 * 60 * 30
                     sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
+                                                                   event_type=event_type,
                                                                    created_time__range=(start_time, now_time)). \
                         values('alarm', 'created_time').order_by('created_time')
                     if not sensor_record_qs.exists():