Browse Source

add relevant

liqian 3 years ago
parent
commit
0779081aeb
2 changed files with 44 additions and 1 deletions
  1. 30 1
      app.py
  2. 14 0
      recommend.py

+ 30 - 1
app.py

@@ -7,7 +7,7 @@ import time
 from flask import Flask, request
 from log import Log
 from config import set_config
-from recommend import video_recommend
+from recommend import video_recommend, video_relevant_recommend
 from category import get_category_videos
 from video_recall import PoolRecall
 from db_helper import RedisHelper
@@ -68,6 +68,35 @@ def homepage_recommend():
         return json.dumps(result)
 
 
+# 相关推荐
+@app.route('/applet/video/relevant/recommend', methods=['GET', 'POST'])
+def relevant_recommend():
+    start_time = time.time()
+    try:
+        request_data = json.loads(request.get_data())
+        mid = request_data.get('mid')
+        uid = request_data.get('uid')
+        video_id = request_data.get('videoId')
+        up_uid = request_data.get('upUid')
+        share_mid = request_data.get('shareMid')
+        share_uid = request_data.get('shareUid')
+        page_num = request_data.get('pageNum', 1)
+        page_size = request_data.get('pageSize', 10)
+        app_type = request_data.get('appType')
+        log_.info('request data: {}'.format(request_data))
+
+        videos = video_relevant_recommend(mid=mid, uid=uid, size=page_size, app_type=app_type)
+
+        result = {'code': 200, 'message': 'success', 'data': {'videos': videos}}
+        log_.info('app_type: {}, mid: {}, uid: {}, relevant-result: {}, execute time = {}ms'.format(
+            app_type, mid, uid, result, (time.time() - start_time) * 1000))
+        return json.dumps(result)
+    except Exception as e:
+        log_.error(traceback.format_exc())
+        result = {'code': -1, 'message': 'fail'}
+        return json.dumps(result)
+
+
 # 管理后台实时修改rov
 @app.route('/applet/video/update/rov', methods=['GET', 'POST'])
 def update_rov():

+ 14 - 0
recommend.py

@@ -129,6 +129,20 @@ def update_local_distribute_count(videos):
         log_.error(traceback.format_exc())
 
 
+def video_relevant_recommend(mid, uid, size, app_type):
+    """
+    相关推荐逻辑
+    :param mid: mid type-string
+    :param uid: uid type-string
+    :param size: 请求视频数量 type-int
+    :param app_type: 产品标识  type-int
+    :param algo_type: 算法类型  type-string
+    :return: videos type-list
+    """
+    videos = video_recommend(mid=mid, uid=uid, size=size, app_type=app_type, algo_type='')
+    return videos
+
+
 if __name__ == '__main__':
     videos = [{'videoId': '12345', 'flowPool': '133#442#2', 'distributeCount': 10}]
     update_local_distribute_count(videos)