Explorar el Código

优化搜索设备接口

locky hace 2 años
padre
commit
ff36e6d043
Se han modificado 1 ficheros con 17 adiciones y 30 borrados
  1. 17 30
      controller/index.py

+ 17 - 30
controller/index.py

@@ -435,9 +435,10 @@ class oa2DiscoveryDevice(TemplateView):
 
         user = user_qs[0]
         userID = user.userID
-        logger.info('userID: {}'.format(userID))
+        region_code = user.region_code
+        logger.info('搜索设备的用户id:{},地区:{}'.format(userID, region_code))
 
-        # 更新事件网关接口
+        # AlexaAuthModel表数据
         alexAuth = AlexaAuthModel.objects.filter(token=access_token, skill_name=skill_name).order_by('-addTime')
         if alexAuth.exists():
             auth_res = alexAuth.values()
@@ -450,8 +451,7 @@ class oa2DiscoveryDevice(TemplateView):
             event_alexa_region = auth_res[0]['alexa_region']
             AlexaAuthModel.objects.filter(userID=userID).delete()
             alexAuth.delete()
-            logger.info('update_event_access_token')
-            logger.info(event_token)
+
             AlexaAuthModel.objects.create(
                 userID=userID,
                 access_token=event_access_token,
@@ -464,25 +464,19 @@ class oa2DiscoveryDevice(TemplateView):
                 skill_name=skill_name,
             )
 
-        auth_request_url = '{}/oalexa/discoveryuid'.format(SERVER_PREFIX)
+        # 请求搜索设备
+        domain_name = SERVER_PREFIX_EU if region_code == 'EU' else SERVER_PREFIX
+        auth_request_url = '{}/oalexa/discoveryuid'.format(domain_name)
         requests_data = {'sid': 'admin', 'sst': 'admin', 'alexa_user_id': userID}
         res = requests.post(url=auth_request_url, data=requests_data)
-        res_json = res.json()
-        logger.info('正式服务器响应: {}'.format(res_json))
-
-        test_flag = False  # 用来区分测试服务器,后面删掉
-        # 添加测试服务器测试
-        if res_json['result_code'] != 0:
-            auth_request_url = '{}/oalexa/discoveryuid'.format(SERVER_PREFIX_TEST)
-            res = requests.post(url=auth_request_url, data=requests_data)
-            res_json = res.json()
-            test_flag = True
+        if res.status_code != 200:
+            return response.json(500, res={'msg': 'discover device error'})
 
-        logger.info('请求服务器url: {}'.format(auth_request_url))
-        logger.info('服务器响应: {}'.format(res_json))
+        res_json = res.json()
+        logger.info('{}服务器搜索设备响应:{}'.format(region_code, res_json))
 
         if res_json['result_code'] != 0:
-            return response.json(500, res={'msg': '请求业务服务器接口result_code不为0'})
+            return response.json(500, res={'msg': 'discover device error'})
 
         uid_arr = res_json['result']['uid_arr']
         rtko = tkObject(rank=1)
@@ -493,30 +487,23 @@ class oa2DiscoveryDevice(TemplateView):
         for uid_a in uid_arr:
             uid = uid_a['uid']
             nick = uid_a['nick']
-
             rtsp_url = rtko.encrypt(data=uid)
-            region = 'EU' if uid_a['region'] == 'EU' else 'US'
-
-            if test_flag:
-                multi_channel = uid_a['multi_channel']
-                if multi_channel:
-                    # 多通道设备: uid_通道号
-                    uid += '_' + str(uid_a['channel'])
 
             try:
                 uid_rtsp_qs = UidRtspModel.objects.get(uid=uid)
             except UidRtspModel.DoesNotExist:
-                uid_rtsp_qs = UidRtspModel.objects.create(user_id=userID, uid=uid, nick=nick, region=region,
+                uid_rtsp_qs = UidRtspModel.objects.create(user_id=userID, uid=uid, nick=nick, region=region_code,
                                                           password=uid_a['password'],
                                                           rtsp_url=rtsp_url, addTime=now_time, updTime=now_time)
             else:
                 uid_rtsp_qs.nick = nick
-                uid_rtsp_qs.region = region
+                uid_rtsp_qs.region = region_code
                 uid_rtsp_qs.password = uid_a['password']
                 uid_rtsp_qs.save()
             uid_rtsp_id_list.append(uid_rtsp_qs.id)
-            RESP_SERVER_DOMAIN = RESP_SERVER_DOMAIN_DATA[region]
-            rtsp_uri = '{}://{}:443/{}'.format(RTSP_PREFIX, RESP_SERVER_DOMAIN, rtsp_url)
+
+            rtsp_domain = RESP_SERVER_DOMAIN_DATA[region_code]
+            rtsp_uri = '{}://{}:443/{}'.format(RTSP_PREFIX, rtsp_domain, rtsp_url)
             ur_data = {
                 'uri': rtsp_uri,
                 'endpointId': uid,