From b41a6efe17ba61d150c5a9b7309651cebae54e0d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 03 九月 2021 16:40:43 +0800 Subject: [PATCH] 韩迷TV相关bug修改,电视直播完善(后台+前端API) --- src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java | 38 +++++++++++++++++++++++++++++--------- 1 files changed, 29 insertions(+), 9 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..9d60758 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 @@ -112,8 +112,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 +123,28 @@ } 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)); + } + 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 +154,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 +200,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 +217,7 @@ } } videoInfoExtraService.batchExtra(videoInfoList, resourceIds); - return betchInternetVideos(homeVideos); + return betchInternetVideos(homeVideos, resourceIds); } @Override -- Gitblit v1.8.0