From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java
index fa81c98..393671e 100644
--- a/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java
+++ b/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java
@@ -99,10 +99,14 @@
         Query query = null;
         if (!StringUtil.isNullOrEmpty(filter.getKey())) {
             //solr绮惧噯妫�绱㈤渶瑕佸甫寮曞彿
-            try {
-                query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\""));
-            } catch (InvalidDataAccessApiUsageException e) {
-                query = new SimpleQuery(new Criteria("name").expression("\""+key+"\""));
+            if (filter.isFuzzy()) {
+                query = new SimpleQuery(new Criteria("name").expression(filter.getKey()));
+            } else {
+                try {
+                    query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\""));
+                } catch (InvalidDataAccessApiUsageException e) {
+                    query = new SimpleQuery(new Criteria("name").expression("\"" + key + "\""));
+                }
             }
 
         } else if (!StringUtil.isNullOrEmpty(filter.getActor())) {
@@ -118,13 +122,28 @@
             query.addFilterQuery(new SimpleFilterQuery(Criteria.where("rootType").is(filter.getVideoType())));
         }
 
-        if (filter.getResourceIds() != null && filter.getResourceIds().length > 0) {
-            query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resourceIds").contains(filter.getResourceIds())));
+        if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) {
+            Criteria ors = null;
+            for (String rid : filter.getResourceIds()) {
+                if (ors == null)
+                    ors = Criteria.where("resourceIds").contains(rid);
+                else
+                    ors = ors.or("resourceIds").contains(rid);
+            }
+            query.addFilterQuery(new SimpleFilterQuery(ors));
         }
 
 
         if (filter.getArea() != null) {
             query.addFilterQuery(new SimpleFilterQuery(Criteria.where("area").contains(filter.getArea())));
+        }
+
+        if (filter.getAreas() != null&&filter.getAreas().size()>0) {
+            Criteria criteria=Criteria.where("area").contains(filter.getAreas().get(0));
+            for(int i=1;i<filter.getAreas().size();i++){
+                criteria=     criteria.or("area").contains(filter.getAreas().get(i));
+            }
+            query.addFilterQuery(new SimpleFilterQuery(criteria));
         }
 
 
@@ -144,7 +163,7 @@
     }
 
     public List<String> getSuggestKeyList(String key) {
-        Query query = new SimpleQuery(new Criteria("nameStr").expression(key+"*"));
+        Query query = new SimpleQuery(new Criteria("nameStr").expression(key + "*"));
         /** 璁剧疆鍒嗛〉寮�濮嬭褰曟暟(绗竴椤�) 榛樿0 */
         query.setOffset(0);
         /** 璁剧疆姣忛〉鏄剧ず璁板綍鏁帮紝榛樿10 */

--
Gitblit v1.8.0