| | |
| | | import com.yeshi.buwan.util.video.VideoConstant; |
| | | import com.yeshi.buwan.vo.AcceptData; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | public class PPTVUtil { |
| | |
| | | * @param series |
| | | * @return |
| | | */ |
| | | public static VideoInfo convertToVideoInfo(PPTVSeries series) { |
| | | public static List<VideoConvertResult> convertToVideoInfo(PPTVSeries series) { |
| | | Long videoTypeId = getVideoType(series); |
| | | |
| | | if (videoTypeId == null) |
| | | return null; |
| | | |
| | | List<VideoConvertResult> list = new ArrayList<>(); |
| | | |
| | | if (videoTypeId.longValue() == VideoConstant.VIDEO_CATEGORY_DIANYING) { |
| | | //PPTV电影一个百科ID下面可能有多个视频(国语版/粤语版) |
| | | for (PPTVProgram program : series.getSeries()) { |
| | | list.add(new VideoConvertResult(convertToVideoInfo(series, program), program.getProgramCode())); |
| | | } |
| | | } else { |
| | | list.add(new VideoConvertResult(convertToVideoInfo(series, null), null)); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private static VideoInfo convertToVideoInfo(PPTVSeries series, PPTVProgram program) { |
| | | int year = Integer.parseInt(series.getReleaseYear()); |
| | | int month = 1; |
| | | int day = 1; |
| | |
| | | } |
| | | |
| | | |
| | | String latestHpicture = series.getSeries().get(series.getSeries().size() - 1).getSubHorCover(); |
| | | String latestHpicture = program != null ? program.getSubHorCover() : series.getSeries().get(series.getSeries().size() - 1).getSubHorCover(); |
| | | |
| | | long updateTime = System.currentTimeMillis(); |
| | | |
| | |
| | | vi.setLatestVpicture(""); |
| | | vi.setMainActor(mainActor); |
| | | vi.setMonth(month + ""); |
| | | vi.setName(series.getName()); |
| | | vi.setName(program != null ? program.getProgramSetTiltle() : series.getName()); |
| | | vi.setNowNumber(0 + ""); |
| | | vi.setOrderby("0"); |
| | | vi.setPicture(series.getCover()); |
| | |
| | | vi.setWatchCount(0 + ""); |
| | | vi.setYear(year + ""); |
| | | vi.setUpdatetime(updateTime + ""); |
| | | vi.setVideocount(series.getSeries().size()); |
| | | vi.setVideocount(program != null ? 1 : series.getSeries().size()); |
| | | return vi; |
| | | } |
| | | |
| | |
| | | * @return |
| | | */ |
| | | public static String getPlayUrl(PPTVSeries series, PPTVProgram program) { |
| | | return getPlayUrl(series, program.getProgramCode()); |
| | | } |
| | | |
| | | |
| | | public static String getPlayUrl(PPTVSeries series, String programCode) { |
| | | //programtype 电影-3 其他-2 |
| | | return String.format("https://acmd.api.pptv.com/2021/bwysdqmovie_thrid_h5.html?cid=%s&vid=%s&programtype=%s", series.getSeriesCode(), program.getProgramCode(), series.getProgramType().contains("电影") ? 3 : 2); |
| | | return String.format("https://acmd.api.pptv.com/2021/bwysdqmovie_thrid_h5.html?cid=%s&vid=%s&programtype=%s", series.getSeriesCode(), programCode, series.getProgramType().contains("电影") ? 3 : 2); |
| | | // return String.format(" http://vip.pptv.com/activity/2021/pg_bwysdqmovie?cid=%s&vid=%s&programtype=%s", series.getSeriesCode(), program.getProgramCode(), series.getProgramType().contains("电影") ? 3 : 2); |
| | | } |
| | | |
| | |
| | | return "1".equalsIgnoreCase((free + "").trim()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取商品购买成功的缓存Key |
| | | * |
| | | * @param uid |
| | | * @param goodsNo |
| | | * @return |
| | | */ |
| | | public static String getBuyGoodsCacheKey(String uid, String goodsNo) { |
| | | return String.format("pptvbuygoods-%s-%s", uid, goodsNo); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取虚拟的视频ID |
| | | * |
| | | * @param cid |
| | | * @return |
| | | */ |
| | | public static String getVisualVideoId(String cid, String vid) { |
| | | return "pptv-" + cid + "-" + vid; |
| | | } |
| | | |
| | | /** |
| | | * 解析infoId |
| | | * |
| | | * @param videoId |
| | | * @return |
| | | */ |
| | | public static String[] parseCidAndVidFromVisualVideoId(String videoId) { |
| | | if (videoId == null) |
| | | return null; |
| | | if (!videoId.contains("pptv-")) |
| | | return null; |
| | | return videoId.replace("pptv-", "").trim().split("-"); |
| | | } |
| | | |
| | | public static class VideoConvertResult { |
| | | public VideoInfo videoInfo; |
| | | public String programCode; |
| | | |
| | | public VideoConvertResult(VideoInfo videoInfo, String programCode) { |
| | | this.videoInfo = videoInfo; |
| | | this.programCode = programCode; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |