admin
2021-08-27 8fee151ffae0c3818694b7318583814bf92663e2
src/main/java/com/yeshi/buwan/service/imp/recommend/HomeVideoServiceImpl.java
@@ -3,15 +3,18 @@
import com.yeshi.buwan.dao.HomeVideoDao;
import com.yeshi.buwan.domain.HomeVideo;
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.domain.solr.SolrShortVideo;
import com.yeshi.buwan.domain.video.InternetSearchVideo;
import com.yeshi.buwan.service.imp.VideoInfoService;
import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
import com.yeshi.buwan.service.inter.recommend.HomeVideoService;
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;
import org.hibernate.Session;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@@ -32,6 +35,9 @@
    @Resource
    private InternetSearchVideoService internetSearchVideoService;
    @Resource
    private SolrShortVideoDataManager solrShortVideoDataManager;
    @Resource
    private VideoInfoService videoInfoService;
@@ -111,12 +117,30 @@
            if (hv == null || hv.getVideo() != null || StringUtil.isNullOrEmpty(hv.getVideoId())) {
                continue;
            }
            if (NumberUtil.isNumeric(hv.getVideoId())) {
            if (VideoUtil.getVideoFromType(hv.getVideoId()) != HomeVideo.FROM_TYPE_INTERNET) {
                continue;
            }
            InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKeyCache(hv.getVideoId());
            if (internetSearchVideo != null) {
                hv.setVideo(VideoInfoFactory.create(internetSearchVideo));
            }
        }
        return homeVideoList;
    }
    private List<HomeVideo> betchShortVideos(List<HomeVideo> homeVideoList) {
        for (HomeVideo hv : homeVideoList) {
            if (hv == null || hv.getVideo() != null || StringUtil.isNullOrEmpty(hv.getVideoId())) {
                continue;
            }
            if (VideoUtil.getVideoFromType(hv.getVideoId()) != HomeVideo.FROM_TYPE_SHORT) {
                continue;
            }
            SolrShortVideo shortVideo = solrShortVideoDataManager.findOne(hv.getVideoId());
            if (shortVideo != null) {
                hv.setVideo(VideoInfoFactory.create(shortVideo));
            }
        }
@@ -157,6 +181,7 @@
        List<VideoInfo> videoInfoList = new ArrayList<>();
        homeVideos = betchInternetVideos(homeVideos);
        homeVideos = betchShortVideos(homeVideos);
        for (int i = 0; i < homeVideos.size(); i++) {
            if (homeVideos.get(i).getVideo() == null) {
                homeVideos.remove(i);