|
@@ -1134,11 +1134,14 @@ public class ChannelDemandMatchJob {
|
|
|
// 分离头部维度和分发维度:分发维度按渠道类分组过滤,头部维度保持原有逻辑
|
|
// 分离头部维度和分发维度:分发维度按渠道类分组过滤,头部维度保持原有逻辑
|
|
|
List<ChannelDemandMatchResult> headResults = new ArrayList<>();
|
|
List<ChannelDemandMatchResult> headResults = new ArrayList<>();
|
|
|
List<ChannelDemandMatchResult> distResults = new ArrayList<>();
|
|
List<ChannelDemandMatchResult> distResults = new ArrayList<>();
|
|
|
|
|
+ List<ChannelDemandMatchResult> undefinedResults = new ArrayList<>();
|
|
|
for (ChannelDemandMatchResult r : results) {
|
|
for (ChannelDemandMatchResult r : results) {
|
|
|
if (DimensionEnum.distributionValueSet().contains(r.getDimension())) {
|
|
if (DimensionEnum.distributionValueSet().contains(r.getDimension())) {
|
|
|
distResults.add(r);
|
|
distResults.add(r);
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else if (DimensionEnum.headValueSet().contains(r.getDimension())) {
|
|
|
headResults.add(r);
|
|
headResults.add(r);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ undefinedResults.add(r);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1150,9 +1153,10 @@ public class ChannelDemandMatchJob {
|
|
|
List<ChannelDemandMatchResult> filteredResults = new ArrayList<>();
|
|
List<ChannelDemandMatchResult> filteredResults = new ArrayList<>();
|
|
|
filteredResults.addAll(filteredHead);
|
|
filteredResults.addAll(filteredHead);
|
|
|
filteredResults.addAll(filteredDist);
|
|
filteredResults.addAll(filteredDist);
|
|
|
|
|
+ filteredResults.addAll(undefinedResults);
|
|
|
|
|
|
|
|
- log.info("场景已看视频 渠道 {} 分组过滤后 {} -> {} 条 (头部{}条, 分发{}条)",
|
|
|
|
|
- channelName, beforeFilterCount, filteredResults.size(), filteredHead.size(), filteredDist.size());
|
|
|
|
|
|
|
+ log.info("场景已看视频 渠道 {} 分组过滤后 {} -> {} 条 (头部{}条, 分发{}条,未知{}条)",
|
|
|
|
|
+ channelName, beforeFilterCount, filteredResults.size(), filteredHead.size(), filteredDist.size(), undefinedResults.size());
|
|
|
|
|
|
|
|
// 批量写入
|
|
// 批量写入
|
|
|
for (List<ChannelDemandMatchResult> partition : Lists.partition(filteredResults, 1000)) {
|
|
for (List<ChannelDemandMatchResult> partition : Lists.partition(filteredResults, 1000)) {
|