yujian
2019-08-20 eb214553bde0ff87d9c3d4cb9187db3b4e3cbcea
Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
7个文件已修改
1个文件已添加
348 ■■■■ 已修改文件
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 23 ●●●●● 补丁 | 查看 | 原始文档 | 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 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/TokenUtil.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java 111 ●●●●● 补丁 | 查看 | 原始文档 | 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
@@ -89,11 +89,13 @@
        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);
        }
@@ -111,11 +113,13 @@
        int page = 1;
        String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(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.getTaoBaoThirdAllOrder(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);
        }
@@ -302,7 +306,6 @@
            taoBaoOrderService.addTaoBaoOrderList(orderList);
        } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
        }
        try {
@@ -373,10 +376,10 @@
            return;
        LogHelper.error("处理返利到账前置");
        try {
            doTaoBaoWeiQuanOrder(2);
        } catch (Exception e) {
        LogHelper.errorDetailInfo(e);
            LogHelper.errorDetailInfo(e);
        }
        LogHelper.error("开始处理返利");
        orderProcessService.fanli();
@@ -512,7 +515,7 @@
    }
    /**
     * 13分钟更新最近13分钟的结算数据
     * 13分钟更新最近2小时的结算数据
     */
    @Scheduled(cron = "0 0/13 * * * ? ")
    public void doSettleOrdersToday() {
@@ -520,8 +523,8 @@
            return;
        // 处理3-15天前的订单,每天跑一次
        Calendar ca = Calendar.getInstance();
        long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 13L;
        long endTime = startTime + 1000 * 60 * 13L;
        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)
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);
@@ -469,7 +471,7 @@
                        CMQManager.getInstance().addWeiQuanOrderMsg(order);
                    }
                } catch (Exception e) {
                    LogHelper.error("维权订单加入到队列出错:"+order!=null?new Gson().toJson(order):null);
                    LogHelper.error("维权订单加入到队列出错:" + order != null ? new Gson().toJson(order) : null);
                }
            }
    }
@@ -1215,22 +1217,21 @@
    @Override
    public void repairCommonOrderByByTaoBaoOrder(String orderId) {
        //根据订单号查询淘宝订单
        List<TaoBaoOrder>  orderList=    taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
        if(orderList!=null)
            for(TaoBaoOrder order:orderList)
            {
                //根据交易ID查询常规订单
            CommonOrder commonOrder=    commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getTradeId());
            //修复orderby
            if(commonOrder!=null)
            {CommonOrder update=new CommonOrder(commonOrder.getId());
            update.setOrderBy(order.getOrderBy());
            update.setUpdateTime(new Date());
            commonOrderService.updateByPrimaryKeySelective(update);
        // 根据订单号查询淘宝订单
        List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
        if (orderList != null)
            for (TaoBaoOrder order : orderList) {
                // 根据交易ID查询常规订单
                CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
                        order.getTradeId());
                // 修复orderby
                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/TokenUtil.java
New file
@@ -0,0 +1,63 @@
package com.yeshi.fanli.util;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * 口令工具
 *
 * @author Administrator
 *
 */
public class TokenUtil {
    private static String convert10To62(Long num) {
        String numbers = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        BigDecimal numBig = new BigDecimal(num);
        int ge = numBig.divideAndRemainder(new BigDecimal(numbers.length()))[1].intValue();
        int n = 1;
        String result = "";
        result += numbers.charAt(ge);
        while (numBig.divideAndRemainder(new BigDecimal(numbers.length()).pow(n))[0].compareTo(new BigDecimal(0)) > 0) {
            int w = numBig.divideAndRemainder(new BigDecimal(numbers.length()).pow(n))[0]
                    .divideAndRemainder(new BigDecimal(numbers.length()))[1].intValue();
            result = numbers.charAt(w) + result;
            n++;
        }
        return result;
    }
    /**
     * 生成口令
     *
     * @param id
     * @return
     */
    public static String createToken(Long id) {// 生成口令
        long fid = 10000000000000L * ((int) (Math.random() * 1000) + 1) + id;
        return "&" + convert10To62(fid) + "&";
    }
    /**
     * 提取口令
     *
     * @param content
     * @return
     */
    public static String parseToken(String content) {
        String regex = "&[A-Za-z0-9]{6,10}&";
        Pattern pattern = Pattern.compile(regex);
        String source = content;
        Matcher matcher = pattern.matcher(source);
        while (matcher.find()) {
            String result = matcher.group(0);
            return result;
        }
        return null;
    }
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -40,16 +40,19 @@
     * @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;
        orderQuery.orderQueryType = "create_time";
        if (tkStatus == TK_STATUS_SETTLEMENT)
            orderQuery.orderQueryType = "settle_time";
        else
            orderQuery.orderQueryType = "create_time";
        return queryTaoBaoOrder(orderQuery, appKey, appSecret);
    }
@@ -62,12 +65,15 @@
     * @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.orderQueryType = "create_time";
        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;
@@ -84,14 +90,17 @@
     * @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.orderQueryType = "create_time";
        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;
@@ -107,13 +116,16 @@
     * @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.orderQueryType = "create_time";
        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;
@@ -129,18 +141,21 @@
     * @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.orderQueryType = "create_time";
        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;
@@ -158,13 +173,16 @@
     * @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.orderQueryType = "create_time";
        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;
@@ -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)