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