From 248aa38c12a393d12c5ab721ee75fbd5c7dfbb9f Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期四, 18 四月 2019 12:31:28 +0800 Subject: [PATCH] Merge branch 'div' --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 273 insertions(+), 11 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 8bf89a4..deddf2b 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 @@ -6,20 +6,29 @@ import java.util.List; import java.util.Map; -import com.taobao.api.TaobaoObject; import com.yeshi.fanli.dto.order.OrderQuery; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; +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; import net.sf.json.JSONArray; import net.sf.json.JSONObject; //娣樺疂瀹PI鎺ュ彛 public class TaoKeOrderApiUtil { + + public static int TK_STATUS_ALL = 1; + public static int TK_STATUS_SETTLEMENT = 3; + public static int TK_STATUS_PAY = 12; + public static int TK_STATUS_SUCCESS = 14; + public static int TK_STATUS_INVALID = 13; + /** * 鑾峰彇浼氬憳璁㈠崟 * @@ -29,13 +38,16 @@ * @param appSecret * @return */ - public static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int page, String appKey, String appSecret) { + private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, String appKey, + String appSecret) { OrderQuery orderQuery = new OrderQuery(); orderQuery.startTime = startTime; orderQuery.tkStatus = 1; orderQuery.orderScene = 3; orderQuery.pageNo = page; orderQuery.pageSize = 100; + orderQuery.span = span; + orderQuery.orderQueryType = "create_time"; return queryTaoBaoOrder(orderQuery, appKey, appSecret); } @@ -48,7 +60,7 @@ * @param appSecret * @return */ - public static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int page, String appKey, + private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey, String appSecret) { OrderQuery orderQuery = new OrderQuery(); orderQuery.startTime = startTime; @@ -57,6 +69,7 @@ orderQuery.orderScene = 3; orderQuery.pageNo = page; orderQuery.pageSize = 100; + orderQuery.span = span; orderQuery.orderCountType = 2; return queryTaoBaoOrder(orderQuery, appKey, appSecret); } @@ -69,12 +82,12 @@ * @param appSecret * @return */ - public static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int page, String appKey, + private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, String appKey, String appSecret) { OrderQuery orderQuery = new OrderQuery(); orderQuery.startTime = startTime; - orderQuery.span = 1200; + orderQuery.span = span; orderQuery.tkStatus = 1; orderQuery.orderQueryType = "create_time"; orderQuery.orderScene = 2; @@ -92,11 +105,11 @@ * @param appSecret * @return */ - public static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int page, String appKey, + private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, String appKey, String appSecret) { OrderQuery orderQuery = new OrderQuery(); orderQuery.startTime = startTime; - orderQuery.span = 1200; + orderQuery.span = span; orderQuery.tkStatus = 1; orderQuery.orderQueryType = "create_time"; orderQuery.orderScene = 2; @@ -129,12 +142,13 @@ orderQuery.orderScene = 1; orderQuery.pageNo = page; orderQuery.pageSize = 100; - orderQuery.orderCountType=2; + orderQuery.orderCountType = 1; return queryTaoBaoOrder(orderQuery, appKey, appSecret); } - + /** * 鑾峰彇绗笁鏂硅鍗� + * * @param startTime * @param span * @param page @@ -152,6 +166,7 @@ orderQuery.orderScene = 1; orderQuery.pageNo = page; orderQuery.pageSize = 100; + orderQuery.orderCountType = 2; return queryTaoBaoOrder(orderQuery, appKey, appSecret); } @@ -164,8 +179,8 @@ map.put("start_time", "2019-01-01 00:00:00"); // map.put("start_time", "2019-01-01 00:00:00"); TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(Constant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(Constant.TAOBAO_AUTH_APPSECRET); + app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); try { JSONObject json = TaoKeBaseUtil.baseRequest(map, app); } catch (TaoKeApiException e) { @@ -321,4 +336,251 @@ return orderList; } + private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) { + int page = 1; + String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); + List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, TaoBaoConstant.TAOBAO_AUTH_APPKEY, + TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + while (orderList.size() == 100 * page) { + page++; + List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page, + 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 page = 1; + String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); + List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, + TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + while (orderList.size() == 100 * page) { + page++; + List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, + 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 page = 1; + String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); + List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, + TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + while (orderList.size() == 100 * page) { + page++; + List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page, + 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 page = 1; + String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); + List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, + TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + while (orderList.size() == 100 * page) { + page++; + List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, + 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) { + 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); + 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) { + 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); + 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) { + 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); + 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) { + 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); + 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; + 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; + } + + public static List<TaoBaoWeiQuanOrder> getTaoBaoWeiQuanOrderList() { + + return null; + } } -- Gitblit v1.8.0