Parcourir la source

历史发布获取修改

wangyunpeng il y a 9 mois
Parent
commit
37466b7ebd

+ 2 - 2
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/Content.java

@@ -31,8 +31,8 @@ public class Content {
     private String contentPoolType; // 内容池类别
     private String crawlerChannelContentId; // 抓取内容channelContentId
     private List<String> category; // 品类
-    //    private String crawlerLink;
-//    private String crawlerTitle;
+    private String crawlerLink;
+    private String crawlerTitle;
     private String crawlerCoverUrl;
     private Integer crawlerViewCount;
     //    private Integer crawlerLikeCount;

+ 18 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recall/RecallService.java

@@ -132,12 +132,30 @@ public class RecallService implements ApplicationContextAware {
         String cardJSON = ResourceUtil.readUtf8Str("file/AccountInfo.json");
         JSONObject jsonObject = JSONObject.parseObject(cardJSON);
         List<String> titleList = contentList.stream().map(Content::getTitle).collect(Collectors.toList());
+        List<String> crawlerTitleList = contentList.stream().map(Content::getCrawlerTitle).collect(Collectors.toList());
+        titleList.addAll(crawlerTitleList);
         List<Article> hisArticleList = articleRepository.getByTitleIn(titleList);
         Map<String, Map<Integer, List<Article>>> map = hisArticleList.stream()
                 .collect(Collectors.groupingBy(Article::getTitle, Collectors.groupingBy(Article::getItemIndex)));
         for (Content content : contentList) {
             List<Article> hisArticles = new ArrayList<>();
             Map<Integer, List<Article>> indexArticleMap = map.get(content.getTitle());
+            if (Objects.isNull(indexArticleMap)) {
+                indexArticleMap = map.get(content.getCrawlerTitle());
+            } else if (!content.getTitle().equals(content.getCrawlerTitle())) {
+                Map<Integer, List<Article>> crawlerTitleIndexArticleMap = map.get(content.getCrawlerTitle());
+                if (Objects.nonNull(crawlerTitleIndexArticleMap)) {
+                    for (Map.Entry<Integer, List<Article>> entry : crawlerTitleIndexArticleMap.entrySet()) {
+                        if (indexArticleMap.containsKey(entry.getKey())) {
+                            List<Article> articleList = indexArticleMap.get(entry.getKey());
+                            articleList.addAll(entry.getValue());
+                            indexArticleMap.put(entry.getKey(), articleList);
+                        } else {
+                            indexArticleMap.put(entry.getKey(), entry.getValue());
+                        }
+                    }
+                }
+            }
             if (Objects.nonNull(indexArticleMap) && !indexArticleMap.isEmpty()) {
                 for (Map.Entry<Integer, List<Article>> indexArticleEntry : indexArticleMap.entrySet()) {
                     List<Article> indexArticleList = indexArticleEntry.getValue();