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