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/job/UpdateRelationAndSpecialOrderJob.java |  194 ++++++------------------------------------------
 1 files changed, 26 insertions(+), 168 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
index f77fe88..f676450 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
@@ -39,18 +39,6 @@
 	private RedisManager redisManager;
 
 	/**
-	 * 鏇存柊娓犻亾璁㈠崟(鏈�澶�20鍒嗛挓)
-	 * 
-	 * @param startTime
-	 */
-	private void updateRelationOrder(long startTime) {
-		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoRelationOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY,
-				Constant.TAOBAO_AUTH_APPSECRET);
-		addRelationAndSpecialOrder(orderList);
-	}
-
-	/**
 	 * 鏇存柊娓犻亾璁㈠崟
 	 * 
 	 * @param fromPage
@@ -58,146 +46,18 @@
 	 * @param toPage
 	 *            缁撴潫椤电爜锛堟瘡椤�100鏉℃暟鎹級
 	 */
-	private void updateRelationOrder(int fromPage, int toPage) {
-		// 鏈�杩�90澶╃殑璁㈠崟
-		String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L,
-				"yyyy-MM-dd HH:mm:ss");
-
-		Comparator<TaoBaoOrder> cm = new Comparator<TaoBaoOrder>() {
-			@Override
-			public int compare(TaoBaoOrder o1, TaoBaoOrder o2) {
-				long span = TimeUtil.convertToTimeTemp(o2.getCreateTime(), "yyyy-MM-dd HH:mm:ss")
-						- TimeUtil.convertToTimeTemp(o1.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
-				if (span > 0)
-					return 1;
-				else if (span == 0)
-					return 0;
-				else
-					return -1;
-			}
-		};
-
-		for (int p = fromPage; p < toPage; p++) {
-			// 鐖彇2鏂硅鍗�
-			List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoRelationOrder(startTimeStr, p,
-					Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
-			Collections.sort(orderList, cm);
-			List<TaoBaoOrder> commonOrderList = UpdateOrderJob.getCommonOrder(
-					TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(),
-							"yyyy-MM-dd HH:mm:ss"),
-					TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
-
-			List<TaoBaoOrder> list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList);
-			Collections.sort(list, cm);
-			addRelationAndSpecialOrder(list);
-
-			orderList = TaoKeOrderApiUtil.getTaoBaoRelationThirdOrder(startTimeStr, p, Constant.TAOBAO_AUTH_APPKEY,
-					Constant.TAOBAO_AUTH_APPSECRET);
-			Collections.sort(orderList, cm);
-			// 鐖彇涓夋柟璁㈠崟
-			commonOrderList = UpdateOrderJob.getThirdCommonOrder(
-					TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(),
-							"yyyy-MM-dd HH:mm:ss"),
-					TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
-			list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList);
-			Collections.sort(list, cm);
-			addRelationAndSpecialOrder(list);
-		}
-	}
-
-	/**
-	 * 鎸夊ぉ鏇存柊
-	 * 
-	 * @param day
-	 */
-	private void updateRelationOrderByDay(String day) {
-		long timestamp = TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd");
-		for (int i = 0; i < 72; i++) {
-			updateRelationOrder(timestamp + 1000 * 60 * 20L * i);
-		}
-	}
-
-	/**
-	 * 鏇存柊浼氬憳璁㈠崟(鏈�澶�20鍒嗛挓)
-	 * 
-	 * @param startTime
-	 */
-	private void updateSpecialOrder(long startTime) {
-		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSpecialOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY,
-				Constant.TAOBAO_AUTH_APPSECRET);
-		addRelationAndSpecialOrder(orderList);
-
-		orderList = TaoKeOrderApiUtil.getTaoBaoSpecialThirdOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY,
-				Constant.TAOBAO_AUTH_APPSECRET);
-		addRelationAndSpecialOrder(orderList);
-	}
-
-	/**
-	 * 鏇存柊浼氬憳璁㈠崟锛堬級
-	 * 
-	 * @param fromPage-寮�濮嬮〉鐮�
-	 * @param toPage-缁撴潫椤电爜锛堟瘡椤�20鏉℃暟鎹級
-	 */
-	private void updateSpecialOrder(int fromPage, int toPage) {
-		// 鏈�杩�90澶╃殑璁㈠崟
-		String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L,
-				"yyyy-MM-dd HH:mm:ss");
-
-		Comparator<TaoBaoOrder> cm = new Comparator<TaoBaoOrder>() {
-			@Override
-			public int compare(TaoBaoOrder o1, TaoBaoOrder o2) {
-				long span = TimeUtil.convertToTimeTemp(o2.getCreateTime(), "yyyy-MM-dd HH:mm:ss")
-						- TimeUtil.convertToTimeTemp(o1.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
-				if (span > 0)
-					return 1;
-				else if (span == 0)
-					return 0;
-				else
-					return -1;
-			}
-		};
-
-		for (int p = fromPage; p < toPage; p++) {
-			// 鐖彇2鏂硅鍗�
-			List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSpecialOrder(startTimeStr, p,
-					Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
-			Collections.sort(orderList, cm);
-			List<TaoBaoOrder> commonOrderList = UpdateOrderJob.getCommonOrder(
-					TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(),
-							"yyyy-MM-dd HH:mm:ss"),
-					TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
-
-			List<TaoBaoOrder> list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList);
-			Collections.sort(list, cm);
-			addRelationAndSpecialOrder(list);
-
-			
-			// 鐖彇涓夋柟璁㈠崟
-			orderList = TaoKeOrderApiUtil.getTaoBaoSpecialThirdOrder(startTimeStr, p, Constant.TAOBAO_AUTH_APPKEY,
-					Constant.TAOBAO_AUTH_APPSECRET);
-			Collections.sort(orderList, cm);
-			
-			commonOrderList = UpdateOrderJob.getThirdCommonOrder(
-					TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(),
-							"yyyy-MM-dd HH:mm:ss"),
-					TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
-			list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList);
-			Collections.sort(list, cm);
-			addRelationAndSpecialOrder(list);
-		}
-	}
-
-	/**
-	 * 鎸夊ぉ鏇存柊
-	 * 
-	 * @param day
-	 */
-	private void updateSpecialOrderByDay(String day) {
-		long timestamp = TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd");
-		for (int i = 0; i < 72; i++) {
-			updateSpecialOrder(timestamp + 1000 * 60 * 20L * i);
-		}
+	private void updateRelationAndSpecialOrder(long startTime, long endTime) {
+		List<TaoBaoOrder> list = TaoKeOrderApiUtil.getSpecialOrder(startTime, endTime);
+		List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getThirdSpecialOrder(startTime, endTime);
+		List<TaoBaoOrder> list2 = TaoKeOrderApiUtil.getRelationOrder(startTime, endTime);
+		List<TaoBaoOrder> list3 = TaoKeOrderApiUtil.getThirdRelationOrder(startTime, endTime);
+		if (list1 != null && list1.size() > 0)
+			list.addAll(list1);
+		if (list2 != null && list2.size() > 0)
+			list.addAll(list2);
+		if (list3 != null && list3.size() > 0)
+			list.addAll(list3);
+		addRelationAndSpecialOrder(list);
 	}
 
 	private void addRelationAndSpecialOrder(List<TaoBaoOrder> orderList) {
@@ -253,34 +113,32 @@
 	public void doJob1() {
 		if (!Constant.IS_TASK)
 			return;
-		// 鐖彇鏈�杩�3椤垫暟鎹�
-		updateRelationOrder(1, 3);
-		updateSpecialOrder(1, 3);
+		// 鐖彇杩�20鍒嗛挓鐨勬暟鎹�
+		long endTime = System.currentTimeMillis();
+		updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime);
 	}
 
-	// 姣�5鍒嗛挓鏇存柊锛�3-10椤垫暟鎹級
+	// 姣�5鍒嗛挓鏇存柊锛堣繎1澶╂暟鎹級
 	@Scheduled(cron = "0 0/5 * * * ? ")
 	public void doJob2() {
 		if (!Constant.IS_TASK)
 			return;
-		updateRelationOrder(3, 11);
-		updateSpecialOrder(3, 11);
+		long endTime = System.currentTimeMillis();
+		updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
 	}
 
-	// 姣忎釜灏忔椂鏇存柊10-1000椤垫暟鎹�
+	// 姣忎釜灏忔椂鏇存柊
 	@Scheduled(cron = "0 0 0/1 * * ? ")
 	public void doJob3() {
 		if (!Constant.IS_TASK)
 			return;
-		Calendar calendar = Calendar.getInstance();
-		int h = calendar.get(Calendar.HOUR_OF_DAY);
-		// 姣忎釜灏忔椂鏇存柊100椤垫暟鎹�
-		int fromPage = h * 100;
-		if (fromPage <= 0)
-			fromPage = 11;
-		int toPage = h * 100 + 100;
-		updateRelationOrder(fromPage, toPage);
-		updateSpecialOrder(fromPage, toPage);
+//		Calendar calendar = Calendar.getInstance();
+//		int h = calendar.get(Calendar.HOUR_OF_DAY);
+//		// 姣忎釜灏忔椂鏇存柊100椤垫暟鎹�
+//		int fromPage = h * 100;
+//		if (fromPage <= 0)
+//			fromPage = 11;
+//		int toPage = h * 100 + 100;
 	}
 
 }

--
Gitblit v1.8.0