| | |
| | | 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;
|
| | |
| | | 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("订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
|
| | | }
|
| | | int orderBy = Integer.parseInt(orderByStr);
|
| | | // taoBaoOrder.setOrderBy(orderBy);
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 计算邀请赚的返利时间
|
| | | *
|