wangyunpeng 17 hours ago
parent
commit
a226fbb11b

+ 15 - 21
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recommend/rank/RankService.java

@@ -222,34 +222,28 @@ public class RankService implements InitializingBean {
         Map<String, Integer> publishContentStatusMap = publishContentList.stream().collect(Collectors.toMap(PublishContent::getId, PublishContent::getStatus));
         Map<String, Integer> publishContentStatusMap = publishContentList.stream().collect(Collectors.toMap(PublishContent::getId, PublishContent::getStatus));
         List<String> removeContentIds = new ArrayList<>();
         List<String> removeContentIds = new ArrayList<>();
         for (int i = 0; i < result.size(); i++) {
         for (int i = 0; i < result.size(); i++) {
-            if (publishContentStatusMap.get(result.get(i).getId()).equals(PublishContentStatusEnum.waiting_publish.getVal())) {
+            Integer status = publishContentStatusMap.get(result.get(i).getId());
+            if (status != null && status.equals(PublishContentStatusEnum.waiting_publish.getVal())) {
                 continue;
                 continue;
             } else {
             } else {
                 removeContentIds.add(result.get(i).getId());
                 removeContentIds.add(result.get(i).getId());
             }
             }
+            List<Content> pool = null;
             if (i == 0) {
             if (i == 0) {
-                for (Content content : contentMap.get(publishPool[0])) {
-                    if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
-                        result.set(i, content);
-                        titles.add(content.getTitle());
-                        break;
-                    }
-                }
+                pool = contentMap.get(publishPool[0]);
             } else if (i == 1) {
             } else if (i == 1) {
-                for (Content content : contentMap.get(publishPool[1])) {
-                    if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
-                        result.set(i, content);
-                        titles.add(content.getTitle());
-                        break;
-                    }
-                }
+                pool = contentMap.get(publishPool[1]);
             } else {
             } else {
-                for (Content content : contentMap.get(publishPool[2])) {
-                    if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
-                        result.set(i, content);
-                        titles.add(content.getTitle());
-                        break;
-                    }
+                pool = contentMap.get(publishPool[2]);
+            }
+            if (CollectionUtils.isEmpty(pool)) {
+                continue;
+            }
+            for (Content content : pool) {
+                if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
+                    result.set(i, content);
+                    titles.add(content.getTitle());
+                    break;
                 }
                 }
             }
             }
         }
         }