| 
														
															@@ -117,6 +117,7 @@ public class RankService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (CollectionUtils.isEmpty(param.getRecallResult().getData())) { 
														 | 
														
														 | 
														
															         if (CollectionUtils.isEmpty(param.getRecallResult().getData())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return; 
														 | 
														
														 | 
														
															             return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // pushFromIndex 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Long, Set<String>> videoIdPushFromMap = new HashMap<>(); 
														 | 
														
														 | 
														
															         Map<Long, Set<String>> videoIdPushFromMap = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (RecallResult.RecallData data : param.getRecallResult().getData()) { 
														 | 
														
														 | 
														
															         for (RecallResult.RecallData data : param.getRecallResult().getData()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (CollectionUtils.isEmpty(data.getVideos())) { 
														 | 
														
														 | 
														
															             if (CollectionUtils.isEmpty(data.getVideos())) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -127,6 +128,10 @@ public class RankService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 pushFromSet.add(data.getPushFrom()); 
														 | 
														
														 | 
														
															                 pushFromSet.add(data.getPushFrom()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // pushFromRank 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, List<Video>> pushFromVideosMap = param.getRecallResult().getData().stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                .collect(Collectors.toMap(RecallResult.RecallData::getPushFrom, RecallResult.RecallData::getVideos)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (RecallResult.RecallData data : param.getRecallResult().getData()) { 
														 | 
														
														 | 
														
															         for (RecallResult.RecallData data : param.getRecallResult().getData()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (CollectionUtils.isEmpty(data.getVideos())) { 
														 | 
														
														 | 
														
															             if (CollectionUtils.isEmpty(data.getVideos())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 continue; 
														 | 
														
														 | 
														
															                 continue; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -134,12 +139,29 @@ public class RankService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             for (Video video : data.getVideos()) { 
														 | 
														
														 | 
														
															             for (Video video : data.getVideos()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 Set<String> pushFromSet = videoIdPushFromMap.get(video.getVideoId()); 
														 | 
														
														 | 
														
															                 Set<String> pushFromSet = videoIdPushFromMap.get(video.getVideoId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if (pushFromSet != null && pushFromSet.size() > 0) { 
														 | 
														
														 | 
														
															                 if (pushFromSet != null && pushFromSet.size() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    Map<String, List<String>> map = new HashMap<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    pushFromSet.forEach(p -> map.computeIfAbsent(p, k -> new ArrayList<>())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    video.setPushFromIndex(map); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    Map<String, List<String>> pushFromIndex = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    Map<String, Integer> pushFromRank = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    pushFromSet.forEach(p -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        pushFromIndex.computeIfAbsent(p, k -> new ArrayList<>()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        List<Video> videos = pushFromVideosMap.get(p); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (CollectionUtils.isNotEmpty(videos)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            for (int i = 0; i < videos.size(); i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                if (Objects.equals(videos.get(i).getVideoId(), video.getVideoId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    pushFromRank.put(p, i); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    video.setPushFromIndex(pushFromIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    video.setPushFromRank(pushFromRank); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void rankFilter(RankParam param, List<Video> rovRecallRank, List<Video> flowPoolRank) { 
														 | 
														
														 | 
														
															     public void rankFilter(RankParam param, List<Video> rovRecallRank, List<Video> flowPoolRank) { 
														 |