From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 573 ++++++++------------------------------------------------ 1 files changed, 89 insertions(+), 484 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..48df09b 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 @@ -7,14 +7,16 @@ import java.util.List; 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.TaoBaoOrderGoods; import com.yeshi.fanli.entity.taobao.TaoBaoPunishOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; @@ -30,165 +32,6 @@ public static int TK_STATUS_PAY = 12; public static int TK_STATUS_SUCCESS = 14; public static int TK_STATUS_INVALID = 13; - - /** - * 鑾峰彇浼氬憳璁㈠崟 - * - * @param startTime-寮�濮嬫椂闂� - * @param page-椤电爜 - * @param appKey - * @param appSecret - * @return - */ - private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, int tkStatus, - String appKey, String appSecret) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.tkStatus = tkStatus; - orderQuery.orderScene = 3; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - orderQuery.span = span; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } - - /** - * 鑾峰彇绗笁鏂逛細鍛樿鍗� - * - * @param startTime - * @param page - * @param appKey - * @param appSecret - * @return - */ - private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, int tkStatus, - String appKey, String appSecret) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.tkStatus = tkStatus; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - orderQuery.orderScene = 3; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - orderQuery.span = span; - orderQuery.orderCountType = 2; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } - - /** - * 鑾峰彇娓犻亾璁㈠崟 - * - * @param startTime - * @param appKey - * @param appSecret - * @return - */ - private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, int tkStatus, - String appKey, String appSecret) { - - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.span = span; - orderQuery.tkStatus = tkStatus; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - orderQuery.orderScene = 2; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } - - /** - * 绗笁鏂规笭閬撹鍗� - * - * @param startTime - * @param page - * @param appKey - * @param appSecret - * @return - */ - private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, int tkStatus, - String appKey, String appSecret) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.span = span; - orderQuery.tkStatus = tkStatus; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - orderQuery.orderScene = 2; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - orderQuery.orderCountType = 2; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } - - /** - * 鑾峰彇鎵�鏈夌殑璁㈠崟锛堜笉甯︽笭閬撲俊鎭笌浼氬憳淇℃伅锛� - * - * @param startTime - * @param appKey - * @param appSecret - * @return - */ - public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret, int tkStatus) { - - return getTaoBaoAllOrder(startTime, 1200, 1, tkStatus, appKey, appSecret); - } - - public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, int tkStatus, String appKey, - String appSecret) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.span = span; - orderQuery.tkStatus = tkStatus; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - orderQuery.orderScene = 1; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - orderQuery.orderCountType = 1; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } - - /** - * 鑾峰彇绗笁鏂硅鍗� - * - * @param startTime - * @param span - * @param page - * @param appKey - * @param appSecret - * @return - */ - public static List<TaoBaoOrder> getTaoBaoThirdAllOrder(String startTime, int span, int page, int tkStatus, - String appKey, String appSecret) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.startTime = startTime; - orderQuery.span = span; - orderQuery.tkStatus = tkStatus; - if (tkStatus == TK_STATUS_SETTLEMENT) - orderQuery.orderQueryType = "settle_time"; - else - orderQuery.orderQueryType = "create_time"; - orderQuery.orderScene = 1; - orderQuery.pageNo = page; - orderQuery.pageSize = 100; - orderQuery.orderCountType = 2; - return queryTaoBaoOrder(orderQuery, appKey, appSecret); - } private static TaoBaoPunishOrder parsePunishOrder(JSONObject data) { TaoBaoPunishOrder order = new TaoBaoPunishOrder(); @@ -257,48 +100,6 @@ } } return resultList; - } - - private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) { - - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.order.get"); - map.put("fields", - "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id"); - if (orderQuery.startTime != null) - map.put("start_time", orderQuery.startTime); - if (orderQuery.span != null) - map.put("span", orderQuery.span + ""); - map.put("page_no", orderQuery.pageNo + ""); - map.put("page_size", orderQuery.pageSize + ""); - - if (orderQuery.tkStatus != null) - map.put("tk_status", orderQuery.tkStatus + ""); - if (orderQuery.orderQueryType != null) - map.put("order_query_type", orderQuery.orderQueryType); - if (orderQuery.orderScene != null) - map.put("order_scene", orderQuery.orderScene + ""); - - if (orderQuery.orderCountType != null) - map.put("order_count_type", orderQuery.orderCountType + ""); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(appKey); - app.setAppSecret(appSecret); - try { - JSONObject json = TaoKeBaseUtil.baseRequest(map, app); - return parseTaoBaoOrder(json.toString()); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - return null; } private static List<TaoBaoOrder> parseTaoBaoOrder(String response) { @@ -388,6 +189,18 @@ taoBaoOrder.setRelationId(item.optString("relation_id")); taoBaoOrder.setSpecialId(item.optString("special_id")); taoBaoOrder.setTradeId(item.optString("trade_id")); + // 瑙f瀽鍟嗗搧淇℃伅 + TaoBaoOrderGoods goods = new TaoBaoOrderGoods(); + goods.setCategoryName(item.optString("item_category_name")); + goods.setCreateTime(new Date()); + goods.setGoodsId(item.optLong("item_id")); + goods.setImg(item.optString("item_img")); + goods.setLink(item.optString("item_link")); + goods.setPrice(item.optString("item_price")); + goods.setTitle(item.optString("item_title")); + goods.setTradeId(item.optString("trade_id")); + + taoBaoOrder.setGoods(goods); orderList.add(taoBaoOrder); } catch (Exception e) { try { @@ -400,16 +213,21 @@ 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") - .optJSONArray("publisher_order_dto"); + 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) @@ -423,6 +241,7 @@ taoBaoOrder.setAuctionId(item.optLong("item_id")); taoBaoOrder.setClassName(item.optString("item_category_name")); taoBaoOrder.setClickTime(item.optString("click_time")); + taoBaoOrder.setPayTime(item.optString("tb_paid_time")); taoBaoOrder.setCount(item.optInt("item_num")); taoBaoOrder.setCreateTime(item.optString("tk_create_time")); if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee"))) @@ -453,11 +272,14 @@ taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price"))); else taoBaoOrder.setPayment(new BigDecimal(0)); - taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price"))); + if (StringUtil.isNullOrEmpty(item.optString("item_price"))) + taoBaoOrder.setPrice(new BigDecimal(0)); + else + taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price"))); if (!StringUtil.isNullOrEmpty(item.optString("pay_price"))) taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price"))); else - taoBaoOrder.setSettlement(new BigDecimal(0)); + taoBaoOrder.setSettlement(taoBaoOrder.getPayment()); taoBaoOrder.setSettlementTime(item.optString("tk_earning_time")); taoBaoOrder.setShop(item.optString("seller_shop_title")); taoBaoOrder.setSourceMediaId(item.optString("site_id")); @@ -491,252 +313,8 @@ } } } - - return orderList; - } - - private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span, int tkStatus) { - int page = 1; - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - while (orderList.size() == 100 * page) { - page++; - List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇绗笁鏂规櫘閫氳鍗� - * - * @param startTime - * @param span - * @return - */ - private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span, int tkStatus) { - int page = 1; - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - while (orderList.size() == 100 * page) { - page++; - List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - private static List<TaoBaoOrder> getRelationOrder(long startTime, int span, int tkStatus) { - int page = 1; - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - while (orderList.size() == 100 * page) { - page++; - List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span, int tkStatus) { - int page = 1; - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - while (orderList.size() == 100 * page) { - page++; - List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus, - TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇鏌愪釜鍖洪棿鐨勪細鍛樿鍗� - * - * @param startTime - * @param endTime - * @return - */ - public static List<TaoBaoOrder> getSpecialOrder(long startTime, long endTime, int tkStatus) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1; - int count = (int) (span / 1200); - if (span % 1200 != 0) - count++; - for (int i = 0; i < count; i++) { - long startT = startTime + i * 1200 * 1000L; - int s = 1200; - if (endTime < startT + 1200 * 1000L) { - s = (int) ((endTime - startT) / 1000) + 1; - if (s < 60) - s = 60; - } - List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s, tkStatus); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇鏌愪釜鍖洪棿鐨勭涓夋柟浼氬憳璁㈠崟 - * - * @param startTime - * @param endTime - * @return - */ - public static List<TaoBaoOrder> getThirdSpecialOrder(long startTime, long endTime, int tkStatus) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1; - int count = (int) (span / 1200); - if (span % 1200 != 0) - count++; - for (int i = 0; i < count; i++) { - long startT = startTime + i * 1200 * 1000L; - int s = 1200; - if (endTime < startT + 1200 * 1000L) { - s = (int) ((endTime - startT) / 1000) + 1; - if (s < 60) - s = 60; - } - List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s, tkStatus); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇娓犻亾璁㈠崟 - * - * @param startTime - * @param endTime - * @return - */ - public static List<TaoBaoOrder> getRelationOrder(long startTime, long endTime, int tkStatus) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1; - int count = (int) (span / 1200); - if (span % 1200 != 0) - count++; - for (int i = 0; i < count; i++) { - long startT = startTime + i * 1200 * 1000L; - int s = 1200; - if (endTime < startT + 1200 * 1000L) { - s = (int) ((endTime - startT) / 1000) + 1; - if (s < 60) - s = 60; - } - List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s, tkStatus); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇鏌愪釜鍖洪棿鐨勭涓夋柟娓犻亾璁㈠崟 - * - * @param startTime - * @param endTime - * @return - */ - public static List<TaoBaoOrder> getThirdRelationOrder(long startTime, long endTime, int tkStatus) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1; - int count = (int) (span / 1200); - if (span % 1200 != 0) - count++; - for (int i = 0; i < count; i++) { - long startT = startTime + i * 1200 * 1000L; - int s = 1200; - if (endTime < startT + 1200 * 1000L) { - s = (int) ((endTime - startT) / 1000) + 1; - if (s < 60) - s = 60; - } - List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s, tkStatus); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - private static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, int span, boolean third) { - OrderQuery orderQuery = new OrderQuery(); - orderQuery.span = span; - orderQuery.orderQueryType = "settle_time"; - orderQuery.orderScene = 1; - orderQuery.pageSize = 100; - orderQuery.tkStatus = TK_STATUS_SETTLEMENT; - int page = 1; - orderQuery.pageNo = page; - if (third) - orderQuery.orderCountType = 2; - else - orderQuery.orderCountType = 1; - - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - orderQuery.startTime = startTimeStr; - List<TaoBaoOrder> orderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY, - TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - while (orderList.size() == 100 * page) { - page++; - orderQuery.pageNo = page; - List<TaoBaoOrder> tempOrderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY, - TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - } - return orderList; - } - - /** - * 鑾峰彇缁撶畻璁㈠崟 - * - * @param startTime - * @param endTime - * @param third - * -鏄惁涓虹涓夋柟璁㈠崟 - * @return - */ - public static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, long endTime, boolean third) { - List<TaoBaoOrder> orderList = new ArrayList<>(); - long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1; - int count = (int) (span / 1200); - if (span % 1200 != 0) - count++; - for (int i = 0; i < count; i++) { - long startT = startTime + i * 1200 * 1000L; - int s = 1200; - if (endTime < startT + 1200 * 1000L) { - s = (int) ((endTime - startT) / 1000) + 1; - if (s < 60) - s = 60; - } - List<TaoBaoOrder> tempOrderList = getTaoBaoSettleOrders(startT, s, third); - if (tempOrderList != null && tempOrderList.size() > 0) - orderList.addAll(tempOrderList); - - try { - Thread.sleep(1000 * 10);// 鍔犱釜寤舵椂锛岄槻姝PI璇锋眰棰戠巼闄愬埗 - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - return orderList; + dto.setOrderList(orderList); + return dto; } public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page, @@ -835,6 +413,10 @@ } /** + * 鏂扮増鏈窐瀹濊鍗� + */ + + /** * 鑾峰彇娣樺疂浼氬憳杩愯惀璁㈠崟 * * @param startTime @@ -842,46 +424,66 @@ * @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); } + /** + * 娣樺疂娓犻亾璁㈠崟 + * + * @param startTime + * @param endTime + * @param queryType + * @return + */ 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) { + /** + * 娣樺疂璁㈠崟鏌ヨ + * + * @param startTime + * @param endTime + * @param positionIndex + * @param queryType + * 1锛氭寜鐓ц鍗曟窐瀹㈠垱寤烘椂闂存煡璇紝2:鎸夌収璁㈠崟娣樺浠樻鏃堕棿鏌ヨ锛�3:鎸夌収璁㈠崟娣樺缁撶畻鏃堕棿鏌ヨ + * @param orderScene + * @return + */ + 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 +491,20 @@ 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; - } catch (TaoKeApiException e) { + if (Constant.IS_TEST) + System.out.println(json); + return parseTaoBaoOrderNew(json.toString()); + } catch (Exception e) { e.printStackTrace(); } - return new ArrayList<>(); + return null; } } -- Gitblit v1.8.0