|
@@ -210,30 +210,29 @@ class GatewaySubDeviceView(View):
|
|
|
return response.json(444, {'error param': 'gatewaySubId or cycle or eventType'})
|
|
|
now_time = int(time.time())
|
|
|
try:
|
|
|
- record_dict = cls.get_record_dict(cycle, now_time, sub_device_id, event_type, response)
|
|
|
- except Exception as e:
|
|
|
- return response.json(500, repr(e))
|
|
|
- else:
|
|
|
- # 组织响应数据列表,value为每 小时/天 的平均值
|
|
|
+ record_dict = cls.get_record_dict(cycle, now_time, sub_device_id, event_type)
|
|
|
record_list = []
|
|
|
- for k, v in record_dict.items():
|
|
|
- record_list.append({'key': k, 'value': round(sum(v) / len(v), 1)})
|
|
|
+ if record_dict:
|
|
|
+ # 组织响应数据列表,value为每 小时/天 的平均值
|
|
|
+ for k, v in record_dict.items():
|
|
|
+ record_list.append({'key': k, 'value': round(sum(v) / len(v), 1)})
|
|
|
|
|
|
res = {
|
|
|
'records': record_list,
|
|
|
'time': now_time
|
|
|
}
|
|
|
return response.json(0, res)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
|
|
@staticmethod
|
|
|
- def get_record_dict(cycle, now_time, sub_device_id, event_type, response):
|
|
|
+ def get_record_dict(cycle, now_time, sub_device_id, event_type):
|
|
|
"""
|
|
|
获取记录数据
|
|
|
@param cycle: 时间周期
|
|
|
@param now_time: 当前时间
|
|
|
@param sub_device_id: 子设备id
|
|
|
@param event_type: 事件类型, 18:温度,19:湿度
|
|
|
- @param response: 响应对象
|
|
|
@return: record_dict: 记录数据
|
|
|
"""
|
|
|
record_dict = OrderedDict()
|
|
@@ -244,7 +243,7 @@ class GatewaySubDeviceView(View):
|
|
|
created_time__range=(start_time, now_time)). \
|
|
|
values('alarm', 'created_time').order_by('created_time')
|
|
|
if not sensor_record_qs.exists():
|
|
|
- return response.json(0, {'records': [], 'time': now_time})
|
|
|
+ return []
|
|
|
|
|
|
for sensor_record in sensor_record_qs:
|
|
|
created_time = time.strftime('%m/%d %H:%M %w', time.localtime(sensor_record['created_time']))
|
|
@@ -266,7 +265,7 @@ class GatewaySubDeviceView(View):
|
|
|
created_time__range=(start_time, now_time)). \
|
|
|
values('alarm', 'created_time').order_by('created_time')
|
|
|
if not sensor_record_qs.exists():
|
|
|
- return response.json(0, {'records': [], 'time': now_time})
|
|
|
+ return []
|
|
|
|
|
|
for sensor_record in sensor_record_qs:
|
|
|
created_time = time.strftime('%m/%d %H:%M %w', time.localtime(sensor_record['created_time']))
|
|
@@ -285,7 +284,7 @@ class GatewaySubDeviceView(View):
|
|
|
created_time__range=(start_time, now_time)). \
|
|
|
values('alarm', 'created_time').order_by('created_time')
|
|
|
if not sensor_record_qs.exists():
|
|
|
- return response.json(0, {'records': [], 'time': now_time})
|
|
|
+ return []
|
|
|
|
|
|
for sensor_record in sensor_record_qs:
|
|
|
created_time = time.strftime('%m/%d %H:%M %w', time.localtime(sensor_record['created_time']))
|
|
@@ -299,9 +298,6 @@ class GatewaySubDeviceView(View):
|
|
|
else:
|
|
|
record_dict[date] = [alarm]
|
|
|
|
|
|
- else:
|
|
|
- return response.json(444, {'invalid cycle': cycle})
|
|
|
-
|
|
|
return record_dict
|
|
|
|
|
|
@staticmethod
|