| 
					
				 | 
			
			
				@@ -26,6 +26,7 @@ import com.tzld.longarticle.recommend.server.repository.longArticle.ArticleCrawl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.longarticle.recommend.server.repository.longArticle.ArticlePoolPromotionSourceRepository; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.longarticle.recommend.server.util.DateUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.longarticle.recommend.server.util.Md5Util; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.tzld.longarticle.recommend.server.util.TitleSimilarCheckUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tzld.longarticle.recommend.server.util.page.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.collections4.CollectionUtils; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,8 +120,20 @@ public class ArticleCategoryService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     articleCategory.setCategory(obj.getString(articleCategory.getTitle())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     articleCategory.setStatus(ArticleCategoryStatusEnum.SUCCESS.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    articleCategory.setStatus(ArticleCategoryStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    articleCategory.setFailReason(kimiResult.getFailReason()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (Objects.nonNull(obj)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (Map.Entry<String, Object> entry : obj.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (TitleSimilarCheckUtil.isSimilar(articleCategory.getTitle(), entry.getKey(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    TitleSimilarCheckUtil.ARTICLE_PROMOTION_THRESHOLD)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                articleCategory.setCategory(obj.getString(entry.getKey())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                articleCategory.setStatus(ArticleCategoryStatusEnum.SUCCESS.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!StringUtils.hasText(articleCategory.getCategory())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        articleCategory.setStatus(ArticleCategoryStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        articleCategory.setFailReason(kimiResult.getFailReason()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 articleCategoryRepository.save(articleCategory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -312,8 +325,20 @@ public class ArticleCategoryService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 articleCategory.setStatus(ArticleCategoryStatusEnum.SUCCESS.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 articleCategory.setFailReason(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                articleCategory.setStatus(ArticleCategoryStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                articleCategory.setFailReason(kimiResult.getFailReason()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (Objects.nonNull(obj)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (Map.Entry<String, Object> entry : obj.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (TitleSimilarCheckUtil.isSimilar(articleCategory.getTitle(), entry.getKey(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                TitleSimilarCheckUtil.ARTICLE_PROMOTION_THRESHOLD)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            articleCategory.setCategory(obj.getString(entry.getKey())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            articleCategory.setStatus(ArticleCategoryStatusEnum.SUCCESS.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!StringUtils.hasText(articleCategory.getCategory())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    articleCategory.setStatus(ArticleCategoryStatusEnum.FAIL.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    articleCategory.setFailReason(kimiResult.getFailReason()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             articleCategoryRepository.save(articleCategory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |