|
@@ -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():
|