luojunhui 1 週間 前
コミット
c171be6dc4
1 ファイル変更8 行追加8 行削除
  1. 8 8
      src/domains/fetch_demand/fetch_demands.py

+ 8 - 8
src/domains/fetch_demand/fetch_demands.py

@@ -27,7 +27,7 @@ _SELECT_COLUMNS = [
     "channel_level3",
     "match_video_id",
     "experiment_id",
-    "rov",
+    "total_rov",
     "category_name",
 ]
 _SELECT_CLAUSE = ", ".join(_SELECT_COLUMNS)
@@ -68,9 +68,9 @@ class FetchDemands(DemandConst):
             logger.warning("丢弃 %d 行非白名单账号, dt=%s", dropped, dt)
         logger.info("白名单过滤后: %d 行", len(filtered))
 
-        # 4. 按 (账号, 视频) 去重,取 rov 最高
+        # 4. 按 (账号, 视频) 去重,取 total_rov 最高
         deduped = self._dedup_by_rov(filtered)
-        logger.info("rov 去重后: %d 条 (账号+视频)", len(deduped))
+        logger.info("total_rov 去重后: %d 条 (账号+视频)", len(deduped))
 
         # 5. 获取视频解构 + 展开搜索词
         items = await self._explode_search_items(deduped)
@@ -148,20 +148,20 @@ class FetchDemands(DemandConst):
 
     @staticmethod
     def _dedup_by_rov(rows: List[Dict]) -> List[Dict]:
-        """按 (channel_level3, match_video_id) 分组,保留 rov 最高的行
+        """按 (channel_level3, match_video_id) 分组,保留 total_rov 最高的行
 
         同一账号的同一视频可能有多个 experiment_id,
-        取 rov 最高者作为该视频的代表 experiment_id。
+        取 total_rov 最高者作为该视频的代表 experiment_id。
         """
         groups: Dict[tuple, Dict] = {}
         for r in rows:
             key = (r.get("channel_level3") or "", r.get("match_video_id") or 0)
-            rov = float(r.get("rov") or 0)
-            if key not in groups or rov > float(groups[key].get("rov") or 0):
+            rov = float(r.get("total_rov") or 0)
+            if key not in groups or rov > float(groups[key].get("total_rov") or 0):
                 groups[key] = r
         result = list(groups.values())
         logger.info(
-            "rov 去重: %d 行 → %d 条 (按 账号+视频 分组)",
+            "total_rov 去重: %d 行 → %d 条 (按 账号+视频 分组)",
             len(rows), len(result),
         )
         return result