package com.yeshi.buwan.videos.hanmi;
|
|
import com.yeshi.buwan.dao.juhe.hanmi.VideoHanmiMapDao;
|
import com.yeshi.buwan.domain.*;
|
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.HanmiService;
|
import com.yeshi.buwan.util.StringUtil;
|
import com.yeshi.buwan.util.factory.VideoInfoFactory;
|
import com.yeshi.buwan.util.video.VideoConstant;
|
import com.yeshi.buwan.videos.bilibili.entity.BilibiliMediaInfo;
|
import com.yeshi.buwan.videos.bilibili.entity.BilibiliSearchVideoMap;
|
import com.yeshi.buwan.videos.bilibili.entity.BilibiliVideo;
|
import com.yeshi.buwan.videos.hanmi.entity.HanmiShow;
|
import com.yeshi.buwan.videos.hanmi.entity.HanmiShowEpisode;
|
import com.yeshi.buwan.videos.hanmi.entity.VideoHanmiMap;
|
import com.yeshi.buwan.videos.youku.YouKuUtil;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
@Component
|
public class HanmiUtil {
|
|
private final Logger logger = LoggerFactory.getLogger("HanmiUtil");
|
|
public final static int PLAY_NONE = 0;// 不能播放
|
public final static int PLAY_HTML = 1;// 跳转移动端网页播放
|
public final static int PLAY_SDK = 2;// 嵌套网页播放
|
|
public final static int RESOURCE_ID = 28;
|
public final static String RESOURCE_NAME = "韩剧TV";
|
@Resource
|
private HanmiService hanmiService;
|
|
@Resource
|
private VideoResourceService videoResourceService;
|
|
@Resource
|
private VideoTypeService videoTypeService;
|
|
@Resource
|
private VideoHanmiMapDao videoHanmiMapDao;
|
|
private void saveShow(List<HanmiShow> list) {
|
if (list == null)
|
return;
|
for (HanmiShow show : list)
|
hanmiService.saveShow(show);
|
}
|
|
|
public static VideoType getVideoType(HanmiShow show) {
|
|
switch (show.getType()) {
|
case "韩剧":
|
case "电视剧":
|
return new VideoType(VideoConstant.VIDEO_CATEGORY_DIANSHIJU);
|
case "韩综":
|
case "综艺":
|
return new VideoType(VideoConstant.VIDEO_CATEGORY_ZONGYI);
|
case "韩影":
|
case "电影":
|
return new VideoType(VideoConstant.VIDEO_CATEGORY_DIANYING);
|
}
|
|
return null;
|
}
|
|
|
public static VideoDetailInfo convertEpisodeToVideoDetail(HanmiShowEpisode episode) {
|
VideoDetailInfo vi = new VideoDetailInfo();
|
vi.setAdmin(new AdminInfo("1"));
|
vi.setId(null);
|
vi.setIntroduction("");
|
vi.setExtraId(episode.getId());
|
vi.setName(episode.getTag());
|
vi.setTag(episode.getTag());
|
vi.setType("album");
|
return vi;
|
}
|
|
|
public static int getPlayType(HanmiShowEpisode album) {
|
int type = PLAY_SDK;
|
return type;
|
}
|
|
public VideoInfo getVideoInfo(InternetSearchVideo internetSearchVideo, Integer pageSize) throws Exception {
|
VideoHanmiMap map = videoHanmiMapDao.selectByVideoId(internetSearchVideo.getId());
|
if (map == null) {
|
throw new Exception("视频源不存在");
|
}
|
|
//获取资源列表
|
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);
|
}
|
VideoInfo info = VideoInfoFactory.create(internetSearchVideo);
|
info.setResourceList(resourceList);
|
info.setShowType(YouKuUtil.getShowType(internetSearchVideo));
|
info.setPlayPicture(StringUtil.isNullOrEmpty(info.getHpicture())?info.getVpicture():info.getHpicture());
|
//获取分类详情
|
info.setVideoType(videoTypeService.getVideoType(info.getVideoType().getId()));
|
info.setCommentCount(0);
|
info.setVideocount((int) (Math.random() * 1000));
|
HanmiShow show = hanmiService.selectShowById(map.getShowId());
|
info.setScore(show.getScore());
|
info.setIntroduction(show.getDesc());
|
List<VideoDetailInfo> detailInfoList = hanmiService.getVideoDetailList(internetSearchVideo.getId(),1,pageSize);
|
info.setVideoDetailList(detailInfoList);
|
return info;
|
}
|
}
|