|
@@ -3,6 +3,7 @@ package com.tzld.piaoquan.recommend.server.service.recall.strategy;
|
|
|
import com.tzld.piaoquan.recommend.server.common.RedisKeyConstants;
|
|
|
import com.tzld.piaoquan.recommend.server.model.Video;
|
|
|
import com.tzld.piaoquan.recommend.server.service.filter.FilterParam;
|
|
|
+import com.tzld.piaoquan.recommend.server.service.filter.FilterResult;
|
|
|
import com.tzld.piaoquan.recommend.server.service.filter.FilterService;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.FilterParamFactory;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
|
|
@@ -58,12 +59,14 @@ public class DouHotFlowPoolRecallStrategy implements RecallStrategy {
|
|
|
}
|
|
|
|
|
|
FilterParam filterParam = FilterParamFactory.create(param, new ArrayList<>(videoIdAndFlowPoolMap.keySet()));
|
|
|
- filterService.filter(filterParam);
|
|
|
+ FilterResult filterResult = filterService.filter(filterParam);
|
|
|
+
|
|
|
// 对视频随机打断
|
|
|
- Collections.shuffle(filterParam.getVideoIds());
|
|
|
+ Collections.shuffle(filterResult.getVideoIds());
|
|
|
|
|
|
- int size = Math.min(filterParam.getVideoIds().size(), douHotRecallVideoCnt);
|
|
|
- List<Long> subList = filterParam.getVideoIds().subList(0, size);
|
|
|
+ // 截取前20个
|
|
|
+ int size = Math.min(filterResult.getVideoIds().size(), douHotRecallVideoCnt);
|
|
|
+ List<Long> subList = filterResult.getVideoIds().subList(0, size);
|
|
|
List<Video> videos = new ArrayList<>(subList.size());
|
|
|
for (Long videoId : subList) {
|
|
|
Video video = new Video();
|