| 
														
															@@ -1,8 +1,9 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 package com.tzld.longarticle.recommend.server.service.rank.strategy; 
														 | 
														
														 | 
														
															 package com.tzld.longarticle.recommend.server.service.rank.strategy; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.longarticle.recommend.server.model.Content; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.tzld.longarticle.recommend.server.model.dto.Content; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.AccountContentPoolConfigService; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.AccountContentPoolConfigService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.tzld.longarticle.recommend.server.service.StrategyIndexScoreWeightService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankItem; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankItem; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankParam; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankResult; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.rank.RankResult; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -32,6 +33,8 @@ public class RankV12Strategy implements RankStrategy { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ScoreService scoreService; 
														 | 
														
														 | 
														
															     private ScoreService scoreService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private AccountContentPoolConfigService accountContentPoolConfigService; 
														 | 
														
														 | 
														
															     private AccountContentPoolConfigService accountContentPoolConfigService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private StrategyIndexScoreWeightService weightService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public RankResult rank(RankParam param) { 
														 | 
														
														 | 
														
															     public RankResult rank(RankParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<Content> result = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<Content> result = new ArrayList<>(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -49,19 +52,31 @@ public class RankV12Strategy implements RankStrategy { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.setScoreMap(scoreMap.get(c.getId())); 
														 | 
														
														 | 
														
															             item.setScoreMap(scoreMap.get(c.getId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             double score; 
														 | 
														
														 | 
														
															             double score; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (contentPools[0].equals(item.getContent().getContentPoolType())) { 
														 | 
														
														 | 
														
															             if (contentPools[0].equals(item.getContent().getContentPoolType())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                score = item.getScore(HisFissionDeWeightAvgReadSumRateStrategy.class.getSimpleName()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                score += item.getScore(SimilarityStrategy.class.getSimpleName()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                score = item.getScore(HisFissionDeWeightAvgReadSumRateStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        * weightService.getWeight(param.getStrategy(), 1, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        HisFissionDeWeightAvgReadSumRateStrategy.class.getSimpleName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                score += item.getScore(SimilarityStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        * weightService.getWeight(param.getStrategy(), 1, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        SimilarityStrategy.class.getSimpleName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } else if (contentPools[1].equals(item.getContent().getContentPoolType())) { 
														 | 
														
														 | 
														
															             } else if (contentPools[1].equals(item.getContent().getContentPoolType())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                score = item.getScore(SimilarityStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                score = (item.getScore(SimilarityStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        * weightService.getWeight(param.getStrategy(), 2, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        SimilarityStrategy.class.getSimpleName())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         + item.getScore(CategoryStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															                         + item.getScore(CategoryStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         + item.getScore(FlowCtlDecreaseStrategy.class.getSimpleName()); 
														 | 
														
														 | 
														
															                         + item.getScore(FlowCtlDecreaseStrategy.class.getSimpleName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if (item.getScore(PublishTimesStrategy.class.getSimpleName()) >= 0) { 
														 | 
														
														 | 
														
															                 if (item.getScore(PublishTimesStrategy.class.getSimpleName()) >= 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    score += item.getScore(ViewCountRateStrategy.class.getSimpleName()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    score += item.getScore(ViewCountRateStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            * weightService.getWeight(param.getStrategy(), 2, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            ViewCountRateStrategy.class.getSimpleName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } else { 
														 | 
														
														 | 
														
															             } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                score = item.getScore(SimilarityStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                score = (item.getScore(SimilarityStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        * weightService.getWeight(param.getStrategy(), 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        SimilarityStrategy.class.getSimpleName())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         + item.getScore(CategoryStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															                         + item.getScore(CategoryStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        + item.getScore(AccountPreDistributeStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        + (item.getScore(AccountPreDistributeStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        * weightService.getWeight(param.getStrategy(), 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        AccountPreDistributeStrategy.class.getSimpleName())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         + item.getScore(PublishTimesStrategy.class.getSimpleName()) 
														 | 
														
														 | 
														
															                         + item.getScore(PublishTimesStrategy.class.getSimpleName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         + item.getScore(FlowCtlDecreaseStrategy.class.getSimpleName()); 
														 | 
														
														 | 
														
															                         + item.getScore(FlowCtlDecreaseStrategy.class.getSimpleName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 |