From 56481656c7de11cdca69c1a7dd69db176ffd9ecd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 08 五月 2021 12:49:30 +0800 Subject: [PATCH] 华为屏蔽金币任务中的看海量视频,新增广告平台概率控制 --- src/main/java/com/yeshi/buwan/service/imp/SearchService.java | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java index 84b4f1e..61264cd 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java @@ -288,7 +288,7 @@ } - private SearchResult searchAlbum(int videoType, String key, int page, int pageSize) { + public SearchResult searchAlbum(int videoType, String key, int page, int pageSize) { List<VideoInfo> localList = new ArrayList<>(); //涓撹緫瑙嗛闆嗗悎 Set<String> solrAlbumVids = new HashSet<>(); @@ -316,12 +316,15 @@ } } - //绗竴椤佃�屼笖涓嶄负楂樻竻鏃舵悳绱� + //绗竴椤�,涓嶄负楂樻竻,涓绘悳绱㈠紩鎿庢棤娉曟悳绱㈠埌鍐呭鏃舵悳绱� if (page == 1 && videoType != Constant.SEARCH_RESULT_TYPE_HIGH_DEFINITION) { //page涓�1鏃� 鍏ㄧ綉鎼� SolrResultDTO internetSearchResultDTO = solrInternetSearchVideoDataManager.find(filter, 1, 20); if (internetSearchResultDTO != null && internetSearchResultDTO.getVideoList().size() > 0) { - List<InternetSearchVideo> isvList = internetSearchResultDTO.getVideoList(); + List<InternetSearchVideo> iList = internetSearchResultDTO.getVideoList(); + List<InternetSearchVideo> isvList = new ArrayList<>(); + if (iList != null && iList.size() > 0) + isvList.addAll(iList); //鍒犻櫎鍓嶉潰鏈夌殑鏁版嵁锛屾牴鎹畆ootType涓庡悕绉扮瓫閫� for (int i = 0; i < isvList.size(); i++) { String uniqueId = isvList.get(i).getName() + "#" + isvList.get(i).getRootType(); @@ -333,11 +336,34 @@ for (InternetSearchVideo sv : isvList) { VideoInfo video = VideoInfoFactory.create(sv); video = loadAlbumData(video); - localList.add(video); + if (albumCount < 3) { + localList.add(video); + } else { + if (video.getName().equalsIgnoreCase(key)) + localList.add(video); + } } } - //todo 鎸夊叧閿瘝鐨勫尮閰嶅害鎺掑簭 + //鎸夊叧閿瘝鐨勫尮閰嶅害鎺掑簭 + Comparator<VideoInfo> cm = (VideoInfo o1, VideoInfo o2) -> { + if (o1.getDefinition() - o2.getDefinition() == 0) { + float s1 = CompareStrSimUtil.getSimilarityRatio(o1.getName(), key, true); + float s2 = CompareStrSimUtil.getSimilarityRatio(o2.getName(), key, true); +// if (s1 != s2)//鐩镐技搴﹁秺楂樿秺闈犲墠 + return s2 > s1 ? 1 : -1; +// else +// return o1.getDefinition() - o2.getDefinition();//楂樻竻鎺掑湪鍓� + } else { + return o2.getDefinition() - o1.getDefinition();//楂樻竻鎺掑湪鍓� + } + }; + + Collections.sort(localList, cm); + } + //鏈悳绱㈠埌鍐呭 + if (localList == null || localList.size() == 0) { + logger.warn("涓撹緫鎼滅储鏃犵粨鏋�#{}", key); } return new SearchResult(albumCount, localList); } @@ -708,7 +734,7 @@ } - class SearchResult { + public static class SearchResult { private int totalCount; private List<VideoInfo> videoInfoList; -- Gitblit v1.8.0