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 | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 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 cda1db5..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,7 +4,9 @@ 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; @@ -20,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; @@ -53,6 +65,7 @@ /** * 鑾峰彇token + * * @param cookie * @return */ -- Gitblit v1.8.0