|
@@ -7,6 +7,7 @@ import com.google.common.cache.CacheBuilder;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.tzld.longarticle.recommend.server.common.CostMonitor;
|
|
|
import com.tzld.longarticle.recommend.server.common.ThreadPoolFactory;
|
|
|
+import com.tzld.longarticle.recommend.server.common.enums.LongArticleTextSimilarityStatusEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.StatusEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.aigc.PublishPlanInputSourceTypesEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.*;
|
|
@@ -204,19 +205,22 @@ public class RecallService implements ApplicationContextAware {
|
|
|
if (CollectionUtils.isEmpty(content)) {
|
|
|
return;
|
|
|
}
|
|
|
+ List<String> sourceIds = content.stream().map(Content::getSourceId).collect(Collectors.toList());
|
|
|
+ Map<String, Integer> textStatusMap = new HashMap<>(textCache.getAllPresent(sourceIds));
|
|
|
List<String> searchIds = content.stream()
|
|
|
- .filter(o ->!Objects.equals(o.getSourceType(), PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal()))
|
|
|
- .map(Content::getSourceId).filter(o -> Objects.isNull(textCache.getIfPresent(o)))
|
|
|
+ .filter(o -> !Objects.equals(o.getSourceType(), PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal()))
|
|
|
+ .map(Content::getSourceId).filter(o -> Objects.isNull(textStatusMap.get(o)))
|
|
|
.collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(searchIds)) {
|
|
|
List<LongArticlesText> textList = longArticlesTextRepository.getByContentIdIn(searchIds);
|
|
|
Map<String, Integer> textMap = textList.stream()
|
|
|
.collect(Collectors.toMap(LongArticlesText::getContentId, LongArticlesText::getSimilarityStatus));
|
|
|
+ textStatusMap.putAll(textMap);
|
|
|
textCache.putAll(textMap);
|
|
|
}
|
|
|
content.removeIf(o -> !Objects.equals(o.getSourceType(), PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal())
|
|
|
- && (Objects.isNull(textCache.getIfPresent(o.getSourceId()))
|
|
|
- || textCache.getIfPresent(o.getSourceId()) == 0));
|
|
|
+ && (Objects.isNull(textStatusMap.get(o.getSourceId()))
|
|
|
+ || textStatusMap.get(o.getSourceId()) != LongArticleTextSimilarityStatusEnum.AVAILABLE.getCode()));
|
|
|
}
|
|
|
|
|
|
private void setVideoContent(List<Content> contentList) {
|