|
|
@@ -7,6 +7,7 @@ import com.tzld.piaoquan.ad.engine.commons.dto.AdPlatformCreativeDTO;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.enums.CrowdLayerEnum;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.enums.FilterTypeEnum;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.enums.RedisPrefixEnum;
|
|
|
+import com.tzld.piaoquan.ad.engine.commons.helper.CreativeKFinalDataHelper;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.helper.LayerAgentFlowControlDataHelper;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.helper.LayerCustomerFlowControlDataHelper;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.param.RankRecommendRequestParam;
|
|
|
@@ -1385,6 +1386,8 @@ public abstract class RankStrategyBasic implements RankStrategy {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ calCreativeKFinalWeight("kFinal",items);
|
|
|
} catch (Exception e) {
|
|
|
log.error("cal rerank weight error", e);
|
|
|
}
|
|
|
@@ -1435,6 +1438,19 @@ public abstract class RankStrategyBasic implements RankStrategy {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ // 加V打压系数
|
|
|
+ protected void calCreativeKFinalWeight(String flowCtlType, List<AdRankItem> items) {
|
|
|
+ try {
|
|
|
+ for (AdRankItem item : items) {
|
|
|
+ Double kFinal = CreativeKFinalDataHelper.getKFinal(item.getCreativeCode());
|
|
|
+ item.getScoreMap().put(flowCtlType, kFinal);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("calCreativeKFinalWeight weight error", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private double getFlowControlWeight(Pair<Double, Double> pair,
|
|
|
double cpmPow, double lowerCpmWeight, double upperCpmWeight,
|
|
|
double flowPow, double lowerFlowWeight, double upperFlowWeight,
|