|
@@ -68,6 +68,8 @@ public class RankService680 {
|
|
adRankItem.setAdVerId(dto.getAdVerId());
|
|
adRankItem.setAdVerId(dto.getAdVerId());
|
|
adRankItem.setVideoId(request.getVideoId());
|
|
adRankItem.setVideoId(request.getVideoId());
|
|
adRankItem.setCpa(dto.getCpa());
|
|
adRankItem.setCpa(dto.getCpa());
|
|
|
|
+ adRankItem.setId(dto.getAdId());
|
|
|
|
+ adRankItem.setCampaignId(dto.getCampaignId());
|
|
|
|
|
|
String cidStr = dto.getCreativeId().toString();
|
|
String cidStr = dto.getCreativeId().toString();
|
|
Map<String, String> cidFeatureMap = new HashMap<>();
|
|
Map<String, String> cidFeatureMap = new HashMap<>();
|
|
@@ -109,37 +111,24 @@ public class RankService680 {
|
|
}
|
|
}
|
|
|
|
|
|
// 打分排序
|
|
// 打分排序
|
|
- List<AdRankItem> items = ScorerUtils.getScorerPipeline(ScorerUtils.LR_ROV_SCORE_20240626)
|
|
|
|
|
|
+ List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.LR_ROV_SCORE_20240626)
|
|
.scoring(new HashMap<>(), userFeatureMap, adRankItems);
|
|
.scoring(new HashMap<>(), userFeatureMap, adRankItems);
|
|
|
|
|
|
- List<AdRankItem> result = new ArrayList<>(items.size());
|
|
|
|
- for (AdRankItem item : items) {
|
|
|
|
- AdRankItem adRankItem = new AdRankItem();
|
|
|
|
- adRankItem.setAdId(item.getAdId());
|
|
|
|
- adRankItem.setCreativeCode(item.getCreativeCode());
|
|
|
|
- adRankItem.setAdVerId(item.getAdVerId());
|
|
|
|
- adRankItem.setVideoId(item.getVideoId());
|
|
|
|
- adRankItem.setLrScore(item.getLrScore());
|
|
|
|
-
|
|
|
|
- adRankItem.setScore(item.getLrScore() * item.getCpa());
|
|
|
|
-
|
|
|
|
- adRankItem.getFeatureMap().putAll(item.getFeatureMap());
|
|
|
|
- adRankItem.getFeatureMap().putAll(userFeatureMap);
|
|
|
|
-
|
|
|
|
|
|
+ for (AdRankItem item : result) {
|
|
|
|
+ item.setScore(item.getLrScore() * item.getCpa());
|
|
|
|
+ item.getFeatureMap().putAll(userFeatureMap);
|
|
if (MapUtils.isNotEmpty(videoFeature)) {
|
|
if (MapUtils.isNotEmpty(videoFeature)) {
|
|
- adRankItem.getMetaFeatureMap().putAll(videoFeature);
|
|
|
|
|
|
+ item.getMetaFeatureMap().putAll(videoFeature);
|
|
}
|
|
}
|
|
if (MapUtils.isNotEmpty(userFeature)) {
|
|
if (MapUtils.isNotEmpty(userFeature)) {
|
|
- adRankItem.getMetaFeatureMap().putAll(userFeature);
|
|
|
|
|
|
+ item.getMetaFeatureMap().putAll(userFeature);
|
|
}
|
|
}
|
|
if (allAdVerFeature.containsKey(item.getAdVerId())) {
|
|
if (allAdVerFeature.containsKey(item.getAdVerId())) {
|
|
- adRankItem.getMetaFeatureMap().putAll(allAdVerFeature.get(item.getAdVerId()));
|
|
|
|
|
|
+ item.getMetaFeatureMap().putAll(allAdVerFeature.get(item.getAdVerId()));
|
|
}
|
|
}
|
|
if (allCidFeature.containsKey(String.valueOf(item.getAdId()))) {
|
|
if (allCidFeature.containsKey(String.valueOf(item.getAdId()))) {
|
|
- adRankItem.getMetaFeatureMap().putAll(allCidFeature.get(String.valueOf(item.getAdId())));
|
|
|
|
|
|
+ item.getMetaFeatureMap().putAll(allCidFeature.get(String.valueOf(item.getAdId())));
|
|
}
|
|
}
|
|
-
|
|
|
|
- result.add(adRankItem);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
Collections.sort(result);
|
|
Collections.sort(result);
|