From 01955bc3f6e6eec6d82a5a3848efde1fa6cc8137 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 30 九月 2020 17:29:26 +0800
Subject: [PATCH] 云发单优化

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java |  169 ++++++++++++++++++++++----------------------------------
 1 files changed, 67 insertions(+), 102 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 e0da688..b44b957 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,17 +7,20 @@
 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.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 com.yeshi.fanli.util.TimeUtil;
+import org.yeshi.utils.TimeUtil;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -98,105 +101,6 @@
 			}
 		}
 		return resultList;
-	}
-
-	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) {
@@ -291,6 +195,21 @@
 					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"));
+					if (goods.getImg() != null && !goods.getImg().startsWith("http")) {
+						goods.setImg("http:" + goods.getImg());
+					}
+
+					taoBaoOrder.setGoods(goods);
 					orderList.add(taoBaoOrder);
 				} catch (Exception e) {
 					try {
@@ -446,7 +365,7 @@
 					TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), null, queryType, orderScene);
 			if (dto != null)
 				orderList.addAll(dto.getOrderList());
-			while (dto.isHasNext()) {
+			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(), queryType,
 						orderScene);
@@ -485,10 +404,56 @@
 		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 (Exception e) {
 			e.printStackTrace();
 		}
 		return null;
 	}
+
+
+	@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;
+	}
 }

--
Gitblit v1.8.0