From 70cf74ae648db9ec89a9d1243729c0c7b0dce81b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 14 二月 2019 14:50:53 +0800
Subject: [PATCH] 订单更新策略改变

---
 fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java |   80 +++++++++++++++++++++++++++------------
 1 files changed, 55 insertions(+), 25 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 55c8e93..f7c1027 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
@@ -1,5 +1,6 @@
 package com.yeshi.fanli.job;
 
+import java.util.Calendar;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -42,9 +43,28 @@
 	 */
 	private void updateRelationOrder(long startTime) {
 		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, Constant.TAOBAO_AUTH_APPKEY,
+		List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY,
 				Constant.TAOBAO_AUTH_APPSECRET);
 		addRelationAndSpecialOrder(orderList);
+	}
+
+	/**
+	 * 鏇存柊娓犻亾璁㈠崟
+	 * 
+	 * @param fromPage
+	 *            寮�濮嬮〉鐮�
+	 * @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");
+		for (int p = fromPage; p < toPage; p++) {
+			List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, p,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
+			addRelationAndSpecialOrder(orderList);
+		}
 	}
 
 	/**
@@ -66,9 +86,25 @@
 	 */
 	private void updateSpecialOrder(long startTime) {
 		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, Constant.TAOBAO_AUTH_APPKEY,
+		List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY,
 				Constant.TAOBAO_AUTH_APPSECRET);
 		addRelationAndSpecialOrder(orderList);
+	}
+
+	/**
+	 * 鏇存柊浼氬憳璁㈠崟锛堬級
+	 * 
+	 * @param fromPage-寮�濮嬮〉鐮�
+	 * @param toPage-缁撴潫椤电爜锛堟瘡椤�20鏉℃暟鎹級
+	 */
+	private void updateSpecialOrder(int fromPage, int toPage) {
+		String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L,
+				"yyyy-MM-dd HH:mm:ss");
+		for (int p = fromPage; p < toPage; p++) {
+			List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, p,
+					Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
+			addRelationAndSpecialOrder(orderList);
+		}
 	}
 
 	/**
@@ -136,40 +172,34 @@
 	public void doJob1() {
 		if (!Constant.IS_TASK)
 			return;
-		long currentTime = System.currentTimeMillis();
-		// 鐖彇21鍒嗛挓涔嬪墠鍒扮幇鍦ㄧ殑
-		updateRelationOrder(currentTime - 1000 * 60 * 20L);
-		updateSpecialOrder(currentTime - 1000 * 60 * 20L);
+		// 鐖彇鏈�杩�3椤垫暟鎹�
+		updateRelationOrder(1, 3);
+		updateSpecialOrder(1, 3);
 	}
 
-	// 姣�16鍒嗛挓鏇存柊涓�娆′竴澶╃殑锛堟瘡澶╁彲鏇存柊杩�90澶╃殑鏁版嵁锛�
-	@Scheduled(cron = "0 0/16 * * * ? ")
+	// 姣�5鍒嗛挓鏇存柊锛�3-10椤垫暟鎹級
+	@Scheduled(cron = "0 0/5 * * * ? ")
 	public void doJob2() {
 		if (!Constant.IS_TASK)
 			return;
-		long currentTime = System.currentTimeMillis();
-		long dayStartTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), "yyyy-MM-dd");
-		int pos = (int) ((currentTime - dayStartTime) / 1000 * 60 * 16L);
-
-		long time = dayStartTime - (pos + 1) * 1000 * 60 * 60 * 24L;
-
-		// 鍙兘鏇存柊鏈�杩�90澶╃殑
-		if (currentTime - time > 1000 * 60 * 60 * 24L * 90)
-			return;
-		updateRelationOrderByDay(TimeUtil.getGernalTime(time, "yyyy-MM-dd"));
-		updateSpecialOrderByDay(TimeUtil.getGernalTime(time, "yyyy-MM-dd"));
+		updateRelationOrder(3, 11);
+		updateSpecialOrder(3, 11);
 	}
 
-	// 姣忎釜灏忔椂鏇存柊鏈�杩�1澶╃殑鏁版嵁
+	// 姣忎釜灏忔椂鏇存柊10-1000椤垫暟鎹�
 	@Scheduled(cron = "0 0 0/1 * * ? ")
 	public void doJob3() {
 		if (!Constant.IS_TASK)
 			return;
-		long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L;
-		for (int i = 0; i < 71; i++) {
-			updateRelationOrder(startTime + 1000 * 60 * 20L * i);
-			updateSpecialOrder(startTime + 1000 * 60 * 20L * i);
-		}
+		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);
 	}
 
 }

--
Gitblit v1.8.0