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/controller/parser/SearchParser.java | 75 ++++++++++++++++++++++++++++++++++--- 1 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java b/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java index 5a5105c..bf11303 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java @@ -25,6 +25,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; @Controller @@ -64,13 +65,65 @@ out.print(JsonUtil.loadFalseJson("椤电爜閿欒")); return; } + int pageIndex = Integer.parseInt(page); + switch (key) { + case "3#hanju-bagua": + pageIndex++; + break; + case "3#hanju-news": + pageIndex += 2; + break; + case "3#hanju-stars": + pageIndex += 3; + break; + case "3#hanju-hots": + pageIndex += 4; + + case "3#hanju-music": + pageIndex += 5; + break; + } List<VideoInfo> videoInfoList = new ArrayList<>(); int pageSize = Constant.pageCount; boolean hasNextPage = false; - if (searchSpecial.getAlbumQuery() != null) { - SolrResultDTO solrResultDTO = solrAlbumVideoDataManager.find(searchSpecial.getAlbumQuery(), Integer.parseInt(page), pageSize); + + //鑾峰彇鎼滅储鏉′欢 + SearchSpecial.QueryConditions conditions = null; + + if (searchSpecial.getContainerList() != null) { + //鎸塿ersion鎺掑簭 + Comparator<SearchSpecial.QueryConditionsContainer> cm = (o1, o2) -> o1.getMinVersion() - o2.getMinVersion(); + Collections.sort(searchSpecial.getContainerList(), cm); + + + for (SearchSpecial.QueryConditionsContainer container : searchSpecial.getContainerList()) { + if (acceptData.getDetailSystem().getId().equalsIgnoreCase(container.getDetailSystemId())) { + if (acceptData.getVersion() >= container.getMinVersion()) { + if (acceptData.getChannel().equalsIgnoreCase(container.getChannel())) { + conditions = container.getQueryConditions(); + break; + } + } + } + } + + if (conditions == null) { + for (SearchSpecial.QueryConditionsContainer container : searchSpecial.getContainerList()) { + if (acceptData.getDetailSystem().getId().equalsIgnoreCase(container.getDetailSystemId())) { + if (acceptData.getVersion() >= container.getMinVersion()) { + conditions = container.getQueryConditions(); + break; + } + } + } + } + } + + + if (conditions.getAlbumQuery() != null) { + SolrResultDTO solrResultDTO = solrAlbumVideoDataManager.find(conditions.getAlbumQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<SolrAlbumVideo> list = solrResultDTO.getVideoList(); if (list != null) { @@ -84,8 +137,8 @@ } } - if (searchSpecial.getInternetQuery() != null) { - SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(searchSpecial.getInternetQuery(), Integer.parseInt(page), pageSize); + if (conditions.getInternetQuery() != null) { + SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(conditions.getInternetQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<InternetSearchVideo> list = solrResultDTO.getVideoList(); if (list != null) { @@ -99,8 +152,8 @@ } } - if (searchSpecial.getShortQuery() != null) { - SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(searchSpecial.getShortQuery(), Integer.parseInt(page), pageSize); + if (conditions.getShortQuery() != null) { + SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(conditions.getShortQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<SolrShortVideo> list = solrResultDTO.getVideoList(); if (list != null) { @@ -141,7 +194,15 @@ item.put("name", StringUtil.isNullOrEmpty(map.getShowName()) ? map.getSpecial().getName() : map.getShowName()); item.put("id", map.getSpecialId()); item.put("icon", map.getIcon()); - array.add(item); + String name = item.optString("name"); + //榄呮棌鍜屽皬绫充笉娣诲姞 + if (("xiaomi" .equalsIgnoreCase(acceptData.getChannel())) && "hanju-video-types" .equalsIgnoreCase(pid)) { + if (name.contains("鐢佃鍓�") || name.contains("鐢靛奖") || name.contains("缁艰壓") || name.contains("灏戝効")) { + array.add(item); + } + } else { + array.add(item); + } } JSONObject data = new JSONObject(); data.put("list", array); -- Gitblit v1.8.0