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 | 1099 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 580 insertions(+), 519 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 7d0d7f8..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,519 +1,580 @@
-package com.yeshi.fanli.util.taobao;
-
-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.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;
-import com.yeshi.fanli.log.LogHelper;
-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;
-
-
-	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;
-	}
-
-	
-	@Deprecated
-	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) {
-
-		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 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 {
-			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 = new TaoBaoOrder();
-					taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
-					taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
-					taoBaoOrder.setAuctionId(item.optLong("item_id"));
-					taoBaoOrder.setClassName(item.optString("item_category_name"));
-					taoBaoOrder.setClickTime(item.optString("click_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));
-					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.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"));
-					orderList.add(taoBaoOrder);
-				} 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);
-	}
-
-	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<>();
-		// 璺ㄥ害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, 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;
-	}
-	
-
-	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");
-		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 + "");
-		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);
-			return parseTaoBaoOrderNew(json.toString());
-		} catch (TaoKeApiException e) {
-			e.printStackTrace();
-		}
-		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