From b37275dba6b782bf3bb3817c4504f6cdef1bef7c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 18 三月 2021 18:38:51 +0800
Subject: [PATCH] APP首页顶部标签兼容

---
 src/main/java/com/yeshi/buwan/service/imp/SearchService.java |   62 ++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 13 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 7e0d0b3..57b6482 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
@@ -1,19 +1,25 @@
 package com.yeshi.buwan.service.imp;
 
 import com.yeshi.buwan.dao.*;
+import com.yeshi.buwan.dao.system.DetailSystemDao;
 import com.yeshi.buwan.domain.*;
+import com.yeshi.buwan.domain.solr.SolrAlbumVideo;
+import com.yeshi.buwan.domain.system.DetailSystem;
 import com.yeshi.buwan.domain.web.DetailSystemSelect;
 import com.yeshi.buwan.domain.web.HotSearchAdmin;
 import com.yeshi.buwan.dto.search.SolrResultDTO;
 import com.yeshi.buwan.dto.search.SolrVideoSearchFilter;
-import com.yeshi.buwan.service.inter.VideoResourceMapExtraInfoService;
-import com.yeshi.buwan.service.manager.SolrAlbumDataManager;
+import com.yeshi.buwan.pptv.PPTVUtil;
+import com.yeshi.buwan.service.inter.video.VideoInfoExtraService;
+import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager;
 import com.yeshi.buwan.util.*;
 import com.yeshi.buwan.util.factory.VideoInfoFactory;
 import com.yeshi.buwan.util.video.VideoConstant;
 import com.yeshi.buwan.vo.video.VideoListResultVO;
 import org.hibernate.HibernateException;
 import org.hibernate.Session;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.orm.hibernate4.HibernateCallback;
 import org.springframework.stereotype.Service;
@@ -25,6 +31,9 @@
 
 @Service
 public class SearchService {
+    private Logger logger= LoggerFactory.getLogger(SearchService.class);
+
+
     @Resource
     private SearchDao searchDao;
     @Resource
@@ -40,10 +49,10 @@
     @Resource
     private DetailSystemDao detailSystemDao;
     @Resource
-    private SolrAlbumDataManager solrAlbumDataManager;
+    private SolrAlbumVideoDataManager solrAlbumDataManager;
 
     @Resource
-    private VideoResourceMapExtraInfoService videoResourceMapExtraInfoService;
+    private VideoInfoExtraService videoInfoExtraService;
 
     @SuppressWarnings("rawtypes")
     @Cacheable(value = "userCache", key = "'suggestSearch'+'-'+#key+'-'+#system")
@@ -282,14 +291,18 @@
 
             SolrVideoSearchFilter filter = new SolrVideoSearchFilter();
             filter.setKey(key);
-            filter.setVideoType(videoType == 0 ? null : videoType);
+            if (videoType == Constant.SEARCH_RESULT_TYPE_HIGH_DEFINITION) {
+                filter.setResourceIds(new String[]{PPTVUtil.RESOURCE_ID + ""});
+                logger.info("楂樻竻鎼滅储# key锛歿}",key);
+            } else
+                filter.setVideoType(videoType == 0 ? null : videoType);
             filter.setContentType(1);
 
             SolrResultDTO solrResultDTO = solrAlbumDataManager.find(filter, page, pageSize);
             if (solrResultDTO != null) {
                 albumCount = solrResultDTO.getTotalCount();
 
-                for (SolrVideo sv : solrResultDTO.getVideoList()) {
+                for (SolrAlbumVideo sv : (List<SolrAlbumVideo>) solrResultDTO.getVideoList()) {
                     VideoInfo video = VideoInfoFactory.create(sv);
                     video.setShowType(1);
                     if (!StringUtil.isNullOrEmpty(video.getMainActor())) {
@@ -325,11 +338,15 @@
 
             if (videoType == 0 && commonSolrPage > 0) {
                 //鎼滅储鍘熷鐨�
-                List<VideoInfo> solrList = SolrUtil.search(key, commonSolrPage);
-                for (VideoInfo vi : solrList) {
-                    if (!solrAlbumVids.contains(vi.getId())) {
-                        localList.add(vi);
+                try {
+                    List<VideoInfo> solrList = SolrUtil.search(key, commonSolrPage);
+                    for (VideoInfo vi : solrList) {
+                        if (!solrAlbumVids.contains(vi.getId())) {
+                            localList.add(vi);
+                        }
                     }
+                } catch (Exception e) {
+
                 }
             }
             System.out.println("鎼滅储鑰楁椂:" + (System.currentTimeMillis() - startt));
@@ -372,7 +389,7 @@
         }
 
         //鑾峰彇闄勫姞淇℃伅
-        list = videoResourceMapExtraInfoService.batchExtraInfo(list, resourceList);
+        list = videoInfoExtraService.batchExtra(list, resourceList);
 
         return new VideoListResultVO(list, videoType == 0 ? albumCount : 1000L);
     }
@@ -513,13 +530,13 @@
         return zhiBoClassList;
     }
 
-    public long getHotSearchAdminCount(String key,String systemId, int detailSystem) {
+    public long getHotSearchAdminCount(String key, String systemId, int detailSystem) {
         String sql = "";
         if (detailSystem > 0)
             sql = "select count(*) from  (select count(*) from wk_video_super_hotsearch zb left join wk_video_hotsearch c on c.id=zb.hotsearchid where zb.detailsystem="
                     + detailSystem + " and c.name like '%" + key + "%' group by zb.hotsearchid) s";
         else
-            sql = "select count(*) from wk_video_hotsearch h where h.name like '%" + key + "%' and h.system="+systemId;
+            sql = "select count(*) from wk_video_hotsearch h where h.name like '%" + key + "%' and h.system=" + systemId;
 
         return videoBanQuanVideoDao.getCountSQL(sql);
     }
@@ -613,4 +630,23 @@
 
     }
 
+
+    /**
+     * 灏嗘悳绱㈢粨鏋滃璞¤浆涓鸿棰戝璞�
+     *
+     * @param solrAlbumVideoList
+     * @param resourceList
+     * @return
+     */
+    public List<VideoInfo> convertSolrAlbumResultToVideo(List<SolrAlbumVideo> solrAlbumVideoList, List<Long> resourceList) {
+        List<VideoInfo> videoInfoList = new ArrayList<>();
+        for (SolrAlbumVideo sv : solrAlbumVideoList) {
+            VideoInfo video = VideoInfoFactory.create(sv);
+            videoInfoList.add(video);
+        }
+        //鑾峰彇闄勫姞淇℃伅
+        videoInfoList = videoInfoExtraService.batchExtra(videoInfoList, resourceList);
+        return videoInfoList;
+    }
+
 }

--
Gitblit v1.8.0