package com.yeshi.buwan.videos.tencent; import com.yeshi.buwan.domain.VideoDetailInfo; import com.yeshi.buwan.domain.VideoInfo; import com.yeshi.buwan.domain.VideoResource; import com.yeshi.buwan.domain.entity.PlayUrl; import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.service.imp.VideoResourceService; import com.yeshi.buwan.service.imp.VideoTypeService; import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.service.inter.juhe.TencentVideoService; import com.yeshi.buwan.service.manager.search.SolrShortVideoDataManager; import com.yeshi.buwan.videos.tencent.entity.TencentCoverInfo; import com.yeshi.buwan.videos.tencent.entity.TencentCoverVideo; import com.yeshi.buwan.videos.tencent.entity.TencentSearchVideoMap; import com.yeshi.buwan.util.factory.VideoInfoFactory; import com.yeshi.buwan.util.video.VideoConstant; import com.yeshi.buwan.videos.youku.YouKuUtil; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @Component public class TencentVideoUtil { @Resource private InternetSearchVideoService internetSearchVideoService; @Resource private TencentVideoService tencentVideoService; @Resource private VideoResourceService videoResourceService; @Resource private VideoTypeService videoTypeService; @Resource private SolrShortVideoDataManager solrShortVideoDataManager; public final static int RESOURCE_ID = 17; public static VideoDetailInfo convertToDetail(TencentCoverVideo tencentCoverVideo, TencentCoverInfo coverInfo) { VideoDetailInfo detail = new VideoDetailInfo(); switch (coverInfo.getType_name()) { case "电影": detail.setTag(coverInfo.getTitle()); break; case "电视剧": case "动漫": detail.setTag(tencentCoverVideo.getTitle() + ""); break; case "综艺": detail.setTag(tencentCoverVideo.getDate()); break; } detail.setName(coverInfo.getTitle()); detail.setExtraId(tencentCoverVideo.getVideoId()); detail.setType("url"); return detail; } public VideoInfo getVideoInfo(InternetSearchVideo internetSearchVideo, Integer pageSize) throws Exception { TencentSearchVideoMap map = tencentVideoService.selectMapByVideoId(internetSearchVideo.getId()); if (map == null) { throw new Exception("视频源不存在"); } TencentCoverInfo showDetail = tencentVideoService.getSimpleCoverDetail(map.getCoverId()); showDetail.setVideoList(tencentVideoService.getVideoList(showDetail.getCover_id(), 1, pageSize)); VideoInfo info = VideoInfoFactory.create(internetSearchVideo); info.setIntroduction(showDetail.getDescription()); info.setVideoDetailList(convertToDetail(showDetail.getVideoList(), showDetail)); info.setPlayPicture(info.getHpicture()); //获取资源列表 List rids = Arrays.asList(internetSearchVideo.getResourceIds().split(",")); List resourceList = videoResourceService.getResource(rids); for (VideoResource vr : resourceList) { if (vr.getId().equalsIgnoreCase(RESOURCE_ID + "")) vr.setChecked(true); } info.setResourceList(resourceList); info.setShowType(YouKuUtil.getShowType(internetSearchVideo)); if(showDetail.getScore()!=null) { info.setScore(new BigDecimal(showDetail.getScore()).setScale(1).toString()); }else{ info.setScore(new BigDecimal("9.0").toString()); } //获取分类详情 info.setVideoType(videoTypeService.getVideoType(info.getVideoType().getId())); info.setCommentCount(0); info.setVideocount((int) (Math.random() * 1000)); return info; } public static List convertToDetail(List tencentCoverVideoList, TencentCoverInfo coverInfo) { List detailList = new ArrayList<>(); for (TencentCoverVideo video : tencentCoverVideoList) { detailList.add(convertToDetail(video, coverInfo)); } return detailList; } public static int getShowType(InternetSearchVideo video) { if (video == null) return 2; switch (video.getRootType()) { case VideoConstant .VIDEO_CATEGORY_DIANYING: return 1; case VideoConstant .VIDEO_CATEGORY_DIANSHIJU: case VideoConstant .VIDEO_CATEGORY_DONGMAN: return 2; case VideoConstant .VIDEO_CATEGORY_ZONGYI: return 1; } return 2; } public PlayUrl getPlayUrl(String detailSystemId, String id, String type, int resourceid, String videoid) { PlayUrl playUrl = new PlayUrl(); VideoResource videoResource = videoResourceService.getResource(resourceid + ""); playUrl.setResource(videoResource); TencentCoverVideo tencentCoverVideo = tencentVideoService.getVideoDetail(id); playUrl.setUrl(tencentCoverVideo.getLink()); playUrl.setPlayType(1); playUrl.setParams(""); return playUrl; } }