From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +0800
Subject: [PATCH] 足迹、收藏订单兼容新需求

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java |  113 ++++++++++++++++++++++----------------------------------
 1 files changed, 45 insertions(+), 68 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
index f5c2839..ff4dc77 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
@@ -1,13 +1,12 @@
 package com.yeshi.fanli.util.taobao;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -28,7 +27,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
-import com.yeshi.fanli.exception.TaoBaoOrderException;
+import com.yeshi.fanli.exception.order.TaoBaoOrderException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -102,14 +101,14 @@
 			String as = gm.getResponseBodyAsString();
 			JSONObject root = JSONObject.fromObject(as);
 			if (root.optInt("code") == 0) {// 涓婃姤鎴愬姛
-				LogHelper.cookieLog("涓婃姤鎴愬姛锛�");
+				LogHelper.error("涓婃姤鎴愬姛锛�");
 				return;
 			}
-			LogHelper.cookieLog("涓婃姤澶辫触锛�");
+			LogHelper.error("涓婃姤澶辫触锛�");
 
 		} catch (Exception e) {
 			e.printStackTrace();
-			LogHelper.cookieLog("涓婃姤澶辫触锛�");
+			LogHelper.error("涓婃姤澶辫触锛�");
 		}
 	}
 
@@ -122,7 +121,7 @@
 	public static List<TaoBaoOrder> getOrderList(int day, TaoBaoUnionConfig config) {
 		String cookie1 = getTaoBaoCookie(config.getAccount());
 
-		LogHelper.cookieLog("璐﹀彿涓猴細" + config.getAccount() + ",cookie涓猴細" + cookie1);
+		LogHelper.error("璐﹀彿涓猴細" + config.getAccount() + ",cookie涓猴細" + cookie1);
 
 		String[] cookies = new String[] { cookie1 };
 		List<TaoBaoOrder> list = new ArrayList<TaoBaoOrder>();
@@ -196,7 +195,7 @@
 	private static List<TaoBaoOrder> downLoadOrderFromTaoBao(String url, TaoBaoUnionConfig config)
 			throws TaoBaoOrderException {
 		String cookie1 = getTaoBaoCookie(config.getAccount());
-		LogHelper.cookieLog("璐﹀彿涓猴細" + config.getAccount() + ",cookie涓猴細" + cookie1);
+		LogHelper.error("璐﹀彿涓猴細" + config.getAccount() + ",cookie涓猴細" + cookie1);
 		String[] cookies = new String[] { cookie1 };
 		List<TaoBaoOrder> list = new ArrayList<TaoBaoOrder>();
 		int i = 0;
@@ -308,15 +307,8 @@
 		return getOrderList(30, config);
 	}
 
-
-
-	public static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(String excelPath) {
-		try {
-			return parseWeiQuanOrder(new FileInputStream(new File(excelPath)));
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		}
-		return null;
+	public static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(InputStream input) {
+		return parseWeiQuanOrder(input);
 	}
 
 	private static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(String cookies, long startTime, long endTime) {
@@ -575,41 +567,41 @@
 				for (int c = 0; c < sheet.getColumns(); c++) {
 					String content = sheet.getCell(c, r).getContents().trim();
 					switch (c) {
-					case 0://缁存潈鏃堕棿
+					case 0:// 缁存潈鏃堕棿
 						if (!StringUtil.isNullOrEmpty(content))
 							orderRecord.setWeiQuanTime(
 									new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
 						break;
-					case 1://缁存潈瀹屾垚鏃堕棿
+					case 1:// 缁存潈瀹屾垚鏃堕棿
 						if (!StringUtil.isNullOrEmpty(content))
 							orderRecord.setWeiQuanFinishTime(
 									new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
 						break;
-					case 2://缁撶畻鏃堕棿
+					case 2:// 缁撶畻鏃堕棿
 						if (!StringUtil.isNullOrEmpty(content))
 							orderRecord.setJieSuanTime(
 									new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
 						break;
-					case 3://鍟嗗搧鍚嶇О
+					case 3:// 鍟嗗搧鍚嶇О
 						orderRecord.setGoodsName(content);
 						break;
-					case 5://娣樺疂璁㈠崟鍙�
+					case 5:// 娣樺疂璁㈠崟鍙�
 						orderRecord.setOrderId(content);
 						break;
-					case 6://娣樺疂瀛愯鍗曞彿
+					case 6:// 娣樺疂瀛愯鍗曞彿
 						orderRecord.setOrderItemId(content);
 						break;
-					case 7://缁存潈鐘舵��
+					case 7:// 缁存潈鐘舵��
 						orderRecord.setState(content);
 						break;
-					case 8://缁撶畻閲戦
-						
+					case 8:// 缁撶畻閲戦
+
 						break;
-					case 9://閫�娆鹃噾棰�
+					case 9:// 閫�娆鹃噾棰�
 						orderRecord.setMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
 						break;
-						
-					case 10://杩旇繕鍟嗗閲戦	
+
+					case 10:// 杩旇繕鍟嗗閲戦
 						orderRecord.setFanMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
 						break;
 					}
@@ -696,7 +688,7 @@
 				try {
 					setOrderBy(map.get(orderId));
 				} catch (Exception e) {
-					LogHelper.errorDetailInfo(e, "璁㈠崟鍙�:" + orderId, "璁㈠崟鎺掑簭鍊肩伆搴︽祴璇�");
+//					LogHelper.errorDetailInfo(e, "璁㈠崟鍙�:" + orderId, "璁㈠崟鎺掑簭鍊肩伆搴︽祴璇�");
 				}
 			}
 		} catch (Exception e) {
@@ -742,7 +734,7 @@
 			String tradeId = taoBaoOrder.getTradeId();
 			String orderByStr = tradeId.substring(startIndex, endIndex + 1);
 			if (orderByStr.length() > 8) {
-				LogHelper.error("璁㈠崟鐨刼rderBy瓒呰繃8浣�:" + taoBaoOrder.getOrderBy());
+				LogHelper.error(taoBaoOrder.getOrderId() + "-璁㈠崟鐨刼rderBy瓒呰繃8浣�:" + taoBaoOrder.getOrderBy());
 			}
 			int orderBy = Integer.parseInt(orderByStr);
 			// taoBaoOrder.setOrderBy(orderBy);
@@ -771,42 +763,27 @@
 		return TimeUtil.convertToTimeTemp(time, "yyyy-M-dd HH:mm:ss");
 	}
 
-	public static CommonOrder convert(TaoBaoOrder taoBaoOrder) {
-		CommonOrder commonOrder = new CommonOrder();
-		commonOrder.setCount(taoBaoOrder.getCount());
-		commonOrder.setCreateTime(new Date());
-		if (taoBaoOrder.geteIncome() != null && taoBaoOrder.getSubsidy() != null)
-			commonOrder.seteIncome(taoBaoOrder.geteIncome().add(taoBaoOrder.getSubsidy()));
-		else
-			commonOrder.seteIncome(taoBaoOrder.geteIncome());
-		commonOrder.setEstimate(taoBaoOrder.getEstimate());
-		commonOrder.setOrderNo(taoBaoOrder.getOrderId());
-		commonOrder.setPayment(taoBaoOrder.getPayment());
-		commonOrder.setSettlement(taoBaoOrder.getSettlement());
-		if (!StringUtil.isNullOrEmpty(taoBaoOrder.getSettlementTime()))
-			commonOrder.setSettleTime(
-					new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getSettlementTime(), "yyyy-MM-dd HH:mm:ss")));
-		commonOrder.setSourcePosition(String.format("mm_%s_%s_%s", "124933865", taoBaoOrder.getSourceMediaId(),
-				taoBaoOrder.getAdPositionId()));
-		commonOrder.setSourceType(Constant.SOURCE_TYPE_TAOBAO);
-		int state = 0;
-		if ("璁㈠崟浠樻".equalsIgnoreCase(taoBaoOrder.getOrderState())) {
-			state = CommonOrder.STATE_FK;
-		} else if ("璁㈠崟鎴愬姛".equalsIgnoreCase(taoBaoOrder.getOrderState())) {
-			state = CommonOrder.STATE_FK;
-		} else if ("璁㈠崟澶辨晥".equalsIgnoreCase(taoBaoOrder.getOrderState())) {
-			state = CommonOrder.STATE_SX;
-		} else if ("璁㈠崟缁撶畻".equalsIgnoreCase(taoBaoOrder.getOrderState())) {
-			state = CommonOrder.STATE_JS;
+	/**
+	 * 鑾峰彇涓�缁勮鍗曠殑hash鍊�
+	 * 
+	 * @param list
+	 * @return
+	 */
+	public static String getOrderDataHashCode(List<TaoBaoOrder> list) {
+		List<TaoBaoOrder> orderList = new ArrayList<>();
+		orderList.addAll(list);
+		Comparator<TaoBaoOrder> orderCM = new Comparator<TaoBaoOrder>() {
+
+			@Override
+			public int compare(TaoBaoOrder o1, TaoBaoOrder o2) {
+				return Long.parseLong(o1.getTradeId()) - Long.parseLong(o2.getTradeId()) > 0 ? 1 : -1;
+			}
+		};
+		Collections.sort(orderList, orderCM);
+		String sts = "";
+		for (TaoBaoOrder order : orderList) {
+			sts += (order.getTradeId() + "-" + order.getSpecialId() + "-" + order.getRelationId());
 		}
-		commonOrder.setOrderBy(taoBaoOrder.getOrderBy());
-		commonOrder.setState(state);
-		commonOrder.setThirdCreateTime(
-				new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
-		commonOrder.setUpdateTime(new Date());
-		commonOrder.setTradeId(taoBaoOrder.getTradeId());
-
-		return commonOrder;
-
+		return StringUtil.Md5(sts);
 	}
 }

--
Gitblit v1.8.0