""" @author: luojunhui 召回票圈的视频 """ from config import daily_video async def recallPQVideos(db_client, params, request_id): """ :param request_id: :param db_client: :param params: :return: """ try: start_dt = params['startDate'] end_dt = params['endDate'] base_return = params.get('baseReturn', 0) base_view = params.get('baseView', 0) base_share = params.get('baseShare', 0) base_rov = params.get('baseRov', 0) base_ros = params.get('baseRos', 0) except Exception as e: response = { "error": str(e), "message": "params error", "requestId": request_id } return response select_sql = f""" SELECT * FROM {daily_video} WHERE date_time >= '{start_dt}' and date_time <= '{end_dt}' and return_cnt >= {base_return} and view_cnt >= {base_view} and share_cnt >= {base_share} and rov >= {base_rov} and ros >= {base_ros} """ result_tuple = await db_client.asyncSelect( sql=select_sql ) if result_tuple: result_list = [ { "videoId": i[0], "uid": i[1], "videoTitle": i[2], "returnCnt": i[3], "viewCnt": i[4], "shareCnt": i[5], "category": i[6], "rov": i[7], "ros": i[8], "dt": i[10] } for i in result_tuple ] response = { "info": "success", "data": result_list, "requestId": request_id } else: response = { "error": "Did not find satisfied videos", "requestId": request_id } return response