From b2699e4e0c66125254156fb54705e569094db499 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 09 三月 2019 16:15:22 +0800
Subject: [PATCH] 订单爬取规则修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java |  200 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 192 insertions(+), 8 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..4fa4ee5 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
@@ -14,6 +14,7 @@
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -29,13 +30,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 +52,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 +61,7 @@
 		orderQuery.orderScene = 3;
 		orderQuery.pageNo = page;
 		orderQuery.pageSize = 100;
+		orderQuery.span = span;
 		orderQuery.orderCountType = 2;
 		return queryTaoBaoOrder(orderQuery, appKey, appSecret);
 	}
@@ -69,12 +74,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 +97,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 +134,13 @@
 		orderQuery.orderScene = 1;
 		orderQuery.pageNo = page;
 		orderQuery.pageSize = 100;
-		orderQuery.orderCountType=2;
+		orderQuery.orderCountType = 2;
 		return queryTaoBaoOrder(orderQuery, appKey, appSecret);
 	}
-	
+
 	/**
 	 * 鑾峰彇绗笁鏂硅鍗�
+	 * 
 	 * @param startTime
 	 * @param span
 	 * @param page
@@ -321,4 +327,182 @@
 		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, Constant.TAOBAO_AUTH_APPKEY,
+				Constant.TAOBAO_AUTH_APPSECRET);
+		while (orderList.size() == 100 * page) {
+			page++;
+			List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.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, Constant.TAOBAO_AUTH_APPKEY,
+				Constant.TAOBAO_AUTH_APPSECRET);
+		while (orderList.size() == 100 * page) {
+			page++;
+			List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.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, Constant.TAOBAO_AUTH_APPKEY,
+				Constant.TAOBAO_AUTH_APPSECRET);
+		while (orderList.size() == 100 * page) {
+			page++;
+			List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.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, Constant.TAOBAO_AUTH_APPKEY,
+				Constant.TAOBAO_AUTH_APPSECRET);
+		while (orderList.size() == 100 * page) {
+			page++;
+			List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.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;
+	}
 }

--
Gitblit v1.8.0