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