package com.yeshi.buwan.mogotv;
|
|
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.mogotv.entity.MogoTVClipInfo;
|
import com.yeshi.buwan.mogotv.entity.MogoTVSearchVideoMap;
|
import com.yeshi.buwan.mogotv.entity.MogoTVVideo;
|
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.MogoTVService;
|
import com.yeshi.buwan.util.factory.VideoInfoFactory;
|
import com.yeshi.buwan.util.video.VideoConstant;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
@Component
|
public class MogoTVUtil {
|
|
@Resource
|
private InternetSearchVideoService internetSearchVideoService;
|
|
@Resource
|
private MogoTVService mogoTVService;
|
|
@Resource
|
private VideoResourceService videoResourceService;
|
|
@Resource
|
private VideoTypeService videoTypeService;
|
|
public final static int RESOURCE_ID = 26;
|
|
|
public static VideoDetailInfo convertToDetail(MogoTVClipInfo clipInfo, MogoTVVideo mogoTVVideo) {
|
VideoDetailInfo detail = new VideoDetailInfo();
|
switch (clipInfo.getFstlvlType()) {
|
case "电影":
|
detail.setTag(clipInfo.getTitle());
|
break;
|
case "电视剧":
|
case "动漫":
|
detail.setTag(mogoTVVideo.getT1() + "");
|
break;
|
case "综艺":
|
detail.setTag(mogoTVVideo.getT4() + " " + mogoTVVideo.getT2());
|
break;
|
}
|
detail.setName(mogoTVVideo.getT2());
|
detail.setExtraId(mogoTVVideo.getVideo_id());
|
detail.setType("url");
|
return detail;
|
}
|
|
public VideoInfo getVideoInfo(InternetSearchVideo internetSearchVideo) throws Exception {
|
MogoTVSearchVideoMap map = mogoTVService.selectMapByVideoId(internetSearchVideo.getId());
|
if (map == null) {
|
throw new Exception("视频源不存在");
|
}
|
|
MogoTVClipInfo showDetail = mogoTVService.getSimpleClipDetail(map.getClipId());
|
showDetail.setVideoList(mogoTVService.getVideoList(showDetail.getClipId(), 1, 100,"综艺".equalsIgnoreCase(showDetail.getFstlvlType())?false:true));
|
VideoInfo info = VideoInfoFactory.create(internetSearchVideo);
|
info.setIntroduction(showDetail.getStory());
|
info.setVideoDetailList(MogoTVUtil.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(MogoTVUtil.getShowType(internetSearchVideo));
|
info.setScore("6.8");
|
|
//获取分类详情
|
info.setVideoType(videoTypeService.getVideoType(info.getVideoType().getId()));
|
info.setCommentCount(0);
|
info.setVideocount((int) (Math.random() * 1000));
|
|
return info;
|
}
|
|
|
public static List<VideoDetailInfo> convertToDetail(List<MogoTVVideo> mogoTVVideoList, MogoTVClipInfo clipInfo) {
|
List<VideoDetailInfo> detailList = new ArrayList<>();
|
for (MogoTVVideo video : mogoTVVideoList) {
|
detailList.add(convertToDetail(clipInfo, video));
|
}
|
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);
|
MogoTVVideo mogoTVVideo = mogoTVService.getVideoDetail(id);
|
playUrl.setUrl("https://m.mgtv.com"+mogoTVVideo.getUrl());
|
playUrl.setPlayType(1);
|
playUrl.setParams("");
|
return playUrl;
|
}
|
|
|
}
|