From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 九月 2021 15:22:03 +0800 Subject: [PATCH] 接入视频直播 --- src/main/java/com/yeshi/buwan/service/imp/SearchService.java | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 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 8d765cd..011d7d2 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java @@ -290,18 +290,18 @@ } - public SearchResult searchAlbum(int videoType, String key, List<Long> resourceIds, int page, int pageSize) { + public SearchResult searchAlbum(int videoType, String key, List<Long> resourceIds, int page, int pageSize, boolean fuzzy) { List<VideoInfo> localList = new ArrayList<>(); //涓撹緫瑙嗛闆嗗悎 Set<String> solrAlbumVids = new HashSet<>(); SolrVideoSearchFilter filter = new SolrVideoSearchFilter(); + filter.setFuzzy(fuzzy); filter.setKey(key); if (videoType == Constant.SEARCH_RESULT_TYPE_HIGH_DEFINITION) { filter.setResourceIds(Arrays.asList(new String[]{PPTVUtil.RESOURCE_ID + ""})); logger.info("楂樻竻鎼滅储# key锛歿}", key); } else { - List<String> rids = new ArrayList<>(); for (Long rid : resourceIds) { rids.add(rid + ""); @@ -318,7 +318,7 @@ albumCount = solrResultDTO.getTotalCount(); for (SolrAlbumVideo sv : (List<SolrAlbumVideo>) solrResultDTO.getVideoList()) { VideoInfo video = VideoInfoFactory.create(sv); - albumSet.add(video.getName() + "#" + video.getVideoType().getId()); + albumSet.add(video.getName() + "#" + video.getVideoType().getId() + "#" + video.getYear()); video = loadAlbumData(video); localList.add(video); solrAlbumVids.add(video.getId()); @@ -342,14 +342,25 @@ i--; } } - for (InternetSearchVideo sv : isvList) { - VideoInfo video = VideoInfoFactory.create(sv); - video = loadAlbumData(video); - if (albumCount < 3) { - localList.add(video); - } else { - if (video.getName().equalsIgnoreCase(key)) + + //绮剧‘鍖归厤锛屼笉鍒嗚瘝 + if (!fuzzy) { + for (InternetSearchVideo sv : isvList) { + VideoInfo video = VideoInfoFactory.create(sv); + video = loadAlbumData(video); + //绗竴涓笓杈戞暟閲� + if (albumCount < 3) { localList.add(video); + } else { + if (video.getName().equalsIgnoreCase(key)) + localList.add(video); + } + } + } else { + for (InternetSearchVideo sv : isvList) { + VideoInfo video = VideoInfoFactory.create(sv); + video = loadAlbumData(video); + localList.add(video); } } } @@ -451,7 +462,12 @@ localList = new ArrayList<>(); //鍏堟悳绱笓杈� int pageSize = 20; - SearchResult searchResult = searchAlbum(videoType, key, resourceList, page, pageSize); + SearchResult searchResult = searchAlbum(videoType, key, resourceList, page, pageSize, false); + + if (page == 1 && (searchResult == null || searchResult.videoInfoList == null || searchResult.videoInfoList.size() == 0)) { + searchResult = searchAlbum(videoType, key, resourceList, page, pageSize, true); + } + if (searchResult != null && searchResult.videoInfoList != null) { localList.addAll(searchResult.videoInfoList); } -- Gitblit v1.8.0