|
@@ -55,7 +55,7 @@ class SmartSceneView(View):
|
|
device_id = request_dict.get('deviceId', None)
|
|
device_id = request_dict.get('deviceId', None)
|
|
sub_device_id = request_dict.get('subDeviceId', None)
|
|
sub_device_id = request_dict.get('subDeviceId', None)
|
|
if not any([device_id, sub_device_id]):
|
|
if not any([device_id, sub_device_id]):
|
|
- return response.json(444)
|
|
|
|
|
|
+ return response.json(444, {'error param': 'deviceId or subDeviceId'})
|
|
try:
|
|
try:
|
|
if device_id:
|
|
if device_id:
|
|
gateway_sub_device_qs = GatewaySubDevice.objects.filter(device_id=device_id)
|
|
gateway_sub_device_qs = GatewaySubDevice.objects.filter(device_id=device_id)
|
|
@@ -108,19 +108,34 @@ class SmartSceneView(View):
|
|
@param response: 响应对象
|
|
@param response: 响应对象
|
|
@return: response
|
|
@return: response
|
|
"""
|
|
"""
|
|
|
|
+ device_id = request_dict.get('deviceId', None)
|
|
sub_device_id = request_dict.get('gatewaySubId', None)
|
|
sub_device_id = request_dict.get('gatewaySubId', None)
|
|
scene_name = request_dict.get('sceneName', None)
|
|
scene_name = request_dict.get('sceneName', None)
|
|
conditions = request_dict.get('conditions', None)
|
|
conditions = request_dict.get('conditions', None)
|
|
tasks = request_dict.get('tasks', None)
|
|
tasks = request_dict.get('tasks', None)
|
|
all_day = request_dict.get('allDay', None)
|
|
all_day = request_dict.get('allDay', None)
|
|
|
|
|
|
- if not all([sub_device_id, conditions, tasks]):
|
|
|
|
|
|
+ if not any([device_id, sub_device_id]):
|
|
|
|
+ return response.json(444, {'error param': 'deviceId or subDeviceId'})
|
|
|
|
+ if not all([conditions, tasks]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
+
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
try:
|
|
try:
|
|
|
|
+ smart_scene_dict = {
|
|
|
|
+ 'user_id': user_id,
|
|
|
|
+ 'scene_name': scene_name,
|
|
|
|
+ 'conditions': conditions,
|
|
|
|
+ 'tasks': tasks,
|
|
|
|
+ 'created_time': now_time,
|
|
|
|
+ 'updated_time': now_time,
|
|
|
|
+ }
|
|
|
|
+ if device_id:
|
|
|
|
+ smart_scene_dict['device_id'] = device_id
|
|
|
|
+ else:
|
|
|
|
+ smart_scene_dict['sub_device_id'] = sub_device_id
|
|
if all_day:
|
|
if all_day:
|
|
- SmartScene.objects.create(user_id=user_id, scene_name=scene_name, conditions=conditions, tasks=tasks,
|
|
|
|
- created_time=now_time, updated_time=now_time)
|
|
|
|
|
|
+ SmartScene.objects.create(**smart_scene_dict)
|
|
else:
|
|
else:
|
|
start_time = request_dict.get('startTime', None)
|
|
start_time = request_dict.get('startTime', None)
|
|
end_time = request_dict.get('endTime', None)
|
|
end_time = request_dict.get('endTime', None)
|
|
@@ -132,8 +147,8 @@ class SmartSceneView(View):
|
|
effective_time_id = effective_time_qs[0]['id']
|
|
effective_time_id = effective_time_qs[0]['id']
|
|
else:
|
|
else:
|
|
effective_time_id = EffectiveTime.objects.create(start_time=start_time, end_time=end_time, repeat=repeat).id
|
|
effective_time_id = EffectiveTime.objects.create(start_time=start_time, end_time=end_time, repeat=repeat).id
|
|
- SmartScene.objects.create(user_id=user_id, scene_name=scene_name, conditions=conditions, tasks=tasks,
|
|
|
|
- effective_time_id=effective_time_id, created_time=now_time, updated_time=now_time)
|
|
|
|
|
|
+ smart_scene_dict['effective_time_id'] = effective_time_id
|
|
|
|
+ SmartScene.objects.create(**smart_scene_dict)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|