admin
2021-09-24 f788607ff771a47bc60d6a86e00b3433c40f3d2c
src/main/java/com/yeshi/buwan/util/JuHe/VideoResourceUtil.java
@@ -1,123 +1,55 @@
package com.yeshi.buwan.util.JuHe;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import com.yeshi.buwan.domain.system.DetailSystem;
import com.yeshi.buwan.service.inter.video.VideoResourcePlayVersionMapService;
import com.yeshi.buwan.service.inter.video.VideoResourceVersionMapService;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Component;
import com.yeshi.buwan.dao.VideoResourceDao;
import com.yeshi.buwan.domain.VideoResource;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Component
public class VideoResourceUtil {
   @Resource
   private VideoResourceDao videoResourceDao;
    @Resource
    private VideoResourceVersionMapService videoResourceVersionMapService;
   public VideoResourceDao getVideoResourceDao() {
      return videoResourceDao;
   }
    @Resource
    private VideoResourcePlayVersionMapService videoResourcePlayVersionMapService;
   public void setVideoResourceDao(VideoResourceDao videoResourceDao) {
      this.videoResourceDao = videoResourceDao;
   }
    @Cacheable(value = "homeCache", key = "'getAvailableResourceIds-'+'-'+#detailSystem.id+'-'+#versionCode+'-'+#channel")
    public List<Long> getAvailableResourceIds(DetailSystem detailSystem, int versionCode,String channel) {
        List<String> ridList = videoResourceVersionMapService.listResourceId(detailSystem.getId(), versionCode,channel);
//        if (detailSystem.getId().equalsIgnoreCase("43") && versionCode > 83) {
//            ridList = new ArrayList<>();
////            ridList.add("19");
////            ridList.add("24");
//            ridList.add("25");
//        }
        List<Long> ids = new ArrayList<>();
        if (ridList != null) {
            for (String id : ridList) {
                ids.add(Long.parseLong(id));
            }
        }
   @Cacheable(value = "homeCache", key = "'getAvailableResourceIds'+'-'+#platform+'-'+#versionCode")
   public List<Long> getAvailableResourceIds(String platform, int versionCode) {
        return ids;
    }
      List<VideoResource> resourceList = videoResourceDao.list("from VideoResource");
      List<Long> list = new ArrayList<Long>();
      if ("android".equalsIgnoreCase(platform)) {// Android
         if (versionCode < 30) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺") || vr.getName().contains("搜狐")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else if (versionCode < 38) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺") || vr.getName().contains("搜狐")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else if (versionCode < 43) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺")
                     || vr.getName().contains(
                           "搜狐") /* || vr.getName().contains("PPTV") */
                     || vr.getName().contains("腾讯")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺")
                     || vr.getName().contains(
                           "搜狐") /* || vr.getName().contains("PPTV") */
                     || vr.getName().contains("腾讯") || vr.getName().contains("乐视")
                     || vr.getName().contains("AcFun")|| vr.getName().contains("风行")){
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         }
      } else if ("ios".equalsIgnoreCase(platform)) {
         if (versionCode < 14) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺") || vr.getName().contains("搜狐") || vr.getName().contains("风行")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else if (versionCode < 16) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺") || vr.getName().contains("搜狐") || vr.getName().contains("风行")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else if (versionCode < 18) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺")
                     || vr.getName().contains(
                           "搜狐")/* || vr.getName().contains("PPTV") */
                     || vr.getName().contains("腾讯") || vr.getName().contains("风行")) {
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else if (versionCode < 50) {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺")
                     || vr.getName().contains(
                           "搜狐") /* || vr.getName().contains("PPTV") */
                     || vr.getName().contains("腾讯") || vr.getName().contains("乐视")
                     ) {//|| vr.getName().contains("风行")
                  list.add(Long.parseLong(vr.getId()));
               }
            }
         } else {
            for (VideoResource vr : resourceList) {
               if (vr.getName().contains("爱奇艺")
                     || vr.getName().contains(
                           "搜狐") /* || vr.getName().contains("PPTV") */
                     || vr.getName().contains("腾讯") || vr.getName().contains("乐视")
                     || vr.getName().contains("AcFun")|| vr.getName().contains("风行"))//|| vr.getName().contains("风行")
                  list.add(Long.parseLong(vr.getId()));
            }
         }
    @Cacheable(value = "homeCache", key = "'getAvailablePlayResourceIds-'+'-'+#detailSystem.id+'-'+#versionCode+'-'+#channel")
    public List<Long> getAvailablePlayResourceIds(DetailSystem detailSystem, int versionCode,String channel) {
        List<String> ridList = videoResourcePlayVersionMapService.listResourceId(detailSystem.getId(), versionCode,channel);
        List<Long> ids = new ArrayList<>();
        if (ridList != null) {
            for (String id : ridList) {
                ids.add(Long.parseLong(id));
            }
        }
      } else {
         for (VideoResource vr : resourceList) {
            if (vr.getName().contains("爱奇艺") || vr.getName().contains("搜狐") || vr.getName().contains("腾讯")
                  || vr.getName().contains("乐视")
                  || vr.getName().contains("AcFun")|| vr.getName().contains("风行")) {//
                                             // || vr.getName().contains("风行")
               list.add(Long.parseLong(vr.getId()));
            }
         }
      }
      return list;
   }
        return ids;
    }
}