admin
2022-04-16 04f09e52ffd4681bdfd85e51acd3da0d1280c3d3
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,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 +153,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 +199,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 +216,7 @@
            }
        }
        videoInfoExtraService.batchExtra(videoInfoList, resourceIds);
        return betchInternetVideos(homeVideos);
        return betchInternetVideos(homeVideos, resourceIds);
    }
    @Override