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