From f13ed98e1de0ec7b85ed179212cc095f63480eed Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 25 三月 2021 18:18:20 +0800 Subject: [PATCH] 全网搜优酷兼容 --- src/test/java/com/hxh/spring/test/SolrTest.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/hxh/spring/test/SolrTest.java b/src/test/java/com/hxh/spring/test/SolrTest.java index eec3476..33d3665 100644 --- a/src/test/java/com/hxh/spring/test/SolrTest.java +++ b/src/test/java/com/hxh/spring/test/SolrTest.java @@ -2,13 +2,23 @@ import com.yeshi.buwan.dao.HomeNoticeDao; import com.yeshi.buwan.dao.video.AlbumVideoMapDao; +import com.yeshi.buwan.domain.VideoInfo; +import com.yeshi.buwan.domain.solr.SolrAlbumVideo; import com.yeshi.buwan.domain.video.AlbumVideoMap; +import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.dto.search.SolrResultDTO; import com.yeshi.buwan.dto.search.SolrVideoSearchFilter; +import com.yeshi.buwan.pptv.PPTVUtil; import com.yeshi.buwan.service.imp.VideoInfoService; import com.yeshi.buwan.service.inter.juhe.AlbumVideoMapService; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; import com.yeshi.buwan.service.manager.SolrCommonVideoDataManager; +import com.yeshi.buwan.service.manager.SolrInternetSearchVideoDataManager; +import com.yeshi.buwan.util.Constant; +import com.yeshi.buwan.util.StringUtil; +import com.yeshi.buwan.util.factory.VideoInfoFactory; +import com.yeshi.buwan.util.video.VideoConstant; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.data.mongodb.core.query.Criteria; @@ -18,8 +28,7 @@ import org.springframework.test.context.web.WebAppConfiguration; import javax.annotation.Resource; -import java.util.Date; -import java.util.List; +import java.util.*; @RunWith(SpringJUnit4ClassRunner.class) @@ -40,6 +49,12 @@ private HomeNoticeDao homeNoticeDao; @Resource private AlbumVideoMapService albumVideoMapService; + + @Resource + private SolrInternetSearchVideoDataManager solrInternetSearchVideoDataManager; + + @Resource + private InternetSearchVideoService internetSearchVideoService; @Test public void test1() { @@ -66,13 +81,98 @@ } + private VideoInfo loadAlbumData(VideoInfo video) { + video.setShowType(1); + if (!StringUtil.isNullOrEmpty(video.getMainActor())) { + video.setMainActor("涓绘紨锛�" + video.getMainActor()); + } + + //璁剧疆tag + String tag = ""; + if (!StringUtil.isNullOrEmpty(video.getYear())) { + tag += video.getYear() + "/"; + } + + if (video.getVideoType() != null) { + String vt = VideoConstant.getMainCategoryName(video.getVideoType().getId()); + if (!StringUtil.isNullOrEmpty(vt)) { + tag += vt + "/"; + } + } + + if (!StringUtil.isNullOrEmpty(video.getArea())) { + tag += video.getArea() + "/"; + } + + if (tag.endsWith("/")) + tag = tag.substring(0, tag.length() - 1); + video.setTag(tag); + + return video; + } + + + private int searchAll(String key) { + int page = 1; + int pageSize = 20; + SolrVideoSearchFilter filter = new SolrVideoSearchFilter(); + filter.setKey(key); + filter.setContentType(1); + List<VideoInfo> localList = new ArrayList<>(); + SolrResultDTO solrResultDTO = solrDataManager.find(filter, page, pageSize); + Set<String> albumSet = new HashSet<>(); + if (solrResultDTO != null) { + for (SolrAlbumVideo sv : (List<SolrAlbumVideo>) solrResultDTO.getVideoList()) { + VideoInfo video = VideoInfoFactory.create(sv); + albumSet.add(video.getName() + "#" + video.getVideoType().getId()); + video = loadAlbumData(video); + localList.add(video); + } + } + + + //鍏ㄧ綉鎼� + SolrResultDTO internetSearchResultDTO = solrInternetSearchVideoDataManager.find(filter, page, pageSize); + if (internetSearchResultDTO != null && internetSearchResultDTO.getVideoList().size() > 0) { + List<InternetSearchVideo> isvList = internetSearchResultDTO.getVideoList(); + //鍒犻櫎鍓嶉潰鏈夌殑鏁版嵁锛屾牴鎹畆ootType涓庡悕绉扮瓫閫� + for (int i = 0; i < isvList.size(); i++) { + String uniqueId = isvList.get(i).getName() + "#" + isvList.get(i).getRootType(); + if (albumSet.contains(uniqueId)) { + isvList.remove(i); + i--; + } + } + for (InternetSearchVideo sv : isvList) { + VideoInfo video = VideoInfoFactory.create(sv); + video = loadAlbumData(video); + localList.add(video); + } + } + return localList.size(); + } + + + @Test + public void search() { + + } + + + @Test + public void addInternet() { + InternetSearchVideo list = internetSearchVideoService.selectByPrimaryKey("59fafccefd20505b0aade6d9ba0e8ed1"); //listAll(1, 10); + solrInternetSearchVideoDataManager.saveOrUpdate(list); + } + + @Resource private AlbumVideoMapDao albumVideoMapDao; @Test public void test2() { - for(int i=0;i<100;i++) { + for (int i = 0; i < 100; i++) { Query query = new Query(); query.addCriteria(Criteria.where("id").type(7)); query.limit(100); -- Gitblit v1.8.0