Prechádzať zdrojové kódy

场景执行时间表去掉is_all_day字段

locky 3 rokov pred
rodič
commit
f527263b50

+ 8 - 5
Controller/SensorGateway/SmartSceneController.py

@@ -189,13 +189,12 @@ class SmartSceneView(View):
         tasks = request_dict.get('tasks', None)
         is_all_day = request_dict.get('isAllDay', None)
 
-        if not any([device_id, sub_device_id,  is_all_day]):
-            return response.json(444, {'error param': 'deviceId or subDeviceId or isAllDay'})
+        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, {'error param': 'conditions and tasks'})
 
         now_time = int(time.time())
-        is_all_day = int(is_all_day)    # 1: 全天, 2: 非全天
         conditions_dict = eval(conditions)
         tasks_list = eval(tasks)
         try:
@@ -209,11 +208,15 @@ class SmartSceneView(View):
                 'scene_name': scene_name,
                 'conditions': conditions,
                 'tasks': tasks,
-                'is_all_day': is_all_day,
                 'created_time': now_time,
                 'updated_time': now_time,
             }
 
+            # 处理设置时间
+            if is_all_day:
+                is_all_day = int(is_all_day)
+                smart_scene_dict['is_all_day'] = is_all_day
+
             # 处理传网关设备id和子设备id的情况
             if device_id:
                 smart_scene_dict['device_id'] = device_id
@@ -229,7 +232,7 @@ class SmartSceneView(View):
                 serial_number = sub_device_qs[0]['device__serial_number']
 
             with transaction.atomic():
-                if is_all_day == 1:
+                if not is_all_day or is_all_day == 1:  # 不设置时间或全天
                     smart_scene_qs = SmartScene.objects.create(**smart_scene_dict)
                 elif is_all_day == 2:
                     if is_all_day == '0':

+ 1 - 2
Model/models.py

@@ -2631,7 +2631,7 @@ class SmartScene(models.Model):
     scene_name = models.CharField(default='', max_length=100, verbose_name=u'场景名称')
     conditions = models.CharField(default='', max_length=255, verbose_name=u'条件')
     tasks = models.CharField(default='', max_length=255, verbose_name=u'任务')
-    is_all_day = models.SmallIntegerField(default=0, verbose_name=u'是否全天')  # 1: 全天, 2: 非全天
+    is_all_day = models.SmallIntegerField(default=0, verbose_name=u'是否全天')  # 0: 不设置时间, 1: 全天, 2: 非全天
     effective_time_id = models.IntegerField(default=0, verbose_name=u'关联场景执行时间id')
     is_enable = models.BooleanField(default=True, verbose_name=u'是否开启')
     device_data = models.CharField(default='', max_length=255, verbose_name=u'设备场景数据')
@@ -2646,7 +2646,6 @@ class SmartScene(models.Model):
 
 class EffectiveTime(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记id')
-    is_all_day = models.BooleanField(default=False, verbose_name=u'是否全天')
     start_time = models.SmallIntegerField(default=0, verbose_name=u'开始时间')
     end_time = models.SmallIntegerField(default=0, verbose_name=u'结束时间')
     repeat = models.SmallIntegerField(default=0, verbose_name=u'重复周期')