|
@@ -189,12 +189,13 @@ class SmartSceneView(View):
|
|
tasks = request_dict.get('tasks', None)
|
|
tasks = request_dict.get('tasks', None)
|
|
is_all_day = request_dict.get('isAllDay', None)
|
|
is_all_day = request_dict.get('isAllDay', None)
|
|
|
|
|
|
- if not any([device_id, sub_device_id]):
|
|
|
|
- return response.json(444, {'error param': 'deviceId or subDeviceId'})
|
|
|
|
|
|
+ if not any([device_id, sub_device_id, is_all_day]):
|
|
|
|
+ return response.json(444, {'error param': 'deviceId or subDeviceId or isAllDay'})
|
|
if not all([conditions, tasks]):
|
|
if not all([conditions, tasks]):
|
|
return response.json(444, {'error param': 'conditions and tasks'})
|
|
return response.json(444, {'error param': 'conditions and tasks'})
|
|
|
|
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
|
|
+ is_all_day = int(is_all_day) # 1: 全天, 2: 非全天
|
|
conditions_dict = eval(conditions)
|
|
conditions_dict = eval(conditions)
|
|
tasks_list = eval(tasks)
|
|
tasks_list = eval(tasks)
|
|
try:
|
|
try:
|
|
@@ -208,6 +209,7 @@ class SmartSceneView(View):
|
|
'scene_name': scene_name,
|
|
'scene_name': scene_name,
|
|
'conditions': conditions,
|
|
'conditions': conditions,
|
|
'tasks': tasks,
|
|
'tasks': tasks,
|
|
|
|
+ 'is_all_day': is_all_day,
|
|
'created_time': now_time,
|
|
'created_time': now_time,
|
|
'updated_time': now_time,
|
|
'updated_time': now_time,
|
|
}
|
|
}
|
|
@@ -227,9 +229,9 @@ class SmartSceneView(View):
|
|
serial_number = sub_device_qs[0]['device__serial_number']
|
|
serial_number = sub_device_qs[0]['device__serial_number']
|
|
|
|
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
- if not is_all_day: # 没传时间
|
|
|
|
|
|
+ if is_all_day == 1:
|
|
smart_scene_qs = SmartScene.objects.create(**smart_scene_dict)
|
|
smart_scene_qs = SmartScene.objects.create(**smart_scene_dict)
|
|
- else:
|
|
|
|
|
|
+ elif is_all_day == 2:
|
|
if is_all_day == '0':
|
|
if is_all_day == '0':
|
|
effective_time_qs = EffectiveTime.objects.filter(is_all_day=True).values('id')
|
|
effective_time_qs = EffectiveTime.objects.filter(is_all_day=True).values('id')
|
|
if effective_time_qs.exists():
|
|
if effective_time_qs.exists():
|
|
@@ -253,6 +255,9 @@ class SmartSceneView(View):
|
|
repeat=repeat).id
|
|
repeat=repeat).id
|
|
smart_scene_dict['effective_time_id'] = effective_time_id
|
|
smart_scene_dict['effective_time_id'] = effective_time_id
|
|
smart_scene_qs = SmartScene.objects.create(**smart_scene_dict)
|
|
smart_scene_qs = SmartScene.objects.create(**smart_scene_dict)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444, {'error param': 'invalid isAllDay'})
|
|
|
|
+
|
|
sub_device_id = conditions_dict['sensor']['subDeviceId']
|
|
sub_device_id = conditions_dict['sensor']['subDeviceId']
|
|
sub_device_qs = GatewaySubDevice.objects.filter(id=sub_device_id).values('src_addr').first()
|
|
sub_device_qs = GatewaySubDevice.objects.filter(id=sub_device_id).values('src_addr').first()
|
|
msg = {
|
|
msg = {
|