From fe879975a3e8a0a1aa280fb839e02d159bfbcff8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 27 八月 2019 18:04:38 +0800
Subject: [PATCH] 金币任务多次获取bug修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java |  300 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 178 insertions(+), 122 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 39ae5ac..832841c 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
@@ -10,6 +10,7 @@
 import com.yeshi.fanli.dto.order.OrderQuery;
 import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+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;
@@ -39,16 +40,19 @@
 	 * @param appSecret
 	 * @return
 	 */
-	private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
+	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 = 1;
+		orderQuery.tkStatus = tkStatus;
 		orderQuery.orderScene = 3;
 		orderQuery.pageNo = page;
 		orderQuery.pageSize = 100;
 		orderQuery.span = span;
-		orderQuery.orderQueryType = "create_time";
+		if (tkStatus == TK_STATUS_SETTLEMENT)
+			orderQuery.orderQueryType = "settle_time";
+		else
+			orderQuery.orderQueryType = "create_time";
 		return queryTaoBaoOrder(orderQuery, appKey, appSecret);
 	}
 
@@ -61,12 +65,15 @@
 	 * @param appSecret
 	 * @return
 	 */
-	private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
+	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 = 1;
-		orderQuery.orderQueryType = "create_time";
+		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;
@@ -83,14 +90,17 @@
 	 * @param appSecret
 	 * @return
 	 */
-	private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
+	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 = 1;
-		orderQuery.orderQueryType = "create_time";
+		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;
@@ -106,13 +116,16 @@
 	 * @param appSecret
 	 * @return
 	 */
-	private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
+	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 = 1;
-		orderQuery.orderQueryType = "create_time";
+		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;
@@ -128,18 +141,21 @@
 	 * @param appSecret
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret) {
+	public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret, int tkStatus) {
 
-		return getTaoBaoAllOrder(startTime, 1200, 1, appKey, appSecret);
+		return getTaoBaoAllOrder(startTime, 1200, 1, tkStatus, appKey, appSecret);
 	}
 
-	public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, String appKey,
+	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 = 1;
-		orderQuery.orderQueryType = "create_time";
+		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;
@@ -157,13 +173,16 @@
 	 * @param appSecret
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getTaoBaoThirdAllOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
+	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 = 1;
-		orderQuery.orderQueryType = "create_time";
+		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;
@@ -171,40 +190,73 @@
 		return queryTaoBaoOrder(orderQuery, appKey, appSecret);
 	}
 
-	public static void punish() {
-		Map<String, String> map = new HashMap<>();
-		map.put("method", "taobao.tbk.dg.punish.order.get");
-		map.put("span", "3600");
-		map.put("page_no", "1");
-		map.put("page_size", "20");
-		map.put("start_time", "2019-01-01 00:00:00");
-		map.put("tb_trade_parent_id", "370829441412331676");
-		map.put("punish_status", "2");
-		map.put("violation_type", "2");
+	private static TaoBaoPunishOrder parsePunishOrder(JSONObject data) {
+		TaoBaoPunishOrder order = new TaoBaoPunishOrder();
+		order.setPunishStatus(data.optString("punish_status"));
+		order.setRelationId(data.optString("relation_id"));
+		order.setSettleMonth(data.optString("settle_month"));
+		order.setSpecialId(data.optString("special_id"));
+		order.setTbTradeId(data.optString("tb_trade_id"));
+		order.setTbTradeParentId(data.optString("tb_trade_parent_id"));
+		order.setTkAdzoneId(data.optString("tk_adzone_id"));
+		order.setTkPubId(data.optString("tk_pub_id"));
+		order.setTkSiteId(data.optString("tk_site_id"));
+		order.setTkTradeCreateTime(data.optString("tk_trade_create_time"));
+		order.setViolationType(data.optString("violation_type"));
+		return order;
+	}
 
-		// map.put("start_time", "2019-01-01 00:00:00");
+	public static List<TaoBaoPunishOrder> getPunishOrderList(Long startTime, Long endTime) {
+		List<TaoBaoPunishOrder> resultList = new ArrayList<>();
 		TaoKeAppInfo app = new TaoKeAppInfo();
 		app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
 		app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		try {
-			JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
-		} catch (TaoKeApiException e) {
-			e.printStackTrace();
+		Map<String, String> map = new HashMap<>();
+		map.put("method", "taobao.tbk.dg.punish.order.get");
+		JSONObject data = new JSONObject();
+		data.put("page_no", 1);
+		data.put("page_size", 100);
+		int sub = (int) ((endTime - startTime) / 1000);
+		int span = 1800;
+		int count = sub % span == 0 ? sub / span : sub / span + 1;
+		for (int i = 0; i < count; i++) {
+			int totalSpanOrderCount = 0;
+			List<TaoBaoPunishOrder> spanOrderList = new ArrayList<>();
+			long startT = startTime + i * span * 1000;
+			data.put("start_time", TimeUtil.getGernalTime(startT, "yyyy-MM-dd HH:mm:ss"));
+			data.put("span", 1800 + "");
+			map.put("af_order_option", data.toString());
+			try {
+				JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+				JSONObject dataJson = json.optJSONObject("tbk_dg_punish_order_get_response").optJSONObject("result")
+						.optJSONObject("data");
+				JSONArray array = dataJson.optJSONObject("results").optJSONArray("result");
+				if (array != null)
+					for (int n = 0; n < array.size(); n++) {
+						spanOrderList.add(parsePunishOrder(array.optJSONObject(n)));
+					}
+				totalSpanOrderCount = dataJson.optInt("total_count");
+				int page = 2;
+				while (totalSpanOrderCount > spanOrderList.size())// 瀛樺湪涓嬩竴椤�
+				{
+					data.put("page_no", page++);
+					map.put("af_order_option", data.toString());
+					json = TaoKeBaseUtil.baseRequest(map, app);
+					dataJson = json.optJSONObject("tbk_dg_punish_order_get_response").optJSONObject("data");
+					array = dataJson.optJSONArray("results");
+					if (array != null)
+						for (int n = 0; n < array.size(); n++) {
+							spanOrderList.add(parsePunishOrder(array.optJSONObject(n)));
+						}
+					totalSpanOrderCount = dataJson.optInt("total_count");
+				}
+				resultList.addAll(spanOrderList);
+				System.out.println(json);
+			} catch (TaoKeApiException e) {
+				e.printStackTrace();
+			}
 		}
-	}
-
-	public static void test(String startTime, String appKey, String appSecret) {
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.span = 1200;
-		orderQuery.tkStatus = 1;
-		orderQuery.orderQueryType = "create_time";
-		orderQuery.orderScene = 1;
-		orderQuery.pageNo = 1;
-		orderQuery.pageSize = 100;
-		List<TaoBaoOrder> list = queryTaoBaoOrder(orderQuery, appKey, appSecret);
-		for (TaoBaoOrder order : list)
-			System.out.println(order.getCreateTime() + "--" + order.getSettlementTime());
+		return resultList;
 	}
 
 	private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) {
@@ -342,14 +394,14 @@
 		return orderList;
 	}
 
-	private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) {
+	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, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
-				TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+		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,
+			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);
@@ -364,14 +416,14 @@
 	 * @param span
 	 * @return
 	 */
-	private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span) {
+	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,
+		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,
+			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);
@@ -379,14 +431,14 @@
 		return orderList;
 	}
 
-	private static List<TaoBaoOrder> getRelationOrder(long startTime, int span) {
+	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,
+		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,
+			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);
@@ -394,14 +446,14 @@
 		return orderList;
 	}
 
-	private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span) {
+	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,
+		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,
+			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);
@@ -416,7 +468,7 @@
 	 * @param endTime
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getSpecialOrder(long startTime, long endTime) {
+	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);
@@ -430,7 +482,7 @@
 				if (s < 60)
 					s = 60;
 			}
-			List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s);
+			List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s, tkStatus);
 			if (tempOrderList != null && tempOrderList.size() > 0)
 				orderList.addAll(tempOrderList);
 		}
@@ -444,7 +496,7 @@
 	 * @param endTime
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getThirdSpecialOrder(long startTime, long endTime) {
+	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);
@@ -458,7 +510,7 @@
 				if (s < 60)
 					s = 60;
 			}
-			List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s);
+			List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s, tkStatus);
 			if (tempOrderList != null && tempOrderList.size() > 0)
 				orderList.addAll(tempOrderList);
 		}
@@ -472,7 +524,7 @@
 	 * @param endTime
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getRelationOrder(long startTime, long endTime) {
+	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);
@@ -486,7 +538,7 @@
 				if (s < 60)
 					s = 60;
 			}
-			List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s);
+			List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s, tkStatus);
 			if (tempOrderList != null && tempOrderList.size() > 0)
 				orderList.addAll(tempOrderList);
 		}
@@ -500,7 +552,7 @@
 	 * @param endTime
 	 * @return
 	 */
-	public static List<TaoBaoOrder> getThirdRelationOrder(long startTime, long endTime) {
+	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);
@@ -514,7 +566,7 @@
 				if (s < 60)
 					s = 60;
 			}
-			List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s);
+			List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s, tkStatus);
 			if (tempOrderList != null && tempOrderList.size() > 0)
 				orderList.addAll(tempOrderList);
 		}
@@ -527,6 +579,7 @@
 		orderQuery.orderQueryType = "settle_time";
 		orderQuery.orderScene = 1;
 		orderQuery.pageSize = 100;
+		orderQuery.tkStatus=TK_STATUS_SETTLEMENT;
 		int page = 1;
 		orderQuery.pageNo = page;
 		if (third)
@@ -585,18 +638,20 @@
 		return orderList;
 	}
 
-	public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
+	public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
+			boolean third) {
 
-		return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
+		return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
 	}
 
-	public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
+	public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+			boolean third) {
 
-		return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
+		return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
 	}
 
-	private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int page, boolean third,
-			int bizType) {
+	private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+			boolean third, int bizType) {
 		WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
 
 		List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
@@ -605,7 +660,7 @@
 		map.put("method", "taobao.tbk.relation.refund");
 
 		JSONObject option = new JSONObject();
-		option.put("search_type", 1);
+		option.put("search_type", searchType);
 		option.put("refund_type", third ? 2 : 1);
 		option.put("start_time", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
 		option.put("page_no", page);
@@ -626,49 +681,50 @@
 			int count = results.optInt("total_count");
 			finalResult.totalCount = count;
 			JSONArray array = results.optJSONArray("result");
-			for (int i = 0; i < array.size(); i++) {
-				JSONObject item = array.optJSONObject(i);
-				TaoBaoWeiQuanOrder order = new TaoBaoWeiQuanOrder();
-				order.setGoodsName(item.optString("tb_auction_title"));
-				BigDecimal fanMoney = new BigDecimal(0);
-				if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund3rd_pub"))) {
-					fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
-				}
-				if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund3rd_pub"))) {
-					fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
-				}
-				if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund_pub"))) {
-					fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
-				}
-				if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund_pub"))) {
-					fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund_pub")));
-				}
+			if (array != null)
+				for (int i = 0; i < array.size(); i++) {
+					JSONObject item = array.optJSONObject(i);
+					TaoBaoWeiQuanOrder order = new TaoBaoWeiQuanOrder();
+					order.setGoodsName(item.optString("tb_auction_title"));
+					BigDecimal fanMoney = new BigDecimal(0);
+					if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund3rd_pub"))) {
+						fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
+					}
+					if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund3rd_pub"))) {
+						fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
+					}
+					if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund_pub"))) {
+						fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
+					}
+					if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund_pub"))) {
+						fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund_pub")));
+					}
 
-				if (fanMoney.compareTo(new BigDecimal(0)) == 0)
-					fanMoney = null;
+					if (fanMoney.compareTo(new BigDecimal(0)) == 0)
+						fanMoney = null;
 
-				order.setFanMoney(fanMoney);
-				order.setJieSuanTime(
-						new Date(TimeUtil.convertToTimeTemp(item.optString("earning_time"), "yyyy-MM-dd HH:mm:ss")));
-				if (!StringUtil.isNullOrEmpty(item.optString("refund_fee")))
-					order.setMoney(new BigDecimal(item.optString("refund_fee")));
-				order.setOrderId(item.optString("tb_trade_parent_id"));
-				order.setOrderItemId(item.optString("tb_trade_id"));
-				int state = item.optInt("refund_status");
-				if (state == 4)
-					order.setState("缁存潈鍒涘缓");
-				else if (state == 2)
-					order.setState("缁存潈鎴愬姛");
-				else if (state == 3)
-					order.setState("缁存潈澶辫触");
+					order.setFanMoney(fanMoney);
+					order.setJieSuanTime(new Date(
+							TimeUtil.convertToTimeTemp(item.optString("earning_time"), "yyyy-MM-dd HH:mm:ss")));
+					if (!StringUtil.isNullOrEmpty(item.optString("refund_fee")))
+						order.setMoney(new BigDecimal(item.optString("refund_fee")));
+					order.setOrderId(item.optString("tb_trade_parent_id"));
+					order.setOrderItemId(item.optString("tb_trade_id"));
+					int state = item.optInt("refund_status");
+					if (state == 4)
+						order.setState("缁存潈鍒涘缓");
+					else if (state == 2)
+						order.setState("缁存潈鎴愬姛");
+					else if (state == 3)
+						order.setState("缁存潈澶辫触");
 
-				if (!StringUtil.isNullOrEmpty(item.optString("tk_refund_suit_time")))
-					order.setWeiQuanFinishTime(new Date(
-							TimeUtil.convertToTimeTemp(item.optString("tk_refund_suit_time"), "yyyy-MM-dd HH:mm:ss")));
-				order.setWeiQuanTime(
-						new Date(TimeUtil.convertToTimeTemp(item.optString("tk_refund_time"), "yyyy-MM-dd HH:mm:ss")));
-				list.add(order);
-			}
+					if (!StringUtil.isNullOrEmpty(item.optString("tk_refund_suit_time")))
+						order.setWeiQuanFinishTime(new Date(TimeUtil
+								.convertToTimeTemp(item.optString("tk_refund_suit_time"), "yyyy-MM-dd HH:mm:ss")));
+					order.setWeiQuanTime(new Date(
+							TimeUtil.convertToTimeTemp(item.optString("tk_refund_time"), "yyyy-MM-dd HH:mm:ss")));
+					list.add(order);
+				}
 
 		} catch (Exception e) {
 			e.printStackTrace();

--
Gitblit v1.8.0