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/imp/juhe/InternetSearchVideoServiceImpl.java |   63 ++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java
index 43b487b..460f24c 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/InternetSearchVideoServiceImpl.java
@@ -7,8 +7,9 @@
 import com.yeshi.buwan.exception.ParamsException;
 import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
 import com.yeshi.buwan.service.inter.system.SystemConfigService;
-import com.yeshi.buwan.util.mq.CMQManager;
+import com.yeshi.buwan.util.mq.rabbit.RabbitmqManager;
 import org.springframework.cache.annotation.Cacheable;
+import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -26,6 +27,9 @@
 
     @Resource
     private SystemConfigService systemConfigService;
+
+    @Resource
+    private RabbitmqManager rabbitmqManager;
 
     private boolean isCanSave(InternetSearchVideo video) {
         SystemConfig systemConfig = systemConfigService.getConfigByKeyCache("internetSearchInvalidKeyForSave");
@@ -49,7 +53,10 @@
             return null;
 
         InternetSearchVideo oldVideo = internetSearchVideoDao.get(video.getId());
-        Set<Integer> resourceIds = listResourceId(video);
+        Set<Integer> resourceIds = new HashSet<>();
+        if (oldVideo != null) {
+            resourceIds.addAll(listResourceId(oldVideo));
+        }
         int resourceId = Integer.parseInt(video.getResourceIds());
         resourceIds.add(resourceId);
         Integer[] rids = new Integer[resourceIds.size()];
@@ -61,11 +68,11 @@
         } else {
             internetSearchVideoDao.updateSelective(video);
         }
-//灏忚棰戜笉鍔犲叆鎼滅储寮曟搸
-//        InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg();
-//        msg.setId(video.getId());
-//        msg.setResourceId(resourceId);
-//        CMQManager.getInstance().addInternetSearchVideoUpdateMsg(msg);
+        //鍏ㄧ綉鎼滃叆鎼滅储寮曟搸
+        InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg();
+        msg.setId(video.getId());
+        msg.setResourceId(resourceId);
+        rabbitmqManager.addInternetSearchVideoUpdateMsg(msg);
 
         return video;
     }
@@ -114,5 +121,47 @@
         return selectByPrimaryKey(id);
     }
 
+    @Override
+    public List<InternetSearchVideo> listByIds(List<String> ids) {
+        if (ids == null || ids.size() == 0) {
+            return new ArrayList<>();
+        }
+        Query query = new Query();
+        List<Criteria> orList = new ArrayList<>();
+        for (String id : ids) {
+            orList.add(Criteria.where("id").is(id));
+        }
+        Criteria[] ors = new Criteria[orList.size()];
+        orList.toArray(ors);
+        query.addCriteria(new Criteria().orOperator(ors));
+        return internetSearchVideoDao.findList(query);
+    }
 
+    @Override
+    public void removeResourceId(String id, Integer resourceId) {
+        InternetSearchVideo video = internetSearchVideoDao.get(id);
+        if (video == null) {
+            return;
+        }
+        Set<Integer> resourceIds = listResourceId(video);
+        if (resourceIds.contains(resourceId)) {
+            //绉婚櫎
+            resourceIds.remove(resourceId);
+        }
+        if (resourceIds.size() <= 0) {
+            // 绉婚櫎鏁版嵁
+            internetSearchVideoDao.deleteByPrimaryKey(id);
+        } else {
+            InternetSearchVideo update = new InternetSearchVideo();
+            update.setId(id);
+            Integer[] rids = new Integer[resourceIds.size()];
+            resourceIds.toArray(rids);
+            video.setResourceIds(StringUtil.concat(rids, ","));
+            internetSearchVideoDao.updateSelective(update);
+        }
+        InternetSearchVideoMQMsg msg = new InternetSearchVideoMQMsg();
+        msg.setId(video.getId());
+        msg.setResourceId(resourceId);
+        rabbitmqManager.addInternetSearchVideoUpdateMsg(msg);
+    }
 }

--
Gitblit v1.8.0