From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/service/imp/SearchService.java |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 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..c76f4de 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
@@ -34,6 +34,7 @@
 @Service
 public class SearchService {
     private Logger logger = LoggerFactory.getLogger(SearchService.class);
+    private Logger debugLogger = LoggerFactory.getLogger("debug");
 
     private final String ALBUM_SEARCH_FUZZY_KEYS = "銆�,銆�,銆�";
 
@@ -290,18 +291,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 +319,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 +343,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);
                     }
                 }
             }
@@ -437,21 +449,29 @@
             sh.setUser(user);
         }
 
-        searchDao.create(sh);
+//        searchDao.create(sh);
         // 鏌ヨ鏁版嵁搴�
 
         //涓撹緫鏁伴噺
         long albumCount = 0L;
         List<VideoInfo> list = new ArrayList<>();
         List<VideoInfo> localList = null;
+        long startt = System.currentTimeMillis();
         try {
-            long startt = System.currentTimeMillis();
+
             localList = null;
 
             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);
+            }
+
+            debugLogger.info(String.format("鎼滅储-solr涓撹緫鎼滅储鑰楁椂锛氾紙%s锛�-%s",key,(System.currentTimeMillis() - startt)));
+            startt = System.currentTimeMillis();
             if (searchResult != null && searchResult.videoInfoList != null) {
                 localList.addAll(searchResult.videoInfoList);
             }
@@ -474,11 +494,18 @@
                         }
                     }
                 } catch (Exception e) {
-
+                    debugLogger.error("甯歌鎼滅储閿欒锛歿}","",e);
+                }finally {
+                    debugLogger.info(String.format("鎼滅储-solr甯歌鎼滅储鑰楁椂锛氾紙%s锛�-%s",key,(System.currentTimeMillis() - startt)));
+                    startt = System.currentTimeMillis();
                 }
+
+
             }
-            System.out.println("鎼滅储鑰楁椂:" + (System.currentTimeMillis() - startt));
+
+            startt = System.currentTimeMillis();
             filterSearchResult(localList, resourceList);
+            debugLogger.info(String.format("鎼滅储-杩囨护鑰楁椂锛氾紙%s锛�-%s",key,(System.currentTimeMillis() - startt)));
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -486,10 +513,10 @@
         if (localList != null && localList.size() > 0) {
             list.addAll(localList);
         }
-
+        startt = System.currentTimeMillis();
         //鑾峰彇闄勫姞淇℃伅
         list = videoInfoExtraService.batchExtra(list, resourceList);
-
+        debugLogger.info(String.format("鎼滅储-闄勫姞淇℃伅鑰楁椂锛氾紙%s锛�-%s",key,(System.currentTimeMillis() - startt)));
         return new VideoListResultVO(list, videoType == 0 ? albumCount : 1000L);
     }
 

--
Gitblit v1.8.0