From 2b81cf511b3055efc4434d5b7c69938c4ed692d5 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期四, 19 九月 2019 00:11:22 +0800 Subject: [PATCH] 订单API修改 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 82 ++++++++++++++++++++++++----------------- 1 files changed, 48 insertions(+), 34 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java index c51709f..ec139f4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java @@ -8,6 +8,7 @@ import java.util.Map; import com.yeshi.fanli.dto.order.OrderQuery; +import com.yeshi.fanli.dto.taobao.TaoBaoOrderResultDTO; import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoPunishOrder; @@ -400,16 +401,22 @@ return orderList; } - private static List<TaoBaoOrder> parseTaoBaoOrderNew(String response) { + private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) { + TaoBaoOrderResultDTO dto=new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>()); + List<TaoBaoOrder> orderList = new ArrayList<>(); JSONArray array = null; JSONObject data = JSONObject.fromObject(response); try { - array = data.optJSONObject("tbk_order_details_get_response").optJSONObject("data").optJSONObject("results") + JSONObject rootData=data.optJSONObject("tbk_order_details_get_response").optJSONObject("data"); + array =rootData .optJSONObject("results") .optJSONArray("publisher_order_dto"); + dto.setHasPre( rootData.optBoolean("has_pre")); + dto.setPositionIndex(rootData.optString("position_index")); + dto.setHasNext(rootData.optBoolean("has_next")); } catch (Exception e) { - return orderList; + return dto; } if (array != null) @@ -491,8 +498,8 @@ } } } - - return orderList; + dto.setOrderList(orderList); + return dto; } private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span, int tkStatus) { @@ -833,6 +840,10 @@ return finalResult; } + + /** + * 鏂扮増鏈窐瀹濊鍗� + */ /** * 鑾峰彇娣樺疂浼氬憳杩愯惀璁㈠崟 @@ -842,46 +853,48 @@ * @return */ public static List<TaoBaoOrder> getTaoBaoSpecialOrderList(long startTime, long endTime, int queryType) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - // 闂撮殧3灏忔椂 - long jianGe = endTime - startTime; - long page = jianGe / (1000 * 60 * 60 * 3L); - if (page == 0) - page = 1; - for (int i = 1; i <= page; i++) { - long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L); - long end = start + (1000 * 60 * 60 * 3L); - if (end > endTime) - end = endTime; - List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"), - TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 3); - if (tempOrderList != null) - orderList.addAll(tempOrderList); - } - return orderList; + return getTaoBaoOrderList(startTime, endTime, queryType, 3); } public static List<TaoBaoOrder> getTaoBaoRelationOrderList(long startTime, long endTime, int queryType) { + return getTaoBaoOrderList(startTime, endTime, queryType, 2); + } + + public static List<TaoBaoOrder> getTaoBaoCommonOrderList(long startTime, long endTime, int queryType) { + return getTaoBaoOrderList(startTime, endTime, queryType, 1); + } + + + public static List<TaoBaoOrder> getTaoBaoOrderList(long startTime, long endTime, int queryType,int orderScene) { List<TaoBaoOrder> orderList = new ArrayList<>(); - // 闂撮殧3灏忔椂 + // 璺ㄥ害20鍒嗛挓 + long span=(1000 * 60 * 20L); long jianGe = endTime - startTime; - long page = jianGe / (1000 * 60 * 60 * 3L); + long page = jianGe %span==0?jianGe/span:jianGe /span+1 ; if (page == 0) page = 1; for (int i = 1; i <= page; i++) { - long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L); - long end = start + (1000 * 60 * 60 * 3L); + long start = startTime + (i - 1) * span; + long end = start + span; if (end > endTime) end = endTime; - List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"), - TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 2); - if (tempOrderList != null) - orderList.addAll(tempOrderList); + TaoBaoOrderResultDTO dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"), + TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"),null, queryType, orderScene); + if (dto != null) + orderList.addAll(dto.getOrderList()); + while(dto.isHasNext()) + { + dto=queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"), + TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"),dto.getPositionIndex(), queryType, orderScene); + if (dto != null) + orderList.addAll(dto.getOrderList()); + } } return orderList; } + - public static List<TaoBaoOrder> queryNewOrder(String startTime, String endTime, int queryType, int orderScene) { + private static TaoBaoOrderResultDTO queryNewOrder(String startTime, String endTime,String positionIndex, int queryType, int orderScene) { Map<String, String> params = new HashMap<>(); params.put("query_type", queryType + ""); params.put("page_size", "100"); @@ -889,17 +902,18 @@ params.put("end_time", endTime); params.put("page_no", "1"); params.put("order_scene", orderScene + ""); + if(!StringUtil.isNullOrEmpty(positionIndex)) + params.put("position_index", positionIndex + ""); params.put("method", "taobao.tbk.order.details.get"); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); try { JSONObject json = TaoKeBaseUtil.baseRequest(params, app); - List<TaoBaoOrder> orderList = parseTaoBaoOrderNew(json.toString()); - return orderList; + return parseTaoBaoOrderNew(json.toString()); } catch (TaoKeApiException e) { e.printStackTrace(); } - return new ArrayList<>(); + return null; } } -- Gitblit v1.8.0