admin
2021-02-04 e8e342cd6c1334f1b8f71d24baa3157637a9ac43
src/main/java/com/yeshi/buwan/pptv/PPTVUtil.java
@@ -4,6 +4,7 @@
import com.yeshi.buwan.domain.VideoType;
import com.yeshi.buwan.pptv.entity.PPTVProgram;
import com.yeshi.buwan.pptv.entity.PPTVSeries;
import com.yeshi.buwan.util.AESUtil;
import com.yeshi.buwan.util.StringUtil;
import com.yeshi.buwan.util.video.VideoConstant;
import com.yeshi.buwan.vo.AcceptData;
@@ -128,4 +129,71 @@
        }
    }
    /**
     * 获取pptv的用户ID
     *
     * @param uid
     * @return
     */
    public static String getPPTVUid(String uid) {
        return "buwan_" + uid;
    }
    /**
     * 获取pptvcode
     *
     * @param pptvUid
     * @return
     */
    public static String getPPTVCode(String pptvUid) {
        if (StringUtil.isNullOrEmpty(pptvUid))
            return null;
        return AESUtil.encrypt(pptvUid + "#" + System.currentTimeMillis());
    }
    public static String getUidFromPPTVUid(String pptvUid) {
        return pptvUid.split("_")[1];
    }
    /**
     * 解密PPTVCode
     *
     * @param code
     * @return
     */
    public static PPTVCodeInfo decryptPPTVCode(String code) {
        String info = AESUtil.decrypt(code);
        if (StringUtil.isNullOrEmpty(info)) {
            return null;
        } else {
            String[] sts = info.split("#");
            if (sts.length != 2)
                return null;
            PPTVCodeInfo codeInfo = new PPTVCodeInfo();
            codeInfo.pptvUid = sts[0];
            codeInfo.time = Long.parseLong(sts[1]);
            return codeInfo;
        }
    }
    /**
     * 获取播放链接
     *
     * @param series
     * @param program
     * @return
     */
    public static String getPlayUrl(PPTVSeries series, PPTVProgram program) {
        //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);
    }
    public static class PPTVCodeInfo {
        public String pptvUid;
        public long time;
    }
}