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/recommend/HomeVideoServiceImpl.java | 41 +++++++++++++++++++++++++++++++---------- 1 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java index deade04..494eb56 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java @@ -11,7 +11,6 @@ import com.yeshi.buwan.service.inter.video.VideoInfoExtraService; import com.yeshi.buwan.service.manager.search.SolrShortVideoDataManager; import com.yeshi.buwan.util.Constant; -import com.yeshi.buwan.util.NumberUtil; import com.yeshi.buwan.util.StringUtil; import com.yeshi.buwan.util.factory.VideoInfoFactory; import com.yeshi.buwan.util.video.VideoUtil; @@ -112,8 +111,9 @@ } - private List<HomeVideo> betchInternetVideos(List<HomeVideo> homeVideoList) { - for (HomeVideo hv : homeVideoList) { + private List<HomeVideo> betchInternetVideos(List<HomeVideo> homeVideoList, List<Long> resourceIds) { + for (int i = 0; i < homeVideoList.size(); i++) { + HomeVideo hv = homeVideoList.get(i); if (hv == null || hv.getVideo() != null || StringUtil.isNullOrEmpty(hv.getVideoId())) { continue; } @@ -122,15 +122,30 @@ } InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKeyCache(hv.getVideoId()); if (internetSearchVideo != null) { - hv.setVideo(VideoInfoFactory.create(internetSearchVideo)); + String[] rids = internetSearchVideo.getResourceIds().split(","); + List<Long> ridList = new ArrayList<>(); + for (String rid : rids) { + ridList.add(Long.parseLong(rid)); + } + if(resourceIds!=null) { + ridList.retainAll(resourceIds); + } + if (ridList.size() > 0) + hv.setVideo(VideoInfoFactory.create(internetSearchVideo)); + else { + homeVideoList.remove(i); + i--; + } } + } return homeVideoList; } - private List<HomeVideo> betchShortVideos(List<HomeVideo> homeVideoList) { - for (HomeVideo hv : homeVideoList) { + private List<HomeVideo> betchShortVideos(List<HomeVideo> homeVideoList, List<Long> resourceIds) { + for (int i = 0; i < homeVideoList.size(); i++) { + HomeVideo hv = homeVideoList.get(i); if (hv == null || hv.getVideo() != null || StringUtil.isNullOrEmpty(hv.getVideoId())) { continue; } @@ -140,7 +155,13 @@ SolrShortVideo shortVideo = solrShortVideoDataManager.findOne(hv.getVideoId()); if (shortVideo != null) { - hv.setVideo(VideoInfoFactory.create(shortVideo)); + Long rid = Long.parseLong(shortVideo.getResourceId() + ""); + if (resourceIds.contains(rid)) { + hv.setVideo(VideoInfoFactory.create(shortVideo)); + } else { + homeVideoList.remove(i); + i--; + } } } @@ -180,8 +201,8 @@ }); List<VideoInfo> videoInfoList = new ArrayList<>(); - homeVideos = betchInternetVideos(homeVideos); - homeVideos = betchShortVideos(homeVideos); + homeVideos = betchInternetVideos(homeVideos, resourceIds); + homeVideos = betchShortVideos(homeVideos, resourceIds); for (int i = 0; i < homeVideos.size(); i++) { if (homeVideos.get(i).getVideo() == null) { homeVideos.remove(i); @@ -197,7 +218,7 @@ } } videoInfoExtraService.batchExtra(videoInfoList, resourceIds); - return betchInternetVideos(homeVideos); + return betchInternetVideos(homeVideos, resourceIds); } @Override -- Gitblit v1.8.0