|  | @@ -18,10 +18,12 @@ def get_video_list(ab_exp_code, search_time, data_list_type, region_code, page_n
 | 
											
												
													
														|  |      :return: result
 |  |      :return: result
 | 
											
												
													
														|  |      """
 |  |      """
 | 
											
												
													
														|  |      redis_helper = RedisHelper()
 |  |      redis_helper = RedisHelper()
 | 
											
												
													
														|  | -    if ab_exp_code is None or search_time is None or data_list_type is None or region_code is None:
 |  | 
 | 
											
												
													
														|  | -        data = []
 |  | 
 | 
											
												
													
														|  | -        data_count = 0
 |  | 
 | 
											
												
													
														|  | -        result = {'code': 200, 'message': 'success', 'dataCount': data_count, 'data': data}
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if ab_exp_code is None or search_time is None or data_list_type is None or region_code is None \
 | 
											
												
													
														|  | 
 |  | +            or region_code == '0':
 | 
											
												
													
														|  | 
 |  | +        # 不支持获取全部地域数据列表
 | 
											
												
													
														|  | 
 |  | +        # data = []
 | 
											
												
													
														|  | 
 |  | +        # data_count = 0
 | 
											
												
													
														|  | 
 |  | +        result = {'code': -1, 'message': 'request data error!'}
 | 
											
												
													
														|  |          return result
 |  |          return result
 | 
											
												
													
														|  |      data = []
 |  |      data = []
 | 
											
												
													
														|  |      key_params = config_.VIDEO_DATA_LIST_AB_EXP_CODE_MAPPING.get(ab_exp_code)
 |  |      key_params = config_.VIDEO_DATA_LIST_AB_EXP_CODE_MAPPING.get(ab_exp_code)
 | 
											
										
											
												
													
														|  | @@ -97,16 +99,41 @@ def search_video(ab_exp_code, search_time, data_list_type, region_code, video_id
 | 
											
												
													
														|  |      """
 |  |      """
 | 
											
												
													
														|  |      redis_helper = RedisHelper()
 |  |      redis_helper = RedisHelper()
 | 
											
												
													
														|  |      if ab_exp_code is None or search_time is None or data_list_type is None or region_code is None or video_id is None:
 |  |      if ab_exp_code is None or search_time is None or data_list_type is None or region_code is None or video_id is None:
 | 
											
												
													
														|  | -        data = []
 |  | 
 | 
											
												
													
														|  | -        data_count = 0
 |  | 
 | 
											
												
													
														|  | -        result = {'code': 200, 'message': 'success', 'dataCount': data_count, 'data': data}
 |  | 
 | 
											
												
													
														|  | 
 |  | +        # data = []
 | 
											
												
													
														|  | 
 |  | +        # data_count = 0
 | 
											
												
													
														|  | 
 |  | +        result = {'code': -1, 'message': 'request data error!'}
 | 
											
												
													
														|  |          return result
 |  |          return result
 | 
											
												
													
														|  |      data = []
 |  |      data = []
 | 
											
												
													
														|  |      key_params = config_.VIDEO_DATA_LIST_AB_EXP_CODE_MAPPING.get(ab_exp_code)
 |  |      key_params = config_.VIDEO_DATA_LIST_AB_EXP_CODE_MAPPING.get(ab_exp_code)
 | 
											
												
													
														|  |      app_type = key_params.get('app_type')
 |  |      app_type = key_params.get('app_type')
 | 
											
												
													
														|  |      data_key = key_params.get('data_key')
 |  |      data_key = key_params.get('data_key')
 | 
											
												
													
														|  |      rule_key = key_params.get('rule_key')
 |  |      rule_key = key_params.get('rule_key')
 | 
											
												
													
														|  | -    if data_list_type == 0:
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if data_list_type == 0 and region_code == '0':
 | 
											
												
													
														|  | 
 |  | +        # 视频数据表类型 和 地域 选择都为全部
 | 
											
												
													
														|  | 
 |  | +        key_prefix_list = config_.VIDEO_DATA_LIST_MAPPING.get(data_list_type).get('keyPrefixList')
 | 
											
												
													
														|  | 
 |  | +        code_list = [code for _, code in config_.REGION_CODE.items()]
 | 
											
												
													
														|  | 
 |  | +        for item in key_prefix_list:
 | 
											
												
													
														|  | 
 |  | +            data_list_code = item.get('dataListCode')
 | 
											
												
													
														|  | 
 |  | +            key_prefix = item.get('keyPrefix')
 | 
											
												
													
														|  | 
 |  | +            for code in code_list:
 | 
											
												
													
														|  | 
 |  | +                key_name = f"{key_prefix}{code}.{app_type}.{data_key}.{rule_key}.{search_time}"
 | 
											
												
													
														|  | 
 |  | +                rank = redis_helper.get_rank_with_value(key_name=key_name, value=int(video_id), desc=True)
 | 
											
												
													
														|  | 
 |  | +                score = redis_helper.get_score_with_value(key_name=key_name, value=int(video_id))
 | 
											
												
													
														|  | 
 |  | +                if rank is None or score is None:
 | 
											
												
													
														|  | 
 |  | +                    continue
 | 
											
												
													
														|  | 
 |  | +                videos = {
 | 
											
												
													
														|  | 
 |  | +                    'abExpCode': ab_exp_code,
 | 
											
												
													
														|  | 
 |  | +                    'searchTime': search_time,
 | 
											
												
													
														|  | 
 |  | +                    'dataListType': data_list_code,
 | 
											
												
													
														|  | 
 |  | +                    'regionCode': code,
 | 
											
												
													
														|  | 
 |  | +                    'videoId': int(video_id),
 | 
											
												
													
														|  | 
 |  | +                    'score': float(score),
 | 
											
												
													
														|  | 
 |  | +                    'rank': int(rank) + 1,
 | 
											
												
													
														|  | 
 |  | +                }
 | 
											
												
													
														|  | 
 |  | +                data.append(videos)
 | 
											
												
													
														|  | 
 |  | +        data.sort(key=lambda x: (x['dataListType'], x['regionCode']), reverse=False)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    elif data_list_type == 0:
 | 
											
												
													
														|  |          # 视频数据表类型 选择为全部
 |  |          # 视频数据表类型 选择为全部
 | 
											
												
													
														|  |          key_prefix_list = config_.VIDEO_DATA_LIST_MAPPING.get(data_list_type).get('keyPrefixList')
 |  |          key_prefix_list = config_.VIDEO_DATA_LIST_MAPPING.get(data_list_type).get('keyPrefixList')
 | 
											
												
													
														|  |          for item in key_prefix_list:
 |  |          for item in key_prefix_list:
 | 
											
										
											
												
													
														|  | @@ -128,6 +155,7 @@ def search_video(ab_exp_code, search_time, data_list_type, region_code, video_id
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |              data.append(videos)
 |  |              data.append(videos)
 | 
											
												
													
														|  |          data.sort(key=lambda x: x['dataListType'], reverse=False)
 |  |          data.sort(key=lambda x: x['dataListType'], reverse=False)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      elif region_code == '0':
 |  |      elif region_code == '0':
 | 
											
												
													
														|  |          # 地域 选择为全部
 |  |          # 地域 选择为全部
 | 
											
												
													
														|  |          code_list = [code for _, code in config_.REGION_CODE.items()]
 |  |          code_list = [code for _, code in config_.REGION_CODE.items()]
 | 
											
										
											
												
													
														|  | @@ -149,6 +177,7 @@ def search_video(ab_exp_code, search_time, data_list_type, region_code, video_id
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |              data.append(videos)
 |  |              data.append(videos)
 | 
											
												
													
														|  |          data.sort(key=lambda x: x['regionCode'], reverse=False)
 |  |          data.sort(key=lambda x: x['regionCode'], reverse=False)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      else:
 |  |      else:
 | 
											
												
													
														|  |          key_prefix = config_.VIDEO_DATA_LIST_MAPPING.get(data_list_type).get('keyPrefix')
 |  |          key_prefix = config_.VIDEO_DATA_LIST_MAPPING.get(data_list_type).get('keyPrefix')
 | 
											
												
													
														|  |          key_name = f"{key_prefix}{region_code}.{app_type}.{data_key}.{rule_key}.{search_time}"
 |  |          key_name = f"{key_prefix}{region_code}.{app_type}.{data_key}.{rule_key}.{search_time}"
 |