|
@@ -89,6 +89,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
Map<String, Map<String, String>> videoFeature = feature.getVideoFeature();
|
|
Map<String, Map<String, String>> videoFeature = feature.getVideoFeature();
|
|
Map<String, Map<String, Map<String, String>>> allAdVerFeature = feature.getAdVerFeature();
|
|
Map<String, Map<String, Map<String, String>>> allAdVerFeature = feature.getAdVerFeature();
|
|
Map<String, Map<String, Map<String, String>>> allCidFeature = feature.getCidFeature();
|
|
Map<String, Map<String, Map<String, String>>> allCidFeature = feature.getCidFeature();
|
|
|
|
+ Map<String, Map<String, Map<String, String>>> allSkuFeature = feature.getSkuFeature();
|
|
Map<String, String> reqFeature = this.getReqFeature(scoreParam, request);
|
|
Map<String, String> reqFeature = this.getReqFeature(scoreParam, request);
|
|
|
|
|
|
Map<String, String> userFeatureMap = new HashMap<>();
|
|
Map<String, String> userFeatureMap = new HashMap<>();
|
|
@@ -156,6 +157,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
adRankItem.setId(dto.getAdId());
|
|
adRankItem.setId(dto.getAdId());
|
|
adRankItem.setCampaignId(dto.getCampaignId());
|
|
adRankItem.setCampaignId(dto.getCampaignId());
|
|
adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
|
|
adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
|
|
|
|
+ adRankItem.setSkuId(dto.getSkuId());
|
|
adRankItem.setRandom(random.nextInt(1000));
|
|
adRankItem.setRandom(random.nextInt(1000));
|
|
if (noApiAdVerIds.contains(dto.getAdVerId())) {
|
|
if (noApiAdVerIds.contains(dto.getAdVerId())) {
|
|
adRankItem.getExt().put("isApi", "0");
|
|
adRankItem.getExt().put("isApi", "0");
|
|
@@ -170,7 +172,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
|
|
Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
|
|
|
|
|
|
Map<String, Map<String, String>> adVerFeature = allAdVerFeature.getOrDefault(dto.getAdVerId(), new HashMap<>());
|
|
Map<String, Map<String, String>> adVerFeature = allAdVerFeature.getOrDefault(dto.getAdVerId(), new HashMap<>());
|
|
-
|
|
|
|
|
|
+ Map<String, Map<String, String>> skuFeature = allSkuFeature.getOrDefault(String.valueOf(dto.getSkuId()), new HashMap<>());
|
|
Map<String, String> d1Feature = cidFeature.getOrDefault("alg_cid_feature_vid_cf", new HashMap<>());
|
|
Map<String, String> d1Feature = cidFeature.getOrDefault("alg_cid_feature_vid_cf", new HashMap<>());
|
|
|
|
|
|
this.handleB1Feature(b1Feature, cidFeatureMap, cidStr);
|
|
this.handleB1Feature(b1Feature, cidFeatureMap, cidStr);
|
|
@@ -179,7 +181,7 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
this.handleC1UIFeature(midTimeDiffMap, actionStaticMap, cidFeatureMap, cidStr);
|
|
this.handleC1UIFeature(midTimeDiffMap, actionStaticMap, cidFeatureMap, cidStr);
|
|
this.handleD1Feature(d1Feature, cidFeatureMap);
|
|
this.handleD1Feature(d1Feature, cidFeatureMap);
|
|
this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
|
|
this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
|
|
- this.handleH1AndH2Feature(cidFeature, adVerFeature, cidFeatureMap);
|
|
|
|
|
|
+ this.handleH1AndH2Feature(skuFeature, adVerFeature, cidFeatureMap);
|
|
|
|
|
|
cidFeatureMap.put("cid", dto.getCreativeId() != null ? String.valueOf(dto.getCreativeId()) : "");
|
|
cidFeatureMap.put("cid", dto.getCreativeId() != null ? String.valueOf(dto.getCreativeId()) : "");
|
|
cidFeatureMap.put("adid", dto.getAdId() != null ? String.valueOf(dto.getAdId()) : "");
|
|
cidFeatureMap.put("adid", dto.getAdId() != null ? String.valueOf(dto.getAdId()) : "");
|
|
@@ -322,6 +324,13 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
top1Item.getMetaFeatureMap().put(entry.getKey(), entry.getValue());
|
|
top1Item.getMetaFeatureMap().put(entry.getKey(), entry.getValue());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ Map<String, Map<String, String>> skuFeature = allSkuFeature.getOrDefault(String.valueOf(top1Item.getSkuId()), new HashMap<>());
|
|
|
|
+ for (Map.Entry<String, Map<String, String>> entry : skuFeature.entrySet()) {
|
|
|
|
+ if (MapUtils.isNotEmpty(entry.getValue())) {
|
|
|
|
+ top1Item.getMetaFeatureMap().put(entry.getKey(), entry.getValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
top1Item.getMetaFeatureMap().put("reqFeature", reqFeature);
|
|
top1Item.getMetaFeatureMap().put("reqFeature", reqFeature);
|
|
top1Item.getMetaFeatureMap().put("sceneFeature", sceneFeatureMap);
|
|
top1Item.getMetaFeatureMap().put("sceneFeature", sceneFeatureMap);
|
|
}
|
|
}
|
|
@@ -558,11 +567,11 @@ public class RankStrategyBy688 extends RankStrategyBasic {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private void handleH1AndH2Feature(Map<String, Map<String, String>> cidFeature,
|
|
|
|
|
|
+ private void handleH1AndH2Feature(Map<String, Map<String, String>> skuFeature,
|
|
Map<String, Map<String, String>> adVerFeature,
|
|
Map<String, Map<String, String>> adVerFeature,
|
|
Map<String, String> cidFeatureMap) {
|
|
Map<String, String> cidFeatureMap) {
|
|
Map<String, String> h1Feature = adVerFeature.getOrDefault("alg_mid_feature_adver_action", new HashMap<>());
|
|
Map<String, String> h1Feature = adVerFeature.getOrDefault("alg_mid_feature_adver_action", new HashMap<>());
|
|
- Map<String, String> h2Feature = cidFeature.getOrDefault("alg_mid_feature_sku_action", new HashMap<>());
|
|
|
|
|
|
+ Map<String, String> h2Feature = skuFeature.getOrDefault("alg_mid_feature_sku_action", new HashMap<>());
|
|
log.info("h1Feature={}",h1Feature);
|
|
log.info("h1Feature={}",h1Feature);
|
|
log.info("h2Feature={}",h2Feature);
|
|
log.info("h2Feature={}",h2Feature);
|
|
List<String> timeList = Arrays.asList("3d", "7d", "30d");
|
|
List<String> timeList = Arrays.asList("3d", "7d", "30d");
|