admin
2021-03-10 d98c8bd9d1d4f749bd59aa2d3e0905db28c394a6
src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java
@@ -1,7 +1,6 @@
package com.yeshi.buwan.service.imp;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import com.yeshi.buwan.dao.VideoResourceMapExtraInfoDao;
import com.yeshi.buwan.dao.juhe.iqiyi.VideoIqiyiDao;
@@ -37,7 +36,7 @@
    @SuppressWarnings("unchecked")
    public List<ResourceVideo> getResourceList(final List<VideoInfo> list) {
        if (list == null || list.size() == 0) {
            return new ArrayList<ResourceVideo>();
            return new ArrayList<>();
        }
        return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() {
            @Override
@@ -76,6 +75,43 @@
        return getResourceList(videoInfoList);
    }
    /**
     * 获取默认的源
     *
     * @param videoId
     * @param avaiableResourceIds
     * @return
     */
    public VideoResource getDefaultVideoResource(String videoId, Set<Long> avaiableResourceIds) {
        List<ResourceVideo> resourceVideoList = resourceVideoDao.list("FROM ResourceVideo rv where rv.video.id=? order by rv.resource.orderby desc", videoId);
        //删除无用来源
        for (int i = 0; i < resourceVideoList.size(); i++) {
            if (!avaiableResourceIds.contains(Long.parseLong(resourceVideoList.get(i).getResource().getId())) || resourceVideoList.get(i).getResource() == null) {
                resourceVideoList.remove(i--);
            }
        }
        //排序
        List<VideoResource> resourceList = new ArrayList<>();
        for (ResourceVideo rv : resourceVideoList) {
            resourceList.add(rv.getResource());
        }
        Comparator<VideoResource> cm = new Comparator<VideoResource>() {
            @Override
            public int compare(VideoResource o1, VideoResource o2) {
                return o2.getOrderby() - o1.getOrderby();
            }
        };
        Collections.sort(resourceList, cm);
        if (resourceList.size() > 0)
            return resourceList.get(0);
        return null;
    }
    /**
     * 根据视频ID与ResourceId查询