From 19533a17aa55fafc70d0a385928e785cb50e1ebc Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 30 七月 2021 02:05:14 +0800
Subject: [PATCH] 爱奇艺视频更新

---
 src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java |   86 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java b/src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java
index ff04783..dc23e1b 100644
--- a/src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java
+++ b/src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java
@@ -9,7 +9,9 @@
 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 {
@@ -58,7 +60,26 @@
      * @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鐢靛奖涓�涓櫨绉慖D涓嬮潰鍙兘鏈夊涓棰戯紙鍥借鐗�/绮よ鐗堬級
+            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;
@@ -108,7 +129,7 @@
         }
 
 
-        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();
 
@@ -129,7 +150,7 @@
         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());
@@ -141,7 +162,7 @@
         vi.setWatchCount(0 + "");
         vi.setYear(year + "");
         vi.setUpdatetime(updateTime + "");
-        vi.setVideocount(series.getSeries().size());
+        vi.setVideocount(program != null ? 1 : series.getSeries().size());
         return vi;
     }
 
@@ -212,9 +233,14 @@
      * @return
      */
     public static String getPlayUrl(PPTVSeries series, PPTVProgram program) {
+        return getPlayUrl(series, program.getProgramCode());
+    }
+
+
+    public static String getPlayUrl(PPTVSeries series, String programCode) {
+        boolean isMovie = (series.getProgramType() != null && series.getProgramType().contains("鐢靛奖")) || (series.getProgramType2() != null && series.getProgramType2().contains("鐢靛奖"));
         //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(" http://vip.pptv.com/activity/2021/pg_bwysdqmovie?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", isMovie ? programCode : series.getSeriesCode(), programCode, isMovie ? 3 : 2);
     }
 
 
@@ -234,4 +260,52 @@
         return "1".equalsIgnoreCase((free + "").trim());
     }
 
+
+    /**
+     * 鑾峰彇鍟嗗搧璐拱鎴愬姛鐨勭紦瀛楰ey
+     *
+     * @param uid
+     * @param goodsNo
+     * @return
+     */
+    public static String getBuyGoodsCacheKey(String uid, String goodsNo) {
+        return String.format("pptvbuygoods-%s-%s", uid, goodsNo);
+    }
+
+
+    /**
+     * 鑾峰彇铏氭嫙鐨勮棰慖D
+     *
+     * @param cid
+     * @return
+     */
+    public static String getVisualVideoId(String cid, String vid) {
+        return "pptv-" + cid + "-" + vid;
+    }
+
+    /**
+     * 瑙f瀽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;
+        }
+    }
+
+
 }

--
Gitblit v1.8.0