1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- """
- @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
|