|
@@ -0,0 +1,74 @@
|
|
|
+"""
|
|
|
+@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
|
|
|
+
|
|
|
+
|
|
|
+
|