From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 13 四月 2020 10:04:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java |  131 ++++++++++++++++++++-----------------------
 1 files changed, 61 insertions(+), 70 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..48df09b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -7,15 +7,16 @@
 import java.util.List;
 import java.util.Map;
 
-import com.yeshi.fanli.dto.order.OrderQuery;
 import com.yeshi.fanli.dto.taobao.TaoBaoOrderResultDTO;
 import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoOrderGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoPunishOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
 import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.TimeUtil;
@@ -31,7 +32,6 @@
 	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();
@@ -100,50 +100,6 @@
 			}
 		}
 		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) {
@@ -233,6 +189,18 @@
 				taoBaoOrder.setRelationId(item.optString("relation_id"));
 				taoBaoOrder.setSpecialId(item.optString("special_id"));
 				taoBaoOrder.setTradeId(item.optString("trade_id"));
+				// 瑙f瀽鍟嗗搧淇℃伅
+				TaoBaoOrderGoods goods = new TaoBaoOrderGoods();
+				goods.setCategoryName(item.optString("item_category_name"));
+				goods.setCreateTime(new Date());
+				goods.setGoodsId(item.optLong("item_id"));
+				goods.setImg(item.optString("item_img"));
+				goods.setLink(item.optString("item_link"));
+				goods.setPrice(item.optString("item_price"));
+				goods.setTitle(item.optString("item_title"));
+				goods.setTradeId(item.optString("trade_id"));
+				
+				taoBaoOrder.setGoods(goods);
 				orderList.add(taoBaoOrder);
 			} catch (Exception e) {
 				try {
@@ -247,16 +215,15 @@
 
 	private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) {
 
-		TaoBaoOrderResultDTO dto=new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>());
-		
+		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"));
+			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) {
@@ -274,6 +241,7 @@
 					taoBaoOrder.setAuctionId(item.optLong("item_id"));
 					taoBaoOrder.setClassName(item.optString("item_category_name"));
 					taoBaoOrder.setClickTime(item.optString("click_time"));
+					taoBaoOrder.setPayTime(item.optString("tb_paid_time"));
 					taoBaoOrder.setCount(item.optInt("item_num"));
 					taoBaoOrder.setCreateTime(item.optString("tk_create_time"));
 					if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
@@ -304,11 +272,14 @@
 						taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
 					else
 						taoBaoOrder.setPayment(new BigDecimal(0));
-					taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price")));
+					if (StringUtil.isNullOrEmpty(item.optString("item_price")))
+						taoBaoOrder.setPrice(new BigDecimal(0));
+					else
+						taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price")));
 					if (!StringUtil.isNullOrEmpty(item.optString("pay_price")))
 						taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price")));
 					else
-						taoBaoOrder.setSettlement(new BigDecimal(0));
+						taoBaoOrder.setSettlement(taoBaoOrder.getPayment());
 					taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
 					taoBaoOrder.setShop(item.optString("seller_shop_title"));
 					taoBaoOrder.setSourceMediaId(item.optString("site_id"));
@@ -440,7 +411,7 @@
 
 		return finalResult;
 	}
-	
+
 	/**
 	 * 鏂扮増鏈窐瀹濊鍗�
 	 */
@@ -456,21 +427,28 @@
 		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) {
+
+	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 span = (1000 * 60 * 20L);
 		long jianGe = endTime - startTime;
-		long page = jianGe %span==0?jianGe/span:jianGe /span+1 ;
+		long page = jianGe % span == 0 ? jianGe / span : jianGe / span + 1;
 		if (page == 0)
 			page = 1;
 		for (int i = 1; i <= page; i++) {
@@ -479,22 +457,33 @@
 			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);
+					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);
+			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) {
+	/**
+	 * 娣樺疂璁㈠崟鏌ヨ
+	 * 
+	 * @param startTime
+	 * @param endTime
+	 * @param positionIndex
+	 * @param queryType
+	 *            1锛氭寜鐓ц鍗曟窐瀹㈠垱寤烘椂闂存煡璇紝2:鎸夌収璁㈠崟娣樺浠樻鏃堕棿鏌ヨ锛�3:鎸夌収璁㈠崟娣樺缁撶畻鏃堕棿鏌ヨ
+	 * @param orderScene
+	 * @return
+	 */
+	private static TaoBaoOrderResultDTO queryNewOrder(String startTime, String endTime, String positionIndex,
+			int queryType, int orderScene) {
 		Map<String, String> params = new HashMap<>();
 		params.put("query_type", queryType + "");
 		params.put("page_size", "100");
@@ -502,7 +491,7 @@
 		params.put("end_time", endTime);
 		params.put("page_no", "1");
 		params.put("order_scene", orderScene + "");
-		if(!StringUtil.isNullOrEmpty(positionIndex))
+		if (!StringUtil.isNullOrEmpty(positionIndex))
 			params.put("position_index", positionIndex + "");
 		params.put("method", "taobao.tbk.order.details.get");
 		TaoKeAppInfo app = new TaoKeAppInfo();
@@ -510,8 +499,10 @@
 		app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
 		try {
 			JSONObject json = TaoKeBaseUtil.baseRequest(params, app);
+			if (Constant.IS_TEST)
+				System.out.println(json);
 			return parseTaoBaoOrderNew(json.toString());
-		} catch (TaoKeApiException e) {
+		} catch (Exception e) {
 			e.printStackTrace();
 		}
 		return null;

--
Gitblit v1.8.0