Przeglądaj źródła

feature:
support设备影子信息

chenjunkai 6 lat temu
rodzic
commit
a2641a8fcb
2 zmienionych plików z 24 dodań i 3 usunięć
  1. 19 3
      Controller/EquipmentManager.py
  2. 5 0
      Model/models.py

+ 19 - 3
Controller/EquipmentManager.py

@@ -637,7 +637,8 @@ def uid_status(request):
     response.lang = tko.lang
     if tko.code != 0:
         return response.json(tko.code)
-    qs = UidSetModel.objects.filter(uid=uid).values('uid', 'detect_status', 'detect_interval', 'version', 'ucode','p2p_region')
+    qs = UidSetModel.objects.filter(uid=uid).values('uid', 'detect_status', 'detect_interval', 'version', 'ucode',
+                                                    'p2p_region')
     # 判断uid配置表信息是否存在
     if qs.exists():
         data = {
@@ -645,7 +646,7 @@ def uid_status(request):
             'push_interval': qs[0]['detect_interval'],  # 推送间隔
             'ucode': qs[0]['ucode'],
             'version': qs[0]['version'],
-            'p2p_region':qs[0]['p2p_region']
+            'p2p_region': qs[0]['p2p_region']
         }
         # 查询云存储相关信息
         ubqs = UID_Bucket.objects.filter(uid=uid). \
@@ -720,17 +721,27 @@ def update_device_shadow(request):
         ucode = request_dict.get('ucode', None)
         version = request_dict.get('version', None)
         p2p_region = request_dict.get('p2p_region', None)
+        tz = request_dict.get('tz', None)
+        video_code = request_dict.get('video_code', None)
+        ip = CommonService.get_ip_address(request)
         us_qs = UidSetModel.objects.filter(uid=uid)
         # 更新
         nowTime = int(time.time())
         if us_qs.exists():
-            update_dict = {'updTime':nowTime}
+            update_dict = {
+                'updTime': nowTime,
+                'ip': ip
+            }
             if p2p_region:
                 update_dict['p2p_region'] = p2p_region
             if ucode:
                 update_dict['ucode'] = ucode
             if version:
                 update_dict['version'] = version
+            if tz:
+                update_dict['tz'] = tz
+            if video_code:
+                update_dict['video'] = video_code
             us_qs.update(**update_dict)
             return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
         # 新增
@@ -739,6 +750,7 @@ def update_device_shadow(request):
                 'uid': uid,
                 'addTime': nowTime,
                 'updTime': nowTime,
+                'ip': ip
             }
             if p2p_region:
                 create_dict['p2p_region'] = p2p_region
@@ -746,6 +758,10 @@ def update_device_shadow(request):
                 create_dict['ucode'] = ucode
             if version:
                 create_dict['version'] = version
+            if tz:
+                create_dict['tz'] = tz
+            if video_code:
+                create_dict['video_code'] = video_code
             UidSetModel.objects.create(**create_dict)
             return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
     else:

+ 5 - 0
Model/models.py

@@ -662,6 +662,11 @@ class UidSetModel(models.Model):
     ucode = models.CharField(max_length=32, verbose_name='设备产品码', default='')
     version = models.CharField(max_length=32, verbose_name='设备版本', default='')
     p2p_region = models.CharField(max_length=16, verbose_name='设备区域', default='ALL')  # ALL CN EU US
+    # addTime Thu Jun 27 02:32:45 UTC 2019
+    cloud_vod = models.SmallIntegerField(default=2, verbose_name='云存开关')  # 0,关闭,1开启,2,不支持
+    push_status = models.SmallIntegerField(default=2, verbose_name='云存开关')  # 0,关闭,1开启,2,不支持
+    tz = models.CharField(default='', max_length=16, verbose_name='设备时区')  # utc+8
+    video_code = models.SmallIntegerField(default=0, verbose_name='编码类型')  # 0:264,1:265
 
     class Meta:
         db_table = 'uid_set'