From b41a6efe17ba61d150c5a9b7309651cebae54e0d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 03 九月 2021 16:40:43 +0800
Subject: [PATCH] 韩迷TV相关bug修改,电视直播完善(后台+前端API)

---
 src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 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 d4d8688..08beec1 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
@@ -87,8 +88,42 @@
 
         int pageSize = Constant.pageCount;
         boolean hasNextPage = false;
-        if (searchSpecial.getAlbumQuery() != null) {
-            SolrResultDTO solrResultDTO = solrAlbumVideoDataManager.find(searchSpecial.getAlbumQuery(), pageIndex, 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) {
@@ -102,8 +137,8 @@
             }
         }
 
-        if (searchSpecial.getInternetQuery() != null) {
-            SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(searchSpecial.getInternetQuery(), pageIndex, pageSize);
+        if (conditions.getInternetQuery() != null) {
+            SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(conditions.getInternetQuery(), pageIndex, pageSize);
             if (solrResultDTO != null) {
                 List<InternetSearchVideo> list = solrResultDTO.getVideoList();
                 if (list != null) {
@@ -117,8 +152,8 @@
             }
         }
 
-        if (searchSpecial.getShortQuery() != null) {
-            SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(searchSpecial.getShortQuery(), pageIndex, pageSize);
+        if (conditions.getShortQuery() != null) {
+            SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(conditions.getShortQuery(), pageIndex, pageSize);
             if (solrResultDTO != null) {
                 List<SolrShortVideo> list = solrResultDTO.getVideoList();
                 if (list != null) {
@@ -159,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()) || "meizu" .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