admin
2024-09-05 ab35ac8b769b2d9816dffb33a64f2c6f7bd5dd6e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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;
    }
}