package com.yeshi.buwan.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.tencent.entity.TencentCoverInfo;
|
import com.yeshi.buwan.tencent.entity.TencentCoverVideo;
|
import com.yeshi.buwan.tencent.entity.TencentSearchVideoMap;
|
import com.yeshi.buwan.util.factory.VideoInfoFactory;
|
import com.yeshi.buwan.util.video.VideoConstant;
|
import com.yeshi.buwan.util.video.shortvideo.ShortVideoUtil;
|
import com.yeshi.buwan.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.getStage() + "");
|
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.getId(), 1, pageSize));
|
VideoInfo info = VideoInfoFactory.create(internetSearchVideo);
|
info.setIntroduction(showDetail.getDescription());
|
info.setVideoDetailList(convertToDetail(showDetail.getVideoList(), showDetail));
|
info.setPlayPicture(info.getHpicture());
|
//获取资源列表
|
List<String> rids = Arrays.asList(internetSearchVideo.getResourceIds().split(","));
|
List<VideoResource> 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));
|
info.setScore(new BigDecimal(showDetail.getScore().getScore()).setScale(1).toString());
|
|
//获取分类详情
|
info.setVideoType(videoTypeService.getVideoType(info.getVideoType().getId()));
|
info.setCommentCount(0);
|
info.setVideocount((int) (Math.random() * 1000));
|
|
return info;
|
}
|
|
|
public static List<VideoDetailInfo> convertToDetail(List<TencentCoverVideo> tencentCoverVideoList, TencentCoverInfo coverInfo) {
|
List<VideoDetailInfo> 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;
|
}
|
|
}
|