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