From 449e58e820a51054b9f98ae48e4412dc18f036b0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 22 七月 2019 14:25:47 +0800 Subject: [PATCH] Merge branch 'master' into div --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 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 199b249..15c0c57 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 @@ -5,8 +5,10 @@ import java.math.BigDecimal; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -681,9 +683,67 @@ order.setOrderBy(map.get(order.getOrderId()).size() + 1); map.get(order.getOrderId()).add(order); } + + // 璁㈠崟鎺掑簭鍊肩伆搴︽祴璇� + try { + for (Iterator<String> its = map.keySet().iterator(); its.hasNext();) { + String orderId = its.next(); + try { + setOrderBy(map.get(orderId)); + } catch (Exception e) { + LogHelper.errorDetailInfo(e, "璁㈠崟鍙�:" + orderId, "璁㈠崟鎺掑簭鍊肩伆搴︽祴璇�"); + } + } + } catch (Exception e) { + } + return map; } + public static void setOrderBy(List<TaoBaoOrder> orderList) {// 鎻愬彇涓�鏍风殑 + if (orderList == null || orderList.size() == 1) + return; + int len = orderList.get(0).getTradeId().length(); + int startIndex = 0; + for (int i = 0; i < len; i++) { + boolean isSame = true; + for (int j = 0; j < orderList.size() - 1; j++) { + if (orderList.get(j).getTradeId().charAt(i) != orderList.get(j + 1).getTradeId().charAt(i)) { + isSame = false; + break; + } + } + if (!isSame) { + startIndex = i; + break; + } + } + int endIndex = 0; + + for (int i = len - 1; i >= 0; i--) { + boolean isSame = true; + for (int j = 0; j < orderList.size() - 1; j++) { + if (orderList.get(j).getTradeId().charAt(i) != orderList.get(j + 1).getTradeId().charAt(i)) { + isSame = false; + break; + } + } + if (!isSame) { + endIndex = i; + break; + } + } + for (TaoBaoOrder taoBaoOrder : orderList) { + String tradeId = taoBaoOrder.getTradeId(); + String orderByStr = tradeId.substring(startIndex, endIndex + 1); + if (orderByStr.length() > 8) { + LogHelper.error("璁㈠崟鐨刼rderBy瓒呰繃8浣�:" + taoBaoOrder.getOrderBy()); + } + int orderBy = Integer.parseInt(orderByStr); + // taoBaoOrder.setOrderBy(orderBy); + } + } + /** * 璁$畻閭�璇疯禋鐨勮繑鍒╂椂闂� * -- Gitblit v1.8.0