|
@@ -1,6 +1,7 @@
|
|
|
package com.tzld.piaoquan.ad.engine.service.score;
|
|
|
|
|
|
import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
|
|
|
+import com.tzld.piaoquan.ad.engine.commons.enums.RedisPrefixEnum;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScorerUtils;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.thread.ThreadPoolFactory;
|
|
@@ -10,6 +11,7 @@ import com.tzld.piaoquan.ad.engine.service.score.dto.AdPlatformCreativeDTO;
|
|
|
import com.tzld.piaoquan.ad.engine.service.score.param.RankRecommendRequestParam;
|
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -42,7 +44,11 @@ public class RankService687 extends RankStrategyXGBBasic {
|
|
|
|
|
|
@Override
|
|
|
public List<AdRankItem> adItemRank(RankRecommendRequestParam request, ScoreParam scoreParam) {
|
|
|
-
|
|
|
+ Set<String> noApiAdVerIds = adRedisHelper.sMembers(RedisPrefixEnum.ADVER_IS_API_EQ_0_IDS.getPrefix());
|
|
|
+ log.info("Redis中缓存的没有回传广告主ID集合: {}", noApiAdVerIds);
|
|
|
+ if (CollectionUtils.isEmpty(noApiAdVerIds)) {
|
|
|
+ noApiAdVerIds = noPostbackConversionAdVerIds;
|
|
|
+ }
|
|
|
long ts = System.currentTimeMillis() / 1000;
|
|
|
|
|
|
String brand = scoreParam.getRequestContext().getMachineinfoBrand();
|
|
@@ -114,7 +120,6 @@ public class RankService687 extends RankStrategyXGBBasic {
|
|
|
this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
|
|
|
|
|
|
|
|
|
-
|
|
|
// adRankItem.setFeatureMap(cidFeatureMap);
|
|
|
|
|
|
adRankItems.add(adRankItem);
|
|
@@ -136,7 +141,7 @@ public class RankService687 extends RankStrategyXGBBasic {
|
|
|
this.handleD3AndB1Feature(d3Feature, title, item.getFeatureMap());
|
|
|
long time23 = System.currentTimeMillis();
|
|
|
log.info("cost={} handleE1AndE2Feature={} handleD3AndB1Feature={}", time23 - time21, time22 - time21, time23 - time22);
|
|
|
- } finally{
|
|
|
+ } finally {
|
|
|
cdl.countDown();
|
|
|
}
|
|
|
});
|
|
@@ -209,7 +214,6 @@ public class RankService687 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
// 打分排序
|
|
|
List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.XGBOOST_SCORE_CONF_683)
|
|
|
.scoring(sceneFeatureMap, userFeatureMap, adRankItems);
|
|
@@ -223,7 +227,7 @@ public class RankService687 extends RankStrategyXGBBasic {
|
|
|
item.getFeatureMap().putAll(sceneFeatureMap);
|
|
|
|
|
|
// 没有转化回传的广告主,使用后台配置的CPM
|
|
|
- if (noPostbackConversionAdVerIds.contains(item.getAdVerId())) {
|
|
|
+ if (noApiAdVerIds.contains(item.getAdVerId())) {
|
|
|
item.setScore(item.getCpm() / 1000);
|
|
|
}
|
|
|
|