| 
														
															@@ -10,6 +10,7 @@ import com.tzld.longarticle.recommend.server.common.enums.StatusEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.AccountBusinessTypeEnum; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.AccountBusinessTypeEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleTypeEnum; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleTypeEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.ContentPoolEnum; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.recommend.ContentPoolEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.tzld.longarticle.recommend.server.common.enums.recommend.RankStrategyEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -196,9 +197,10 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 .collect(Collectors.groupingBy(ArticleDetailInfo::getWxSn)); 
														 | 
														
														 | 
														
															                 .collect(Collectors.groupingBy(ArticleDetailInfo::getWxSn)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<PublishSortLog> sortLogList = publishSortLogRepository.findByGhIdInAndDateStrBetween(ghIds, beginDate, endDate); 
														 | 
														
														 | 
														
															         List<PublishSortLog> sortLogList = publishSortLogRepository.findByGhIdInAndDateStrBetween(ghIds, beginDate, endDate); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         log.info("newSortStrategyData sortLogList finish"); 
														 | 
														
														 | 
														
															         log.info("newSortStrategyData sortLogList finish"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Map<String, Map<String, String>> sortStrategyMap = sortLogList.stream() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Map<String, Map<String, String>>> sortStrategyMap = sortLogList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 .collect(Collectors.groupingBy(PublishSortLog::getGhId, 
														 | 
														
														 | 
														
															                 .collect(Collectors.groupingBy(PublishSortLog::getGhId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        Collectors.toMap(PublishSortLog::getDateStr, PublishSortLog::getStrategy, (existing, replacement) -> existing))); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Collectors.groupingBy(PublishSortLog::getDateStr, Collectors.toMap(PublishSortLog::getTitle, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                PublishSortLog::getStrategy, (existing, replacement) -> existing)))); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<String, Map<String, Map<String, AccountAvgInfo>>> accountAvgInfoIndexMap = accountAvgInfoList.stream() 
														 | 
														
														 | 
														
															         Map<String, Map<String, Map<String, AccountAvgInfo>>> accountAvgInfoIndexMap = accountAvgInfoList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 .filter(o -> Objects.nonNull(o.getReadAvg()) && o.getReadAvg() > 0 && o.getFans() > 1000) 
														 | 
														
														 | 
														
															                 .filter(o -> Objects.nonNull(o.getReadAvg()) && o.getReadAvg() > 0 && o.getFans() > 1000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 .collect(Collectors.groupingBy(AccountAvgInfo::getGhId, Collectors.groupingBy(AccountAvgInfo::getUpdateTime, 
														 | 
														
														 | 
														
															                 .collect(Collectors.groupingBy(AccountAvgInfo::getGhId, Collectors.groupingBy(AccountAvgInfo::getUpdateTime, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -336,7 +338,7 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(article.getWxSn()); 
														 | 
														
														 | 
														
															             List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(article.getWxSn()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             setObjArticleDetailInfo(article, obj, articleDetailInfos); 
														 | 
														
														 | 
														
															             setObjArticleDetailInfo(article, obj, articleDetailInfos); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Article firstArticle = articleMap.get(article.getGhId()).get(article.getAppMsgId()).get(1); 
														 | 
														
														 | 
														
															             Article firstArticle = articleMap.get(article.getGhId()).get(article.getAppMsgId()).get(1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            Map<String, String> dateStrategy = sortStrategyMap.get(article.getGhId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Map<String, Map<String, String>> dateStrategy = sortStrategyMap.get(article.getGhId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             AccountAvgInfo avgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(), 
														 | 
														
														 | 
														
															             AccountAvgInfo avgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     article.getPublishTimestamp(), article.getItemIndex()); 
														 | 
														
														 | 
														
															                     article.getPublishTimestamp(), article.getItemIndex()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             AccountAvgInfo firstAvgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(), 
														 | 
														
														 | 
														
															             AccountAvgInfo firstAvgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -350,7 +352,25 @@ public class DataDashboardService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 obj.setFirstAvgViewCount(firstAvgInfo.getReadAvg()); 
														 | 
														
														 | 
														
															                 obj.setFirstAvgViewCount(firstAvgInfo.getReadAvg()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (Objects.nonNull(dateStrategy)) { 
														 | 
														
														 | 
														
															             if (Objects.nonNull(dateStrategy)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                obj.setStrategy(dateStrategy.get(date)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                Map<String, String> titleStrategyMap = dateStrategy.get(date); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (Objects.nonNull(titleStrategyMap)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    String strategy = titleStrategyMap.get(article.getTitle()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (!StringUtils.hasText(strategy)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (Objects.equals(articleType, ArticleTypeEnum.WUXIANLIU.getVal())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            strategy = RankStrategyEnum.INFINITE_STRATEGY.getStrategy(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            for (Map.Entry<String, String> entry : titleStrategyMap.entrySet()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                strategy = entry.getValue(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    obj.setStrategy(strategy); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (!StringUtils.hasText(obj.getStrategy()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    Objects.equals(articleType, ArticleTypeEnum.WUXIANLIU.getVal())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                obj.setStrategy(RankStrategyEnum.INFINITE_STRATEGY.getStrategy()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             setObjAvgInfo(article, obj, avgInfo); 
														 | 
														
														 | 
														
															             setObjAvgInfo(article, obj, avgInfo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             setObjHisRateInfo(article, obj, hisArticleMap, accountAvgInfoIndexMap, hisArticleDetailInfoMap); 
														 | 
														
														 | 
														
															             setObjHisRateInfo(article, obj, hisArticleMap, accountAvgInfoIndexMap, hisArticleDetailInfoMap); 
														 |