Browse Source

采用裂变信息重排序

luojunhui 5 months ago
parent
commit
e5bc7afdad
1 changed files with 29 additions and 26 deletions
  1. 29 26
      applications/match_algorithm/rank.py

+ 29 - 26
applications/match_algorithm/rank.py

@@ -96,29 +96,32 @@ async def get_title_oss_fission_dict(db_client, config, content_id) -> dict[str:
     """
     FISSION_DETAIL_TABLE = config.fission_detail_table
     LONG_ARTICLES_TEXT_TABLE = config.long_article_text_table
-
-
-    # two_days_ago_dt = (datetime.now() - timedelta(days=2)).strftime('%Y%m%d')
-    # sql = f"""
-    #     SELECT
-    #         oss_name, fission_rate_0, fission_0_on_read
-    #     FROM
-    #         {FISSION_DETAIL_TABLE}
-    #     WHERE content_id = '{content_id}' and dt >= '{two_days_ago_dt}'
-    #     ORDER BY dt DESC;
-    # """
-    # result = await db_client.select(sql)
-    # fission_info_dict = {}
-    # if result:
-    #     for item in result:
-    #         key = item[0]
-    #         value = {
-    #             "fission_rate_0": item[1],
-    #             "fission_0_on_read": item[2]
-    #         }
-    #         if fission_info_dict.get(key):
-    #             continue
-    #         else:
-    #             fission_info_dict[key] = value
-    # else:
-    #     return {}
+    two_days_ago_dt = (datetime.now() - timedelta(days=2)).strftime('%Y%m%d')
+    sql = f"""
+        SELECT
+            oss_name, fission_rate_0, fission_0_on_read, dt
+        FROM
+            {FISSION_DETAIL_TABLE}
+        WHERE title = (
+            SELECT article_title 
+            FROM {LONG_ARTICLES_TEXT_TABLE}
+            WHERE content_id = '{content_id}'
+            ) 
+        AND dt >= {two_days_ago_dt}
+        ORDER BY dt DESC;
+    """
+    result = await db_client.select(sql)
+    fission_info_dict = {}
+    if result:
+        for item in result:
+            key = item[0]
+            value = {
+                "fission_rate_0": item[1],
+                "fission_0_on_read": item[2]
+            }
+            if fission_info_dict.get(key):
+                continue
+            else:
+                fission_info_dict[key] = value
+    else:
+        return {}