From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 1171 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 580 insertions(+), 591 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 4c9edba..d40661a 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
@@ -1,591 +1,580 @@
-package com.yeshi.fanli.util.taobao;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.yeshi.fanli.dto.order.OrderQuery;
-import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
-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;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-//娣樺疂瀹PI鎺ュ彛
-public class TaoKeOrderApiUtil {
-
-	public static int TK_STATUS_ALL = 1;
-	public static int TK_STATUS_SETTLEMENT = 3;
-	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, 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);
-	}
-
-	/**
-	 * 鑾峰彇绗笁鏂逛細鍛樿鍗�
-	 * 
-	 * @param startTime
-	 * @param page
-	 * @param appKey
-	 * @param appSecret
-	 * @return
-	 */
-	private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.tkStatus = 1;
-		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, String appKey,
-			String appSecret) {
-
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.span = span;
-		orderQuery.tkStatus = 1;
-		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, String appKey,
-			String appSecret) {
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.span = span;
-		orderQuery.tkStatus = 1;
-		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) {
-
-		return getTaoBaoAllOrder(startTime, 1200, 1, appKey, appSecret);
-	}
-
-	public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, String appKey,
-			String appSecret) {
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.span = span;
-		orderQuery.tkStatus = 1;
-		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, String appKey,
-			String appSecret) {
-		OrderQuery orderQuery = new OrderQuery();
-		orderQuery.startTime = startTime;
-		orderQuery.span = span;
-		orderQuery.tkStatus = 1;
-		orderQuery.orderQueryType = "create_time";
-		orderQuery.orderScene = 1;
-		orderQuery.pageNo = page;
-		orderQuery.pageSize = 100;
-		orderQuery.orderCountType = 2;
-		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");
-
-		// map.put("start_time", "2019-01-01 00:00:00");
-		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();
-		}
-	}
-
-	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());
-	}
-
-	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();
-		}
-
-		return null;
-	}
-
-	private static List<TaoBaoOrder> parseTaoBaoOrder(String response) {
-
-		List<TaoBaoOrder> orderList = new ArrayList<>();
-
-		JSONObject data = JSONObject.fromObject(response);
-		if (data.optJSONObject("tbk_order_get_response") == null)
-			return orderList;
-		if (data.optJSONObject("tbk_order_get_response").optJSONObject("results") == null)
-			return orderList;
-		if (data.optJSONObject("tbk_order_get_response").optJSONObject("results").optJSONArray("n_tbk_order") == null)
-			return orderList;
-
-		JSONArray array = data.optJSONObject("tbk_order_get_response").optJSONObject("results")
-				.optJSONArray("n_tbk_order");
-		for (int i = 0; i < array.size(); i++) {
-
-			JSONObject item = array.optJSONObject(i);
-			try {
-				TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
-				taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
-				taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
-				taoBaoOrder.setAuctionId(item.optLong("num_iid"));
-				taoBaoOrder.setClassName(item.optString("auction_category"));
-				taoBaoOrder.setClickTime(item.optString("click_time"));
-				taoBaoOrder.setCount(item.optInt("item_num"));
-				taoBaoOrder.setCreateTime(item.optString("create_time"));
-				if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
-					taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
-				else
-					taoBaoOrder.seteIncome(new BigDecimal(0));
-
-				if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
-					taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
-				else
-					taoBaoOrder.setEstimate(new BigDecimal(0));
-				taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")).multiply(new BigDecimal(100)));
-				taoBaoOrder.setLatestUpdateTime(null);
-				taoBaoOrder.setManagerWangWang(null);
-				taoBaoOrder.setOrderBy(null);
-				taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
-				if (item.optInt("tk_status") == 12)
-					taoBaoOrder.setOrderState("璁㈠崟浠樻");
-				else if (item.optInt("tk_status") == 3)
-					taoBaoOrder.setOrderState("璁㈠崟缁撶畻");
-				else if (item.optInt("tk_status") == 13)
-					taoBaoOrder.setOrderState("璁㈠崟澶辨晥");
-				else if (item.optInt("tk_status") == 14)
-					taoBaoOrder.setOrderState("璁㈠崟鎴愬姛");
-
-				taoBaoOrder.setOrderType(item.optString("order_type"));
-				if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
-					taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
-				else
-					taoBaoOrder.setPayment(new BigDecimal(0));
-				taoBaoOrder.setPrice(new BigDecimal(item.optString("price")));
-				if (!StringUtil.isNullOrEmpty(item.optString("pay_price")))
-					taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price")));
-				else
-					taoBaoOrder.setSettlement(new BigDecimal(0));
-				taoBaoOrder.setSettlementTime(item.optString("earning_time"));
-				taoBaoOrder.setShop(item.optString("seller_shop_title"));
-				taoBaoOrder.setSourceMediaId(item.optString("site_id"));
-				taoBaoOrder.setSourceMediaName(item.optString("site_name"));
-				taoBaoOrder.setsRatio(null);
-				if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 琛ヨ创閲戦
-					taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
-				if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
-					taoBaoOrder.setSubsidyRatio(
-							new BigDecimal(item.optString("subsidy_rate")).multiply(new BigDecimal(100)));
-				taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
-				taoBaoOrder.setTechnologySupportPercent(null);
-				taoBaoOrder.setThirdService(null);
-				taoBaoOrder.setTitle(item.optString("item_title"));
-				if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
-					taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
-				else
-					taoBaoOrder.setTkMoney(new BigDecimal(0));
-				if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
-					taoBaoOrder
-							.setTkRate(new BigDecimal(item.optString("commission_rate")).multiply(new BigDecimal(100)));
-				else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
-					taoBaoOrder.setTkRate(
-							new BigDecimal(item.optString("total_commission_rate")).multiply(new BigDecimal(100)));
-				taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
-				taoBaoOrder.setRelationId(item.optString("relation_id"));
-				taoBaoOrder.setSpecialId(item.optString("special_id"));
-				taoBaoOrder.setTradeId(item.optString("trade_id"));
-				orderList.add(taoBaoOrder);
-			} catch (Exception e) {
-				try {
-					LogHelper.errorDetailInfo(e, "璁㈠崟鍙蜂俊鎭�:" + item.toString(), "璁㈠崟瑙f瀽鍑洪敊");
-				} catch (Exception e1) {
-				}
-			}
-		}
-
-		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, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
-				TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		while (orderList.size() == 100 * page) {
-			page++;
-			List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page,
-					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 page = 1;
-		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
-				TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		while (orderList.size() == 100 * page) {
-			page++;
-			List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
-					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 page = 1;
-		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page,
-				TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		while (orderList.size() == 100 * page) {
-			page++;
-			List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page,
-					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 page = 1;
-		String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
-		List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
-				TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
-		while (orderList.size() == 100 * page) {
-			page++;
-			List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
-					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) {
-		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;
-	}
-
-	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;
-		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;
-	}
-
-	public static List<TaoBaoWeiQuanOrder> getTaoBaoWeiQuanOrderList() {
-
-		return null;
-	}
-}
+package com.yeshi.fanli.util.taobao;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+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.*;
+import com.yeshi.common.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 org.yeshi.utils.TimeUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+//娣樺疂瀹PI鎺ュ彛
+public class TaoKeOrderApiUtil {
+
+    public static int TK_STATUS_ALL = 1;
+    public static int TK_STATUS_SETTLEMENT = 3;
+    public static int TK_STATUS_PAY = 12;
+    public static int TK_STATUS_SUCCESS = 14;
+    public static int TK_STATUS_INVALID = 13;
+
+    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;
+    }
+
+    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);
+        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();
+            }
+        }
+        return resultList;
+    }
+
+    private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) {
+
+        TaoBaoOrderResultDTO dto = new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>());
+
+        List<Serializable> orderList = new ArrayList<>();
+        JSONArray array = null;
+        JSONObject data = JSONObject.fromObject(response);
+        try {
+            //TODO 涓存椂娴嬭瘯 tbk_order_details_get_response
+            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 dto;
+        }
+
+        if (array != null)
+            for (int i = 0; i < array.size(); i++) {
+
+                JSONObject item = array.optJSONObject(i);
+                try {
+                    TaoBaoOrder taoBaoOrder = parseTaoBaoOrderNew(item);
+                    orderList.add(taoBaoOrder);
+                } catch (Exception e) {
+                    try {
+                        LogHelper.errorDetailInfo(e, "璁㈠崟鍙蜂俊鎭�:" + item.toString(), "璁㈠崟瑙f瀽鍑洪敊");
+                    } catch (Exception e1) {
+                    }
+                }
+            }
+        dto.setOrderList(orderList);
+        return dto;
+    }
+
+
+    private static TaoBaoOrderResultDTO parseTaoBaoOrderForBackUp(String response) {
+
+        TaoBaoOrderResultDTO dto = new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>());
+
+        List<Serializable> orderList = new ArrayList<>();
+        JSONArray array = null;
+        JSONObject data = JSONObject.fromObject(response);
+        try {
+            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 dto;
+        }
+
+        if (array != null)
+            for (int i = 0; i < array.size(); i++) {
+                JSONObject item = array.optJSONObject(i);
+                try {
+                    String tradeId = item.optString("trade_id");
+                    String orderId = item.optString("trade_parent_id");
+                    TaoBaoOrderBackUp orderBackUp = new TaoBaoOrderBackUp();
+                    orderBackUp.setContent(item.toString());
+                    orderBackUp.setTradeId(tradeId);
+                    orderBackUp.setOrderId(orderId);
+                    orderList.add(orderBackUp);
+                } catch (Exception e) {
+                    try {
+                        LogHelper.errorDetailInfo(e, "璁㈠崟鍙蜂俊鎭�:" + item.toString(), "璁㈠崟瑙f瀽鍑洪敊");
+                    } catch (Exception e1) {
+                    }
+                }
+            }
+        dto.setOrderList(orderList);
+        return dto;
+    }
+
+
+    public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
+                                                                       boolean third) {
+
+        return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
+    }
+
+    public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+                                                                      boolean third) {
+
+        return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
+    }
+
+    private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+                                                                            boolean third, int bizType) {
+        WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
+
+        List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
+        finalResult.orderList = list;
+        Map<String, String> map = new HashMap<>();
+        map.put("method", "taobao.tbk.relation.refund");
+
+        JSONObject option = new JSONObject();
+        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);
+        option.put("page_size", 100);
+        option.put("biz_type", bizType);
+        map.put("search_option", option.toString());
+
+        TaoKeAppInfo app = new TaoKeAppInfo();
+        app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+        app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+        try {
+            JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+            JSONObject results = json.optJSONObject("tbk_relation_refund_response").optJSONObject("result")
+                    .optJSONObject("data").optJSONObject("results");
+            if (results == null)
+                return finalResult;
+
+            int count = results.optInt("total_count");
+            finalResult.totalCount = count;
+            JSONArray array = results.optJSONArray("result");
+            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;
+
+                    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);
+                }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return finalResult;
+    }
+
+    /**
+     * 鏂扮増鏈窐瀹濊鍗�
+     */
+
+    /**
+     * 鑾峰彇娣樺疂浼氬憳杩愯惀璁㈠崟
+     *
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public static List<TaoBaoOrder> getTaoBaoSpecialOrderList(long startTime, long endTime, int queryType) {
+        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<Serializable> orderList = new ArrayList<>();
+        // 璺ㄥ害20鍒嗛挓
+        long span = (1000 * 60 * 20L);
+        long jianGe = endTime - startTime;
+        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) * span;
+            long end = start + span;
+            if (end > endTime)
+                end = endTime;
+            TaoBaoOrderResultDTO dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+                    TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), null, null, queryType, orderScene, new TaoBaoOrder());
+            if (dto != null)
+                orderList.addAll(dto.getOrderList());
+            while (dto != null && dto.isHasNext()) {
+                dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+                        TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), dto.getPositionIndex(), null, queryType,
+                        orderScene, new TaoBaoOrder());
+                if (dto != null)
+                    orderList.addAll(dto.getOrderList());
+            }
+        }
+        List<TaoBaoOrder> orders = new ArrayList<>();
+        for (Serializable s : orderList)
+            orders.add((TaoBaoOrder) s);
+
+        return orders;
+    }
+
+
+    /**
+     * 鑾峰彇娣樺疂璁㈠崟澶囦唤鏁版嵁
+     *
+     * @param startTime
+     * @param endTime
+     * @param status     12-浠樻锛�13-鍏抽棴锛�14-纭鏀惰揣锛�3-缁撶畻鎴愬姛;涓嶄紶
+     * @param queryType  1锛氭寜鐓ц鍗曟窐瀹㈠垱寤烘椂闂存煡璇紝2:鎸夌収璁㈠崟娣樺浠樻鏃堕棿鏌ヨ锛�3:鎸夌収璁㈠崟娣樺缁撶畻鏃堕棿鏌ヨ
+     * @param orderScene 1:甯歌璁㈠崟锛�2:娓犻亾璁㈠崟锛�3:浼氬憳杩愯惀璁㈠崟
+     * @return
+     */
+    public static List<TaoBaoOrderBackUp> getTaoBaoOrderBackUpList(long startTime, long endTime, Integer status, int queryType, int orderScene) {
+        List<Serializable> orderList = new ArrayList<>();
+        // 璺ㄥ害20鍒嗛挓
+        long span = (1000 * 60 * 20L);
+        long jianGe = endTime - startTime;
+        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) * span;
+            long end = start + span;
+            if (end > endTime)
+                end = endTime;
+            TaoBaoOrderResultDTO dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+                    TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), null, status, queryType, orderScene, new TaoBaoOrderBackUp());
+            if (dto != null)
+                orderList.addAll(dto.getOrderList());
+            while (dto != null && dto.isHasNext()) {
+                dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+                        TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), dto.getPositionIndex(), status, queryType,
+                        orderScene, new TaoBaoOrderBackUp());
+                if (dto != null)
+                    orderList.addAll(dto.getOrderList());
+
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+        }
+        List<TaoBaoOrderBackUp> orders = new ArrayList<>();
+        for (Serializable s : orderList)
+            orders.add((TaoBaoOrderBackUp) s);
+
+        return orders;
+    }
+
+    /**
+     * 娣樺疂璁㈠崟鏌ヨ
+     *
+     * @param startTime
+     * @param endTime
+     * @param positionIndex
+     * @param queryType     1锛氭寜鐓ц鍗曟窐瀹㈠垱寤烘椂闂存煡璇紝2:鎸夌収璁㈠崟娣樺浠樻鏃堕棿鏌ヨ锛�3:鎸夌収璁㈠崟娣樺缁撶畻鏃堕棿鏌ヨ
+     * @param orderScene
+     * @return
+     */
+    private static TaoBaoOrderResultDTO queryNewOrder(String startTime, String endTime, String positionIndex, Integer status,
+                                                      int queryType, int orderScene, Serializable clazz) {
+        Map<String, String> params = new HashMap<>();
+        params.put("query_type", queryType + "");
+        if (status != null)
+            params.put("tk_status", status + "");
+        params.put("page_size", "100");
+        params.put("start_time", startTime);
+        params.put("end_time", endTime);
+        params.put("page_no", "1");
+        params.put("order_scene", orderScene + "");
+        if (!StringUtil.isNullOrEmpty(positionIndex))
+            params.put("position_index", positionIndex + "");
+        //TODO 涓存椂娴嬭瘯taobao.tbk.order.details.get
+        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);
+            System.out.println(json.toString());
+            if (Constant.IS_TEST)
+                System.out.println(json);
+            if (clazz instanceof TaoBaoOrder)
+                return parseTaoBaoOrderNew(json.toString());
+            else
+                return parseTaoBaoOrderForBackUp(json.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+
+    public static TaoBaoOrder parseTaoBaoOrderNew(JSONObject item) {
+        TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
+        taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
+        taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
+        taoBaoOrder.setAuctionId(item.optString("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")))
+            taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
+        else
+            taoBaoOrder.seteIncome(new BigDecimal(0));
+
+        if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
+            taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
+        else
+            taoBaoOrder.setEstimate(new BigDecimal(0));
+        taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")));
+        taoBaoOrder.setLatestUpdateTime(null);
+        taoBaoOrder.setManagerWangWang(null);
+        taoBaoOrder.setOrderBy(null);
+        taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
+        if (item.optInt("tk_status") == 12)
+            taoBaoOrder.setOrderState("璁㈠崟浠樻");
+        else if (item.optInt("tk_status") == 3)
+            taoBaoOrder.setOrderState("璁㈠崟缁撶畻");
+        else if (item.optInt("tk_status") == 13)
+            taoBaoOrder.setOrderState("璁㈠崟澶辨晥");
+        else if (item.optInt("tk_status") == 14)
+            taoBaoOrder.setOrderState("璁㈠崟鎴愬姛");
+
+        taoBaoOrder.setOrderType(item.optString("order_type"));
+        if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
+            taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
+        else
+            taoBaoOrder.setPayment(new BigDecimal(0));
+        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(taoBaoOrder.getPayment());
+        taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
+        taoBaoOrder.setShop(item.optString("seller_shop_title"));
+        taoBaoOrder.setSourceMediaId(item.optString("site_id"));
+        taoBaoOrder.setSourceMediaName(item.optString("site_name"));
+        taoBaoOrder.setsRatio(null);
+        if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 琛ヨ创閲戦
+            taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
+        if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
+            taoBaoOrder.setSubsidyRatio(new BigDecimal(item.optString("subsidy_rate")));
+        taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
+        taoBaoOrder.setTechnologySupportPercent(null);
+        taoBaoOrder.setThirdService(null);
+        taoBaoOrder.setTitle(item.optString("item_title"));
+        if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
+            taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
+        else
+            taoBaoOrder.setTkMoney(new BigDecimal(0));
+        if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
+            taoBaoOrder.setTkRate(new BigDecimal(item.optString("commission_rate")));
+        else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
+            taoBaoOrder.setTkRate(new BigDecimal(item.optString("total_commission_rate")));
+        taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
+        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.optString("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"));
+        if (goods.getImg() != null && !goods.getImg().startsWith("http")) {
+            goods.setImg("http:" + goods.getImg());
+        }
+        taoBaoOrder.setGoods(goods);
+        return taoBaoOrder;
+    }
+
+
+    @Deprecated
+    public 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);
+            System.out.println(json);
+        } catch (TaoKeApiException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            Thread.sleep(1000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    public static void main(String[] args){
+
+        long endTime=TimeUtil.convertToTimeTemp("2022-09-20 11:16:50","yyyy-MM-dd HH:mm:ss");
+        long startTime=TimeUtil.convertToTimeTemp("2022-09-20 11:16:48","yyyy-MM-dd HH:mm:ss");
+
+        List<TaoBaoOrder> orderList=  getTaoBaoSpecialOrderList(startTime,endTime,1);
+        orderList=  getTaoBaoCommonOrderList(startTime,endTime,1);
+        orderList=  getTaoBaoRelationOrderList(startTime,endTime,1);
+        System.out.println(orderList);
+
+    }
+}

--
Gitblit v1.8.0