admin
2019-07-19 cbe9871d77e3586015f26d7e7c78d254bb8ec6f6
增加订单灰度测试代码
2个文件已修改
62 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -262,7 +262,7 @@
            // 新版通知
            userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, orderId, drawBackMoney,
                    userInfoMapper.selectByPrimaryKey(uid).getMyHongBao());
                    userInfoMapper.selectByPKey(uid).getMyHongBao());
            userNotificationService.weiQuanFanli(uid, orderId, drawBackMoney);
        }
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("订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
            }
            int orderBy = Integer.parseInt(orderByStr);
            // taoBaoOrder.setOrderBy(orderBy);
        }
    }
    /**
     * 计算邀请赚的返利时间
     *