Prechádzať zdrojové kódy

580 节日召回实验 修复bug

zhangbo 1 rok pred
rodič
commit
1def7e933e

+ 12 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/strategy/FestivalStrategy4RankModel.java

@@ -35,13 +35,23 @@ public class FestivalStrategy4RankModel extends RankService {
         rovRecallRank.addAll(extractAndSort(param, Region24HRecallStrategy.PUSH_FORM));
         rovRecallRank.addAll(extractAndSort(param, RegionRelative24HRecallStrategy.PUSH_FORM));
         rovRecallRank.addAll(extractAndSort(param, RegionRelative24HDupRecallStrategy.PUSH_FORM));
+        removeDuplicate(rovRecallRank);
+        String abCode = param.getAbCode();
+        int sizeReturn = param.getSize();
+        if (abCode != null && this.regionRecallReturnSize != null &&
+                this.regionRecallReturnSize.containsKey(abCode) &&
+                this.regionRecallReturnSize.get(abCode) != null) {
+            sizeReturn = this.regionRecallReturnSize.get(abCode).getOrDefault("result_size", sizeReturn);
+        }
+        rovRecallRank = rovRecallRank.size() <= sizeReturn
+                ? rovRecallRank
+                : rovRecallRank.subList(0, sizeReturn);
+
         List<Video> festivalRecallVideoList = extractAndSort(param, FestivalRecallStrategyV1.PUSH_FORM);
         // 截断
         if (CollectionUtils.isNotEmpty(festivalRecallVideoList)) {
             rovRecallRank.addAll(festivalRecallVideoList.stream().limit(30).collect(Collectors.toList()));
         }
-        // 补充不分地域小时数据
-        rovRecallRank.addAll(extractAndSort(param, RegionHWithoutDupRecallStrategy.PUSH_FORM));
         // merge sim recall 和 return recall
         rovRecallRank.addAll(extractAndSort(param, SimHotVideoRecallStrategy.PUSH_FORM));
         rovRecallRank.addAll(extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM));