|
@@ -1,24 +1,35 @@
|
|
package com.tzld.piaoquan.ad.engine.service.score;
|
|
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.redis.AdRedisHelper;
|
|
import com.tzld.piaoquan.ad.engine.commons.redis.AdRedisHelper;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
import com.tzld.piaoquan.ad.engine.service.feature.Feature;
|
|
import com.tzld.piaoquan.ad.engine.service.feature.Feature;
|
|
import com.tzld.piaoquan.ad.engine.service.feature.FeatureService;
|
|
import com.tzld.piaoquan.ad.engine.service.feature.FeatureService;
|
|
import com.tzld.piaoquan.ad.engine.service.score.dto.AdPlatformCreativeDTO;
|
|
import com.tzld.piaoquan.ad.engine.service.score.dto.AdPlatformCreativeDTO;
|
|
import com.tzld.piaoquan.ad.engine.service.score.param.RankRecommendRequestParam;
|
|
import com.tzld.piaoquan.ad.engine.service.score.param.RankRecommendRequestParam;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Set;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+@Slf4j
|
|
public abstract class RankStrategyXGBBasic implements RankStrategy {
|
|
public abstract class RankStrategyXGBBasic implements RankStrategy {
|
|
|
|
|
|
|
|
+ @ApolloJsonValue("${no.postback.conversion.adverids:[]}")
|
|
|
|
+ private Set<String> noPostbackConversionAdVerIds;
|
|
|
|
+
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private FeatureService featureService;
|
|
private FeatureService featureService;
|
|
@Autowired
|
|
@Autowired
|
|
protected AdRedisHelper adRedisHelper;
|
|
protected AdRedisHelper adRedisHelper;
|
|
|
|
|
|
|
|
+
|
|
protected Feature getFeature(ScoreParam param, RankRecommendRequestParam request) {
|
|
protected Feature getFeature(ScoreParam param, RankRecommendRequestParam request) {
|
|
List<AdPlatformCreativeDTO> adIdList = request.getAdIdList();
|
|
List<AdPlatformCreativeDTO> adIdList = request.getAdIdList();
|
|
List<String> cidList = adIdList.stream()
|
|
List<String> cidList = adIdList.stream()
|
|
@@ -34,6 +45,15 @@ public abstract class RankStrategyXGBBasic implements RankStrategy {
|
|
return featureService.getFeature(cidList, adVerIdList, param);
|
|
return featureService.getFeature(cidList, adVerIdList, param);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ protected Set<String> getNoApiAdVerIds() {
|
|
|
|
+ Set<String> noApiAdVerIds = adRedisHelper.sMembers(RedisPrefixEnum.ADVER_IS_API_EQ_0_IDS.getPrefix());
|
|
|
|
+ log.info("Redis中缓存的没有回传广告主ID集合: {}", noApiAdVerIds);
|
|
|
|
+ if (CollectionUtils.isEmpty(noApiAdVerIds)) {
|
|
|
|
+ noApiAdVerIds = noPostbackConversionAdVerIds;
|
|
|
|
+ }
|
|
|
|
+ return noApiAdVerIds;
|
|
|
|
+ }
|
|
|
|
+
|
|
protected static class Tuple5 {
|
|
protected static class Tuple5 {
|
|
public String f1;
|
|
public String f1;
|
|
public String f2;
|
|
public String f2;
|