From b37275dba6b782bf3bb3817c4504f6cdef1bef7c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 18 三月 2021 18:38:51 +0800
Subject: [PATCH] APP首页顶部标签兼容

---
 src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java b/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java
index 20dd816..bdac890 100644
--- a/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java
+++ b/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java
@@ -1,6 +1,7 @@
 package com.yeshi.buwan.pptv;
 
 import com.google.gson.Gson;
+import com.yeshi.buwan.pptv.entity.PPTVProgram;
 import com.yeshi.buwan.pptv.entity.PPTVSeries;
 import com.yeshi.buwan.util.StringUtil;
 import com.yeshi.buwan.util.TimeUtil;
@@ -13,6 +14,7 @@
 import org.slf4j.LoggerFactory;
 import org.yeshi.utils.HttpUtil;
 
+import java.lang.reflect.Field;
 import java.net.URLEncoder;
 import java.util.*;
 
@@ -144,11 +146,37 @@
     }
 
     public static PPTVSeries getDetail(String seriesCodes) {
+        Gson gson = new Gson();
         Map<String, String> params = new HashMap<>();
         params.put("seriesCodes", seriesCodes);
         String result = baseRequest(params, "pptv.channel.content.detail");
-        System.out.println(result);
-        return null;
+        JSONObject resultJSON = JSONObject.fromObject(result);
+        JSONArray array = resultJSON.optJSONObject("response").optJSONObject("body").optJSONArray("contentInfos");
+        List<PPTVProgram> programList = new ArrayList<>();
+        PPTVSeries pptvSeries = null;
+        for (int i = 0; i < array.size(); i++) {
+            JSONObject item = array.optJSONObject(i);
+            if (pptvSeries == null)
+                pptvSeries = gson.fromJson(item.toString(), PPTVSeries.class);
+
+            List<String> keys = new ArrayList<>();
+            for (Iterator<String> its = item.keys(); its.hasNext(); ) {
+                String key = its.next();
+                if (!key.contains("series_")) {
+                    keys.add(key);
+                }
+            }
+
+            for (String key : keys) {
+                item.remove(key);
+            }
+
+            String itemStr = item.toString().replace("series_", "");
+            PPTVProgram program = gson.fromJson(itemStr, PPTVProgram.class);
+            programList.add(program);
+        }
+        pptvSeries.setSeries(programList);
+        return pptvSeries;
     }
 
 
@@ -185,7 +213,7 @@
      * @param code
      */
     public static boolean login(String code) {
-        String url = String.format("https://coapi.pptv.com/coapi-web/api/getUserToken/%s/%s.htm", APP_KEY,URLEncoder.encode(code));
+        String url = String.format("https://coapi.pptv.com/coapi-web/api/getUserToken/%s/%s.htm", APP_KEY, URLEncoder.encode(code));
         String result = HttpUtil.get(url);
         System.out.println(result);
         JSONObject resultJSON = JSONObject.fromObject(result);

--
Gitblit v1.8.0