From 0ab8a2ea521a838124f517daf4e61dee971a6d4c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 20 六月 2020 19:04:37 +0800
Subject: [PATCH] 商品系统完善

---
 src/main/java/com/ks/tool/bkz/util/FirstOrderSubDataUtil.java |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ks/tool/bkz/util/FirstOrderSubDataUtil.java b/src/main/java/com/ks/tool/bkz/util/FirstOrderSubDataUtil.java
index 44b9a78..c815523 100644
--- a/src/main/java/com/ks/tool/bkz/util/FirstOrderSubDataUtil.java
+++ b/src/main/java/com/ks/tool/bkz/util/FirstOrderSubDataUtil.java
@@ -4,11 +4,15 @@
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
-import com.ks.tool.bkz.dto.FirstOrderSubInfoDTO;
+import com.ks.tool.bkz.dto.FirstOrderSubParseResult;
+import com.ks.tool.bkz.entity.FirstOrderSubInfo;
+import com.ks.tool.bkz.exception.TBCookieException;
 
 import java.lang.reflect.Type;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 public class FirstOrderSubDataUtil {
 
@@ -18,18 +22,28 @@
      * @param data
      * @return
      */
-    public static List<FirstOrderSubInfoDTO> parseOrderSubData(String data) {
+    public static FirstOrderSubParseResult parseOrderSubData(String data) throws TBCookieException {
+        data = data.trim().substring(data.indexOf("("));
+        if (data.endsWith(")"))
+            data = data.substring(0, data.length() - 1);
+
+        //Cookie杩囨湡
         JSONObject dataJSON = JSONObject.parseObject(data);
+        if (dataJSON.getJSONArray("ret") != null && dataJSON.getJSONArray("ret").toString().contains("浠ょ墝"))
+            throw new TBCookieException(1,"cookie澶辨晥");
+
         JSONObject resultValue = dataJSON.getJSONObject("data").getJSONObject("resultValue");
 
         for (Iterator<String> its = resultValue.keySet().iterator(); its.hasNext(); ) {
             String key = its.next();
             if (NumberUtil.isNumeric(key)) {
-                JSONArray array = resultValue.getJSONObject(key).getJSONObject("data").getJSONArray("entity").getJSONObject(0).getJSONArray("model");
-                Type type = new TypeToken<List<FirstOrderSubInfoDTO>>() {
+                JSONObject entity = resultValue.getJSONObject(key).getJSONObject("data").getJSONArray("entity").getJSONObject(0);
+                boolean hasNextPage = entity.getBoolean("hasNextPage");
+                JSONArray array = entity.getJSONArray("model");
+                Type type = new TypeToken<List<FirstOrderSubInfo>>() {
                 }.getType();
-                List<FirstOrderSubInfoDTO> list = new Gson().fromJson(array.toString(), type);
-                return list;
+                List<FirstOrderSubInfo> list = new Gson().fromJson(array.toString(), type);
+                return new FirstOrderSubParseResult(hasNextPage, list);
             }
         }
         return null;
@@ -44,9 +58,26 @@
      * @param data
      * @return
      */
-    public static String getSign(String token, long time, String appKey, String data) {
+    public static String getSign(String token, String time, String appKey, String data) {
         return StringUtil.Md5(String.format("%s&%s&%s&%s", token, time, appKey, data));
     }
 
 
+    /**
+     * 鑾峰彇token
+     *
+     * @param cookie
+     * @return
+     */
+    public static String getTokenFromCookie(String cookie) {
+        Map<String, String> map = new HashMap<>();
+        String[] sts = cookie.split(";");
+        for (String st : sts) {
+            map.put(st.split("=")[0].trim(), st.split("=")[1].trim());
+        }
+        String tk = map.get("_m_h5_tk");
+        return tk.split("_")[0];
+    }
+
+
 }

--
Gitblit v1.8.0