| | |
| | | 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.imp.DetailSystemConfigService; |
| | | import com.yeshi.buwan.service.inter.video.VideoResourcePlayVersionMapService; |
| | | import com.yeshi.buwan.service.inter.video.VideoResourceVersionMapService; |
| | | import com.yeshi.buwan.util.Constant; |
| | | import com.yeshi.buwan.util.config.SystemConfigUtil; |
| | | import com.yeshi.buwan.videos.funtv.FunTVUtil; |
| | | import net.sf.json.JSONObject; |
| | | 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; |
| | | private VideoResourceVersionMapService videoResourceVersionMapService; |
| | | |
| | | public VideoResourceDao getVideoResourceDao() { |
| | | return videoResourceDao; |
| | | } |
| | | @Resource |
| | | private VideoResourcePlayVersionMapService videoResourcePlayVersionMapService; |
| | | |
| | | public void setVideoResourceDao(VideoResourceDao videoResourceDao) { |
| | | this.videoResourceDao = videoResourceDao; |
| | | } |
| | | @Resource |
| | | private DetailSystemConfigService detailSystemConfigService; |
| | | |
| | | @Cacheable(value = "homeCache", key = "'getAvailableResourceIds-'+'-'+#platform+'-'+#versionCode") |
| | | public List<Long> getAvailableResourceIds(String platform, int versionCode) { |
| | | List<VideoResource> resourceList = videoResourceDao.list("from VideoResource"); |
| | | List<Long> list = new ArrayList<>(); |
| | | if ("android".equalsIgnoreCase(platform)) {// Android |
| | | for (VideoResource vr : resourceList) { |
| | | String resourceName = vr.getName(); |
| | | if (resourceName.indexOf("爱奇艺") > -1) { |
| | | list.add(Long.parseLong(vr.getId())); |
| | | } else if (resourceName.indexOf("腾讯") > -1) |
| | | list.add(Long.parseLong(vr.getId())); |
| | | else if (resourceName.indexOf("搜狐") > -1) |
| | | list.add(Long.parseLong(vr.getId())); |
| | | else if (resourceName.indexOf("AcFun") > -1) |
| | | list.add(Long.parseLong(vr.getId())); |
| | | else if (resourceName.indexOf("风行") > -1) |
| | | list.add(Long.parseLong(vr.getId())); |
| | | else if (resourceName.indexOf("PPTV") > -1) { |
| | | //3.8.7以后的Android支持 |
| | | if (versionCode >= 105) { |
| | | 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())); |
| | | } |
| | | } |
| | | |
| | | } 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())); |
| | | } |
| | | @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.toLowerCase()); |
| | | // if (detailSystem.getId().equalsIgnoreCase("43") && versionCode > 83) { |
| | | // ridList = new ArrayList<>(); |
| | | //// ridList.add("19"); |
| | | //// ridList.add("24"); |
| | | // ridList.add("25"); |
| | | // } |
| | | ridList.remove(25+""); |
| | | ridList.remove(28+""); |
| | | if(Constant.IS_HAVE_FIRST_ONLINE) { |
| | | ridList.add(FunTVUtil.RESOURCE_ID + ""); |
| | | //是否是首次上线 |
| | | String firstOnLineValue = detailSystemConfigService.getConfigValueByKey("first_online_versions",detailSystem.getId(), versionCode); |
| | | if( SystemConfigUtil.isFirstOnLine(firstOnLineValue, channel, versionCode)){ |
| | | // 首次上线要打开风行 |
| | | ridList.add(FunTVUtil.RESOURCE_ID+""); |
| | | } |
| | | } |
| | | return list; |
| | | //韩剧上线的时候需要打开 |
| | | // if(detailSystem.getId().equalsIgnoreCase("51")){ |
| | | // ridList.add("28"); |
| | | // } |
| | | |
| | | // ridList.clear(); |
| | | // ridList.add("13"); |
| | | // ridList.add("22"); |
| | | |
| | | List<Long> ids = new ArrayList<>(); |
| | | if (ridList != null) { |
| | | for (String id : ridList) { |
| | | ids.add(Long.parseLong(id)); |
| | | } |
| | | } |
| | | |
| | | return ids; |
| | | } |
| | | |
| | | |
| | | @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.toLowerCase()); |
| | | // 韩剧上线需要打开注释 |
| | | // if(detailSystem.getId().equalsIgnoreCase("51")){ |
| | | // ridList.add("28"); |
| | | // } |
| | | // 首次上线要打开风行 |
| | | if(Constant.IS_HAVE_FIRST_ONLINE) { |
| | | ridList.add(FunTVUtil.RESOURCE_ID + ""); |
| | | String firstOnLineValue = detailSystemConfigService.getConfigValueByKey("first_online_versions", detailSystem.getId(), versionCode); |
| | | if (SystemConfigUtil.isFirstOnLine(firstOnLineValue, channel, versionCode)) { |
| | | ridList.add(FunTVUtil.RESOURCE_ID + ""); |
| | | } |
| | | } |
| | | |
| | | List<Long> ids = new ArrayList<>(); |
| | | if (ridList != null) { |
| | | for (String id : ridList) { |
| | | ids.add(Long.parseLong(id)); |
| | | } |
| | | } |
| | | |
| | | return ids; |
| | | } |
| | | |
| | | |