|
@@ -39,7 +39,7 @@ class GatewaySubDeviceView(View):
|
|
|
elif operation == 'query': # 查询子设备
|
|
|
return self.query(request_dict, user_id, response)
|
|
|
elif operation == 'update': # 更新子设备信息
|
|
|
- return self.sensor_update(user_id, request_dict, response)
|
|
|
+ return self.sensor_update(request_dict, response)
|
|
|
elif operation == 'delete': # 删除子设备
|
|
|
return self.delete(request_dict, user_id, response)
|
|
|
elif operation == 'records': # 查询子设备记录数据
|
|
@@ -127,10 +127,9 @@ class GatewaySubDeviceView(View):
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
@classmethod
|
|
|
- def sensor_update(cls, user_id, request_dict, response):
|
|
|
+ def sensor_update(cls, request_dict, response):
|
|
|
"""
|
|
|
传感器修改
|
|
|
- @param user_id: 登录用户id
|
|
|
@param request_dict: 请求参数
|
|
|
@request_dict gateway_sub_id: 子设备id
|
|
|
@request_dict nickName: 设备名
|
|
@@ -183,6 +182,8 @@ class GatewaySubDeviceView(View):
|
|
|
@param request_dict: 请求参数
|
|
|
@request_dict subDeviceId: 子设备id
|
|
|
@request_dict cycle: 时间周期
|
|
|
+ @request_dict page: 页数
|
|
|
+ @request_dict size: 条数
|
|
|
@param response: 响应对象
|
|
|
@return: response
|
|
|
"""
|
|
@@ -193,8 +194,14 @@ class GatewaySubDeviceView(View):
|
|
|
now_time = int(time.time())
|
|
|
try:
|
|
|
if not cycle:
|
|
|
+ page = request_dict.get('page', None)
|
|
|
+ size = request_dict.get('size', 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', 'event_type', 'created_time').order_by('-created_time')
|
|
|
+ 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))
|
|
@@ -202,8 +209,9 @@ class GatewaySubDeviceView(View):
|
|
|
record_dict = {}
|
|
|
record_list = []
|
|
|
if cycle == '24 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)). \
|
|
|
+ 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)). \
|
|
|
values('alarm', 'created_time').order_by('-created_time')
|
|
|
if not sensor_record_qs.exists():
|
|
|
return response.json(0)
|
|
@@ -222,8 +230,9 @@ class GatewaySubDeviceView(View):
|
|
|
record_dict[str(hour)] = [alarm]
|
|
|
|
|
|
elif cycle == 'Week':
|
|
|
- start_time = now_time - 24*60*60*7
|
|
|
- sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id, created_time__range=(start_time, now_time)). \
|
|
|
+ start_time = now_time - 24 * 60 * 60 * 7
|
|
|
+ sensor_record_qs = SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id,
|
|
|
+ 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)
|
|
@@ -260,7 +269,7 @@ class GatewaySubDeviceView(View):
|
|
|
|
|
|
# 组织响应数据列表,value为每 小时/天 的平均值
|
|
|
for k, v in record_dict.items():
|
|
|
- record_list.append({'key': k, 'value': round(sum(v)/len(v), 1)})
|
|
|
+ record_list.append({'key': k, 'value': round(sum(v) / len(v), 1)})
|
|
|
return response.json(0, record_list)
|
|
|
except Exception as e:
|
|
|
return response.json(500, repr(e))
|