Kaynağa Gözat

优化推送令牌数据不存在处理

locky 5 ay önce
ebeveyn
işleme
737b1131fc

+ 3 - 2
Controller/DetectControllerV2.py

@@ -93,10 +93,11 @@ class NotificationV2View(View):
                 uid_push_qs = DevicePushService.get_uid_push_by_uid(uid)  # 查主用户
             else:
                 uid_push_qs = DevicePushService.query_uid_push(uid, event_type, button)
-
+            if uid_push_qs is None:
+                return JsonResponse(status=200, data={'code': 175, 'msg': 'device_info数据不存在'})
             if not uid_push_qs.exists():
                 TIME_LOGGER.info('推送响应,uid:{},uid_push数据不存在!'.format(uid))
-                return JsonResponse(status=200, data={'code': 176, 'msg': 'no uid_push data'})
+                return JsonResponse(status=200, data={'code': 176, 'msg': 'uid_push数据不存在'})
 
             ai_type = 0 if child_protection else uid_push_qs.first()['uid_set__ai_type']
             device_type = uid_push_qs.first()['uid_set__device_type']

+ 4 - 0
Service/DevicePushService.py

@@ -117,6 +117,8 @@ class DevicePushService:
         else:
             # 一键通话,视频通话,按下门铃,SD卡异常 只推主用户
             device_info_qs = Device_Info.objects.filter(UID=uid).values('vodPrimaryUserID')
+            if not device_info_qs.exists():
+                return None
             primary_user_id = device_info_qs[0]['vodPrimaryUserID']
             if event_type == 607:  # 音视频通话根据用户按钮来推送
                 button_qs = UserAudioVideoPush.objects.filter(uid=uid).values('buttonUser1', 'buttonUser2')
@@ -136,6 +138,8 @@ class DevicePushService:
         根据uid获取设备推送(目前仅用在OZI定制客户)
         """
         device_info_qs = Device_Info.objects.filter(UID=uid).values('vodPrimaryUserID')
+        if not device_info_qs.exists():
+            return None
         primary_user_id = device_info_qs[0]['vodPrimaryUserID']
         uid_push_qs = UidPushModel.objects.filter(uid_set__uid=uid, userID_id=primary_user_id) \
             .exclude(token_val='0'). \