|
@@ -46,6 +46,8 @@ class GatewaySubDeviceView(View):
|
|
|
return self.records_date(request_dict, response)
|
|
|
elif operation == 'home': # 查询传感器主页信息
|
|
|
return self.sensor_home_info(request_dict, response)
|
|
|
+ elif operation == 'update-emergency-status': # 更新智能按钮紧急开关状态
|
|
|
+ return self.update_emergency_status(request_dict, response)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
|
|
@@ -424,3 +426,23 @@ class GatewaySubDeviceView(View):
|
|
|
return response.json(0, res)
|
|
|
except Exception as e:
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def update_emergency_status(request_dict, response):
|
|
|
+ """
|
|
|
+ 更新智能按钮紧急开关状态
|
|
|
+ @param request_dict: 请求参数
|
|
|
+ @request_dict gatewaySubId: 子设备id
|
|
|
+ @param response: 响应对象
|
|
|
+ @return: response
|
|
|
+ """
|
|
|
+ sub_device_id = request_dict.get('gatewaySubId', None)
|
|
|
+ emergency_status = request_dict.get('emergencyStatus', None)
|
|
|
+ if not all([sub_device_id, emergency_status]):
|
|
|
+ return response.json(444, {'error param': 'gatewaySubId or emergency_status'})
|
|
|
+
|
|
|
+ try:
|
|
|
+ GatewaySubDevice.objects.filter(id=sub_device_id).update(is_tampered=emergency_status)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500, repr(e))
|