admin
2019-09-19 e11b811d07ab56b0a3351979e8f254e56143f9bf
订单JOB修改
4个文件已修改
502 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateCommonOrderJob.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java 404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateCommonOrderJob.java
@@ -25,7 +25,6 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
@@ -76,19 +75,8 @@
     * @return
     */
    private List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                    TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
                1);
        return orderList;
    }
@@ -100,19 +88,8 @@
     * @return
     */
    private List<TaoBaoOrder> getCommonSettleOrder(long startTime, int span) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                    TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
                3);
        return orderList;
    }
@@ -239,9 +216,8 @@
        List<TaoBaoOrder> orderList = taoBaoOrderMapper.listLongTimeNoUpdateOrders(0, 10);
        List<TaoBaoOrder> updateOrderList = new ArrayList<>();
        for (TaoBaoOrder order : orderList) {
            List<TaoBaoOrder> newList = TaoKeOrderApiUtil.getTaoBaoAllOrder(order.getCreateTime(), 60, 1,
                    TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            long time = TimeUtil.convertToTimeTemp(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
            List<TaoBaoOrder> newList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(time, time + 60 * 1000L, 1);
            for (TaoBaoOrder o : newList) {
                if (o.getOrderId().equalsIgnoreCase(order.getOrderId()))
                    updateOrderList.add(o);
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -35,7 +35,6 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
@@ -86,43 +85,8 @@
     * @return
     */
    private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                    TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取第三方普通订单
     *
     * @param startTime
     * @param span
     * @return
     */
    private static List<TaoBaoOrder> getThirdCommonOrder(long startTime, int span) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
                TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
                    TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
                1);
        return orderList;
    }
@@ -502,15 +466,11 @@
        // 处理3-15天前的订单,每天跑一次
        Calendar ca = Calendar.getInstance();
        int hour = ca.get(Calendar.HOUR_OF_DAY);
        long startTime = TimeUtil.convertToTimeTemp(
                TimeUtil.getGernalTime(ca.getTimeInMillis() - 1000 * 60 * 60 * 24 * 3L, "yyyy-MM-dd"), "yyyy-MM-dd")
                - hour * (1000 * 60 * 60 * 12L);
        long endTime = startTime + 1000 * 60 * 60 * 12L;
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, false);
        List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, true);
        if (tempOrderList != null && tempOrderList.size() > 0)
            orderList.addAll(tempOrderList);
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
        addOrder(orderList);
    }
@@ -525,10 +485,7 @@
        Calendar ca = Calendar.getInstance();
        long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 60 * 2L;
        long endTime = startTime + 1000 * 60 * 60 * 2L;
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, false);
        List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, true);
        if (tempOrderList != null && tempOrderList.size() > 0)
            orderList.addAll(tempOrderList);
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
        addOrder(orderList);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -488,16 +488,7 @@
                    if (olist != null && olist.size() > 0) {
                        long time = TimeUtil.convertToTimeTemp(olist.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                        olist = TaoKeOrderApiUtil.getTaoBaoAllOrder(TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"),
                                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
                                TaoKeOrderApiUtil.TK_STATUS_ALL);
                        List<TaoBaoOrder> thirdOList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(
                                TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"), 30, 1,
                                TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                        if (thirdOList != null && thirdOList.size() > 0)
                            olist.addAll(thirdOList);
                        olist = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(time, time + 1000 * 2L, 1);
                        if (olist != null && olist.size() > 0) {
                            for (int i = 0; i < olist.size(); i++) {
                                if (!olist.get(i).getOrderId()
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -32,164 +32,6 @@
    public static int TK_STATUS_SUCCESS = 14;
    public static int TK_STATUS_INVALID = 13;
    /**
     * 获取会员订单
     *
     * @param startTime-开始时间
     * @param page-页码
     * @param appKey
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, int tkStatus,
            String appKey, String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.tkStatus = tkStatus;
        orderQuery.orderScene = 3;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        orderQuery.span = span;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    /**
     * 获取第三方会员订单
     *
     * @param startTime
     * @param page
     * @param appKey
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, int tkStatus,
            String appKey, String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 3;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        orderQuery.span = span;
        orderQuery.orderCountType = 2;
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    /**
     * 获取渠道订单
     *
     * @param startTime
     * @param appKey
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, int tkStatus,
            String appKey, String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.span = span;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 2;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    /**
     * 第三方渠道订单
     *
     * @param startTime
     * @param page
     * @param appKey
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, int tkStatus,
            String appKey, String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.span = span;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 2;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        orderQuery.orderCountType = 2;
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    /**
     * 获取所有的订单(不带渠道信息与会员信息)
     *
     * @param startTime
     * @param appKey
     * @param appSecret
     * @return
     */
    public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret, int tkStatus) {
        return getTaoBaoAllOrder(startTime, 1200, 1, tkStatus, appKey, appSecret);
    }
    public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, int tkStatus, String appKey,
            String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.span = span;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 1;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        orderQuery.orderCountType = 1;
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    /**
     * 获取第三方订单
     *
     * @param startTime
     * @param span
     * @param page
     * @param appKey
     * @param appSecret
     * @return
     */
    public static List<TaoBaoOrder> getTaoBaoThirdAllOrder(String startTime, int span, int page, int tkStatus,
            String appKey, String appSecret) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.startTime = startTime;
        orderQuery.span = span;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 1;
        orderQuery.pageNo = page;
        orderQuery.pageSize = 100;
        orderQuery.orderCountType = 2;
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
    private static TaoBaoPunishOrder parsePunishOrder(JSONObject data) {
        TaoBaoPunishOrder order = new TaoBaoPunishOrder();
@@ -260,6 +102,8 @@
        return resultList;
    }
    @Deprecated
    private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) {
        Map<String, String> map = new HashMap<>();
@@ -500,250 +344,6 @@
            }
        dto.setOrderList(orderList);
        return dto;
    }
    private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span, int tkStatus) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, tkStatus,
                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page, tkStatus,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取第三方普通订单
     *
     * @param startTime
     * @param span
     * @return
     */
    private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span, int tkStatus) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus,
                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    private static List<TaoBaoOrder> getRelationOrder(long startTime, int span, int tkStatus) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus,
                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span, int tkStatus) {
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus,
                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取某个区间的会员订单
     *
     * @param startTime
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getSpecialOrder(long startTime, long endTime, int tkStatus) {
        List<TaoBaoOrder> orderList = new ArrayList<>();
        long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
        int count = (int) (span / 1200);
        if (span % 1200 != 0)
            count++;
        for (int i = 0; i < count; i++) {
            long startT = startTime + i * 1200 * 1000L;
            int s = 1200;
            if (endTime < startT + 1200 * 1000L) {
                s = (int) ((endTime - startT) / 1000) + 1;
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取某个区间的第三方会员订单
     *
     * @param startTime
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getThirdSpecialOrder(long startTime, long endTime, int tkStatus) {
        List<TaoBaoOrder> orderList = new ArrayList<>();
        long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
        int count = (int) (span / 1200);
        if (span % 1200 != 0)
            count++;
        for (int i = 0; i < count; i++) {
            long startT = startTime + i * 1200 * 1000L;
            int s = 1200;
            if (endTime < startT + 1200 * 1000L) {
                s = (int) ((endTime - startT) / 1000) + 1;
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取渠道订单
     *
     * @param startTime
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getRelationOrder(long startTime, long endTime, int tkStatus) {
        List<TaoBaoOrder> orderList = new ArrayList<>();
        long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
        int count = (int) (span / 1200);
        if (span % 1200 != 0)
            count++;
        for (int i = 0; i < count; i++) {
            long startT = startTime + i * 1200 * 1000L;
            int s = 1200;
            if (endTime < startT + 1200 * 1000L) {
                s = (int) ((endTime - startT) / 1000) + 1;
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取某个区间的第三方渠道订单
     *
     * @param startTime
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getThirdRelationOrder(long startTime, long endTime, int tkStatus) {
        List<TaoBaoOrder> orderList = new ArrayList<>();
        long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
        int count = (int) (span / 1200);
        if (span % 1200 != 0)
            count++;
        for (int i = 0; i < count; i++) {
            long startT = startTime + i * 1200 * 1000L;
            int s = 1200;
            if (endTime < startT + 1200 * 1000L) {
                s = (int) ((endTime - startT) / 1000) + 1;
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    private static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, int span, boolean third) {
        OrderQuery orderQuery = new OrderQuery();
        orderQuery.span = span;
        orderQuery.orderQueryType = "settle_time";
        orderQuery.orderScene = 1;
        orderQuery.pageSize = 100;
        orderQuery.tkStatus = TK_STATUS_SETTLEMENT;
        int page = 1;
        orderQuery.pageNo = page;
        if (third)
            orderQuery.orderCountType = 2;
        else
            orderQuery.orderCountType = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        orderQuery.startTime = startTimeStr;
        List<TaoBaoOrder> orderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        while (orderList.size() == 100 * page) {
            page++;
            orderQuery.pageNo = page;
            List<TaoBaoOrder> tempOrderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
        return orderList;
    }
    /**
     * 获取结算订单
     *
     * @param startTime
     * @param endTime
     * @param third
     *            -是否为第三方订单
     * @return
     */
    public static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, long endTime, boolean third) {
        List<TaoBaoOrder> orderList = new ArrayList<>();
        long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
        int count = (int) (span / 1200);
        if (span % 1200 != 0)
            count++;
        for (int i = 0; i < count; i++) {
            long startT = startTime + i * 1200 * 1000L;
            int s = 1200;
            if (endTime < startT + 1200 * 1000L) {
                s = (int) ((endTime - startT) / 1000) + 1;
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getTaoBaoSettleOrders(startT, s, third);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
            try {
                Thread.sleep(1000 * 10);// 加个延时,防止API请求频率限制
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        return orderList;
    }
    public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,