|
@@ -5,6 +5,7 @@ import com.tzld.piaoquan.recommend.server.common.ThreadPoolFactory;
|
|
|
import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
|
|
|
import com.tzld.piaoquan.recommend.server.model.Video;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.strategy.*;
|
|
|
+import com.tzld.piaoquan.recommend.server.util.FeatureUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -19,6 +20,8 @@ import java.util.concurrent.CountDownLatch;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Future;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author dyp
|
|
@@ -116,7 +119,12 @@ public class RecallService implements ApplicationContextAware {
|
|
|
strategies.add(strategyMap.get(HeadProvinceCate2RecallStrategy.class.getSimpleName()));
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(abExpCodes) && abExpCodes.contains("568")) {
|
|
|
- strategies.add(strategyMap.get(ChannelROVRecallStrategy.class.getSimpleName()));
|
|
|
+ Matcher matcher = FeatureUtils.getChannelMatcher(param.getRootSourceId());
|
|
|
+ if (null != matcher && matcher.find() && FeatureUtils.firstLevel(param.getUserShareDepth())) {
|
|
|
+ strategies.add(strategyMap.get(ChannelROVRecallStrategy.class.getSimpleName()));
|
|
|
+ Set<String> filterRecallSet = new HashSet<>(Arrays.asList(RegionRealtimeRecallStrategyV1.PUSH_FORM, SceneCFRovnRecallStrategy.PUSH_FORM, SceneCFRosnRecallStrategy.PUSH_FORM));
|
|
|
+ strategies = strategies.stream().filter(r -> !filterRecallSet.contains(r.pushFrom())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 命中用户黑名单不走流量池
|