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/SolrAlbumVideoDataManager.java |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/manager/search/SolrAlbumVideoDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/search/SolrAlbumVideoDataManager.java
index deffac6..dbf22b8 100644
--- a/src/main/java/com/yeshi/buwan/service/manager/search/SolrAlbumVideoDataManager.java
+++ b/src/main/java/com/yeshi/buwan/service/manager/search/SolrAlbumVideoDataManager.java
@@ -26,8 +26,10 @@
 import org.springframework.data.solr.core.query.SimpleQuery;
 import org.springframework.data.solr.core.query.result.ScoredPage;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.Serializable;
 import java.util.*;
 
 /**
@@ -60,6 +62,7 @@
     private VideoResourceService videoResourceService;
 
 
+    @Transactional
     public void saveOrUpdate(VideoInfo videoInfo) {
         List<VideoResource> resourceList = videoResourceService.getResourceList();
         List<Long> rids = new ArrayList<>();
@@ -122,7 +125,7 @@
         }
     }
 
-    public SolrAlbumVideo findOne(String id) {
+    public SolrAlbumVideo findOne(Serializable id) {
         SolrAlbumVideo solrVideo = solrTemplate.getById(CORE_NAME, id, SolrAlbumVideo.class);
         return solrVideo;
     }
@@ -141,7 +144,7 @@
                 try {
                     query = new SimpleQuery(new Criteria("nameStr").startsWith(filter.getKey()).or("mainactor").expression("\"" + filter.getKey() + "\""));
                 } catch (InvalidDataAccessApiUsageException e) {
-                    query = new SimpleQuery(new Criteria("nameStr").expression("\""+filter.getKey()+"\"").or("mainactor").expression("\"" + filter.getKey() + "\""));
+                    query = new SimpleQuery(new Criteria("nameStr").expression("\"" + filter.getKey() + "\"").or("mainactor").expression("\"" + filter.getKey() + "\""));
                 }
             }
         } else if (!StringUtil.isNullOrEmpty(filter.getActor())) {
@@ -158,7 +161,14 @@
         }
 
         if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) {
-            query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resourceIds").contains(filter.getResourceIds())));
+            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.getFreeType() != null) {
             query.addFilterQuery(new SimpleFilterQuery(Criteria.where("free_type").is(filter.getFreeType())));
@@ -166,6 +176,15 @@
 
         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));
         }
 
 
@@ -185,7 +204,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