|
@@ -29,9 +29,11 @@ public class ArticlePromotionStrategy implements FilterStrategy {
|
|
|
List<String> result = new ArrayList<>();
|
|
|
List<Content> contents = param.getContents();
|
|
|
List<Content> filterContents = new ArrayList<>();
|
|
|
- List<String> channelContentIds = contents.stream().map(Content::getCrawlerChannelContentId).collect(Collectors.toList());
|
|
|
- List<ArticlePoolPromotionSource> promotionSourceList = repository.getByChannelContentIdInAndStatusAndDeleted(channelContentIds, 1, 0);
|
|
|
- Map<String, ArticlePoolPromotionSource> promotionSourceMap = promotionSourceList.stream().collect(Collectors.toMap(ArticlePoolPromotionSource::getChannelContentId, a -> a));
|
|
|
+ List<ArticlePoolPromotionSource> promotionSourceList = repository.getByStatusAndDeleted(1, 0);
|
|
|
+ Map<String, ArticlePoolPromotionSource> promotionSourceMap = promotionSourceList.stream()
|
|
|
+ .collect(Collectors.toMap(ArticlePoolPromotionSource::getChannelContentId, a -> a));
|
|
|
+ Map<String, ArticlePoolPromotionSource> promotionTitleMap = promotionSourceList.stream()
|
|
|
+ .collect(Collectors.toMap(ArticlePoolPromotionSource::getChannelContentId, a -> a, (a, b) -> a));
|
|
|
for (Content content : contents) {
|
|
|
if (promotionSourceMap.containsKey(content.getCrawlerChannelContentId())) {
|
|
|
ArticlePoolPromotionSource promotionSource = promotionSourceMap.get(content.getCrawlerChannelContentId());
|
|
@@ -39,6 +41,12 @@ public class ArticlePromotionStrategy implements FilterStrategy {
|
|
|
content.setFilterReason("内容已晋级过滤");
|
|
|
filterContents.add(content);
|
|
|
}
|
|
|
+ } else if (promotionTitleMap.containsKey(content.getTitle())) {
|
|
|
+ ArticlePoolPromotionSource promotionSource = promotionTitleMap.get(content.getTitle());
|
|
|
+ if (!promotionSource.getLevel().equals(content.getContentPoolType())) {
|
|
|
+ content.setFilterReason("内容已晋级过滤");
|
|
|
+ filterContents.add(content);
|
|
|
+ }
|
|
|
}
|
|
|
if (!StringUtils.hasText(content.getFilterReason())) {
|
|
|
result.add(content.getId());
|