admin
2019-08-20 ca3c02c1cea52a91c4042ebbea9631c23d6af842
自动选品,爬单bug修改
7个文件已修改
237 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateCommonOrderJob.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateTBRelationAndSpecialOrderJob.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
@@ -89,8 +89,7 @@
            if (goods != null && goods.getCouponAmount() != null
                    && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
                if (TaoBaoUtil.getAfterUseCouplePrice(goods).multiply(goods.getTkRate())
                        .compareTo(new BigDecimal("734")) >= 0) {
                if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) {
                    count++;
                    goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
                    shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods));
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java
@@ -1,17 +1,27 @@
package com.yeshi.fanli.job;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
/**
 * 更新大淘客数据
@@ -28,6 +38,12 @@
    @Resource
    private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
    @Resource
    private ShareHotGoodsService shareHotGoodsService;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    // 1个小时更新一次
    @Scheduled(cron = "0 0 0/1 * * ? ")
@@ -132,4 +148,30 @@
        daTaoKeGoodsDetailV2Service.deleteOutOfDate(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L));
    }
    // 自动选品
    @Scheduled(cron = "0 0 23 * * ? ")
    public void setShareHotGoods() {
        String day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        List<TaoBaoGoodsBrief> goodsList = shareHotGoodsService.listPreGoods(1);
        Collections.shuffle(goodsList);
        int count = 0;
        for (TaoBaoGoodsBrief goods : goodsList) {
            if (count > 20)
                break;
            try {
                goods = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId());
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            }
            if (goods != null && goods.getCouponAmount() != null
                    && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
                if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) {
                    count++;
                    goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
                    shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods));
                }
            }
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateCommonOrderJob.java
@@ -21,7 +21,6 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.util.BeanUtil;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -80,11 +79,37 @@
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                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,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                    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 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);
        }
@@ -202,6 +227,9 @@
        long startTime = System.currentTimeMillis();
        // 30s爬取一次近5分钟的
        List<TaoBaoOrder> orderList = getCommonOrder(startTime, 300);
        List<TaoBaoOrder> settleOrderList = getCommonSettleOrder(startTime, 300);
        if (settleOrderList != null && settleOrderList.size() > 0)
            orderList.addAll(settleOrderList);
        addOrderNew(orderList);
    }
@@ -212,7 +240,8 @@
        List<TaoBaoOrder> updateOrderList = new ArrayList<>();
        for (TaoBaoOrder order : orderList) {
            List<TaoBaoOrder> newList = TaoKeOrderApiUtil.getTaoBaoAllOrder(order.getCreateTime(), 60, 1,
                    TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                    TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
            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
@@ -88,11 +88,11 @@
    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,
        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,
            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);
@@ -110,11 +110,11 @@
    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,
        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,
            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);
@@ -302,7 +302,6 @@
            taoBaoOrderService.addTaoBaoOrderList(orderList);
        } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
        }
        try {
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateTBRelationAndSpecialOrderJob.java
@@ -44,10 +44,30 @@
     *            结束页码(每页100条数据)
     */
    public void updateRelationAndSpecialOrder(long startTime, long endTime) {
        List<TaoBaoOrder> list = TaoKeOrderApiUtil.getSpecialOrder(startTime, endTime);
        List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getThirdSpecialOrder(startTime, endTime);
        List<TaoBaoOrder> list2 = TaoKeOrderApiUtil.getRelationOrder(startTime, endTime);
        List<TaoBaoOrder> list3 = TaoKeOrderApiUtil.getThirdRelationOrder(startTime, endTime);
        List<TaoBaoOrder> list = TaoKeOrderApiUtil.getSpecialOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_ALL);
        List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getThirdSpecialOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_ALL);
        List<TaoBaoOrder> list2 = TaoKeOrderApiUtil.getRelationOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_ALL);
        List<TaoBaoOrder> list3 = TaoKeOrderApiUtil.getThirdRelationOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_ALL);
        if (list1 != null && list1.size() > 0)
            list.addAll(list1);
        if (list2 != null && list2.size() > 0)
            list.addAll(list2);
        if (list3 != null && list3.size() > 0)
            list.addAll(list3);
        // 爬取到的订单号
        if (list != null)
            for (TaoBaoOrder order : list) {
                LogHelper.orderInfo("爬取到的订单号:" + order.getOrderId());
            }
        addRelationAndSpecialOrder(list);
    }
    public void updateRelationAndSpecialSettleOrder(long startTime, long endTime) {
        List<TaoBaoOrder> list = TaoKeOrderApiUtil.getSpecialOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT);
        List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getThirdSpecialOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT);
        List<TaoBaoOrder> list2 = TaoKeOrderApiUtil.getRelationOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT);
        List<TaoBaoOrder> list3 = TaoKeOrderApiUtil.getThirdRelationOrder(startTime, endTime,TaoKeOrderApiUtil.TK_STATUS_SETTLEMENT);
        if (list1 != null && list1.size() > 0)
            list.addAll(list1);
        if (list2 != null && list2.size() > 0)
@@ -118,6 +138,7 @@
        LogHelper.orderInfo("爬单:30s爬取一次单");
        long endTime = System.currentTimeMillis();
        updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime);
        updateRelationAndSpecialSettleOrder(endTime - 1000 * 60 * 20L, endTime);
    }
    // 每5分钟更新(近1天数据)
@@ -127,6 +148,7 @@
            return;
        long endTime = System.currentTimeMillis();
        updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
        updateRelationAndSpecialSettleOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
    }
    // 每个小时更新
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -434,10 +434,12 @@
                    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);
                                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,
                                TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                                TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
                        if (thirdOList != null && thirdOList.size() > 0)
                            olist.addAll(thirdOList);
@@ -1218,19 +1220,18 @@
        //根据订单号查询淘宝订单
        List<TaoBaoOrder>  orderList=    taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
        if(orderList!=null)
            for(TaoBaoOrder order:orderList)
            {
            for (TaoBaoOrder order : orderList) {
                //根据交易ID查询常规订单
            CommonOrder commonOrder=    commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getTradeId());
                CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
                        order.getTradeId());
            //修复orderby
            if(commonOrder!=null)
            {CommonOrder update=new CommonOrder(commonOrder.getId());
                if (commonOrder != null) {
                    CommonOrder update = new CommonOrder(commonOrder.getId());
            update.setOrderBy(order.getOrderBy());
            update.setUpdateTime(new Date());        
            commonOrderService.updateByPrimaryKeySelective(update);
            }
            }
        
    }
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -40,15 +40,18 @@
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, String appKey,
            String appSecret) {
    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 = 1;
        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);
    }
@@ -62,11 +65,14 @@
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey,
            String appSecret) {
    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 = 1;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
        orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 3;
        orderQuery.pageNo = page;
@@ -84,13 +90,16 @@
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, String appKey,
            String appSecret) {
    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 = 1;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
        orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 2;
        orderQuery.pageNo = page;
@@ -107,12 +116,15 @@
     * @param appSecret
     * @return
     */
    private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, String appKey,
            String appSecret) {
    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 = 1;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
        orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 2;
        orderQuery.pageNo = page;
@@ -129,17 +141,20 @@
     * @param appSecret
     * @return
     */
    public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret) {
    public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret, int tkStatus) {
        return getTaoBaoAllOrder(startTime, 1200, 1, appKey, appSecret);
        return getTaoBaoAllOrder(startTime, 1200, 1, tkStatus, appKey, appSecret);
    }
    public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, String appKey,
    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 = 1;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
        orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 1;
        orderQuery.pageNo = page;
@@ -158,12 +173,15 @@
     * @param appSecret
     * @return
     */
    public static List<TaoBaoOrder> getTaoBaoThirdAllOrder(String startTime, int span, int page, String appKey,
            String appSecret) {
    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 = 1;
        orderQuery.tkStatus = tkStatus;
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
        orderQuery.orderQueryType = "create_time";
        orderQuery.orderScene = 1;
        orderQuery.pageNo = page;
@@ -376,14 +394,14 @@
        return orderList;
    }
    private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) {
    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, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        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,
            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);
@@ -398,14 +416,14 @@
     * @param span
     * @return
     */
    private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span) {
    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,
        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,
            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);
@@ -413,14 +431,14 @@
        return orderList;
    }
    private static List<TaoBaoOrder> getRelationOrder(long startTime, int span) {
    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,
        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,
            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);
@@ -428,14 +446,14 @@
        return orderList;
    }
    private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span) {
    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,
        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,
            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);
@@ -450,7 +468,7 @@
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getSpecialOrder(long startTime, long endTime) {
    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);
@@ -464,7 +482,7 @@
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s);
            List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
@@ -478,7 +496,7 @@
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getThirdSpecialOrder(long startTime, long endTime) {
    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);
@@ -492,7 +510,7 @@
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s);
            List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
@@ -506,7 +524,7 @@
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getRelationOrder(long startTime, long endTime) {
    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);
@@ -520,7 +538,7 @@
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s);
            List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
@@ -534,7 +552,7 @@
     * @param endTime
     * @return
     */
    public static List<TaoBaoOrder> getThirdRelationOrder(long startTime, long endTime) {
    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);
@@ -548,7 +566,7 @@
                if (s < 60)
                    s = 60;
            }
            List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s);
            List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s, tkStatus);
            if (tempOrderList != null && tempOrderList.size() > 0)
                orderList.addAll(tempOrderList);
        }
@@ -561,6 +579,7 @@
        orderQuery.orderQueryType = "settle_time";
        orderQuery.orderScene = 1;
        orderQuery.pageSize = 100;
        orderQuery.tkStatus=TK_STATUS_SETTLEMENT;
        int page = 1;
        orderQuery.pageNo = page;
        if (third)