From 264b5dea5b74c4b5ba54a90caba7e709858a037e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 25 八月 2022 17:58:27 +0800
Subject: [PATCH] 增加rabbitmq

---
 src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 8 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..bfbc8cb 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java
@@ -1,7 +1,6 @@
 package com.yeshi.buwan.controller.parser;
 
 import com.yeshi.buwan.domain.VideoInfo;
-import com.yeshi.buwan.domain.VideoType;
 import com.yeshi.buwan.domain.solr.SolrAlbumVideo;
 import com.yeshi.buwan.domain.solr.SolrShortVideo;
 import com.yeshi.buwan.domain.special.SearchSpecial;
@@ -25,6 +24,7 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 @Controller
@@ -87,8 +87,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 +136,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 +151,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 +193,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