Browse Source

保存correlation_token

locky 3 weeks ago
parent
commit
da3812fc0b
2 changed files with 9 additions and 6 deletions
  1. 8 6
      controller/index.py
  2. 1 0
      model/models.py

+ 8 - 6
controller/index.py

@@ -1006,17 +1006,20 @@ class GetSnapshotView(View):
     def validate(self, request_dict):
         uid = request_dict.get("uid", None)
         access_token = request_dict.get("access_token", None)
+        correlation_token = request_dict.get("correlation_token", None)
 
-        if not all([uid, access_token]):
+        if not all([uid, access_token, correlation_token]):
             return JsonResponse({'result_code': '444', '错误': '参数错误'})
 
         try:
-            user = UserModel.objects.get(access_token=access_token)
-            if not user.uid_rtsp.filter(uid=uid).exists():
+            user_qs = UserModel.objects.filter(access_token=access_token)
+            if not user_qs.exists():
                 return JsonResponse({'result_code': '500', '错误': '用户数据不存在'})
 
-            device = user.uid_rtsp.get(uid=uid)
-            region = getattr(device, 'region', 'US')
+            # 更新correlation_token
+            user_qs.update(correlation_token=correlation_token)
+
+            region = user_qs.values('region_code')[0]['region_code']
             threading.Thread(
                 target=self._send_mqtt_snapshot_command,
                 args=(uid, region),
@@ -1025,7 +1028,6 @@ class GetSnapshotView(View):
             return JsonResponse({'result_code': '0'})
 
         except Exception as e:
-            logger.error(f"Error: {str(e)}")
             return JsonResponse({'result_code': '500', 'error_msg': 'error_line:{}, error_msg:{}'.
                                 format(e.__traceback__.tb_lineno, repr(e))})
 

+ 1 - 0
model/models.py

@@ -11,6 +11,7 @@ class UserModel(models.Model):
     user_authorization_code = models.CharField(max_length=32, default='', verbose_name='用户授权码')
     access_token = models.CharField(max_length=64, unique=False, default='', verbose_name='访问令牌')
     refresh_token = models.CharField(max_length=64, unique=False, default='', verbose_name='刷新令牌')
+    correlation_token = models.TextField(default='', verbose_name='当前令牌')
     uid_rtsp = models.ManyToManyField(to='UidRtspModel', blank=True, verbose_name=u'用户关联uid_rtsp表',
                                       db_table='user_uid_rtsp')
     addTime = models.IntegerField(verbose_name='添加时间', default=0)