admin
2019-09-18 b19d2e730b0ea707b500b307f58c46ba0cef695f
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;
@@ -274,6 +292,12 @@
         e.printStackTrace();
      }
      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         e.printStackTrace();
      }
      return null;
   }
@@ -376,14 +400,109 @@
      return orderList;
   }
   private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) {
   private static List<TaoBaoOrder> parseTaoBaoOrderNew(String response) {
      List<TaoBaoOrder> orderList = new ArrayList<>();
      JSONArray array = null;
      JSONObject data = JSONObject.fromObject(response);
      try {
         array = data.optJSONObject("tbk_order_details_get_response").optJSONObject("data").optJSONObject("results")
               .optJSONArray("publisher_order_dto");
      } catch (Exception e) {
         return orderList;
      }
      if (array != null)
         for (int i = 0; i < array.size(); i++) {
            JSONObject item = array.optJSONObject(i);
            try {
               TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
               taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
               taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
               taoBaoOrder.setAuctionId(item.optLong("item_id"));
               taoBaoOrder.setClassName(item.optString("item_category_name"));
               taoBaoOrder.setClickTime(item.optString("click_time"));
               taoBaoOrder.setCount(item.optInt("item_num"));
               taoBaoOrder.setCreateTime(item.optString("tk_create_time"));
               if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
                  taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
               else
                  taoBaoOrder.seteIncome(new BigDecimal(0));
               if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
                  taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
               else
                  taoBaoOrder.setEstimate(new BigDecimal(0));
               taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")));
               taoBaoOrder.setLatestUpdateTime(null);
               taoBaoOrder.setManagerWangWang(null);
               taoBaoOrder.setOrderBy(null);
               taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
               if (item.optInt("tk_status") == 12)
                  taoBaoOrder.setOrderState("订单付款");
               else if (item.optInt("tk_status") == 3)
                  taoBaoOrder.setOrderState("订单结算");
               else if (item.optInt("tk_status") == 13)
                  taoBaoOrder.setOrderState("订单失效");
               else if (item.optInt("tk_status") == 14)
                  taoBaoOrder.setOrderState("订单成功");
               taoBaoOrder.setOrderType(item.optString("order_type"));
               if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
                  taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
               else
                  taoBaoOrder.setPayment(new BigDecimal(0));
               taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price")));
               if (!StringUtil.isNullOrEmpty(item.optString("pay_price")))
                  taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price")));
               else
                  taoBaoOrder.setSettlement(new BigDecimal(0));
               taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
               taoBaoOrder.setShop(item.optString("seller_shop_title"));
               taoBaoOrder.setSourceMediaId(item.optString("site_id"));
               taoBaoOrder.setSourceMediaName(item.optString("site_name"));
               taoBaoOrder.setsRatio(null);
               if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 补贴金额
                  taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
               if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
                  taoBaoOrder.setSubsidyRatio(new BigDecimal(item.optString("subsidy_rate")));
               taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
               taoBaoOrder.setTechnologySupportPercent(null);
               taoBaoOrder.setThirdService(null);
               taoBaoOrder.setTitle(item.optString("item_title"));
               if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
                  taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
               else
                  taoBaoOrder.setTkMoney(new BigDecimal(0));
               if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
                  taoBaoOrder.setTkRate(new BigDecimal(item.optString("commission_rate")));
               else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
                  taoBaoOrder.setTkRate(new BigDecimal(item.optString("total_commission_rate")));
               taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
               taoBaoOrder.setRelationId(item.optString("relation_id"));
               taoBaoOrder.setSpecialId(item.optString("special_id"));
               taoBaoOrder.setTradeId(item.optString("trade_id"));
               orderList.add(taoBaoOrder);
            } catch (Exception e) {
               try {
                  LogHelper.errorDetailInfo(e, "订单号信息:" + item.toString(), "订单解析出错");
               } catch (Exception e1) {
               }
            }
         }
      return orderList;
   }
   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 +517,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 +532,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 +547,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 +569,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 +583,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 +597,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 +611,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 +625,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 +639,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 +653,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 +667,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 +680,7 @@
      orderQuery.orderQueryType = "settle_time";
      orderQuery.orderScene = 1;
      orderQuery.pageSize = 100;
      orderQuery.tkStatus = TK_STATUS_SETTLEMENT;
      int page = 1;
      orderQuery.pageNo = page;
      if (third)
@@ -619,18 +739,20 @@
      return orderList;
   }
   public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
   public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
         boolean third) {
      return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
      return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
   }
   public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
   public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
         boolean third) {
      return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
      return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
   }
   private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int page, boolean third,
         int bizType) {
   private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
         boolean third, int bizType) {
      WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
      List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
@@ -639,7 +761,7 @@
      map.put("method", "taobao.tbk.relation.refund");
      JSONObject option = new JSONObject();
      option.put("search_type", 2);
      option.put("search_type", searchType);
      option.put("refund_type", third ? 2 : 1);
      option.put("start_time", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
      option.put("page_no", page);
@@ -667,16 +789,16 @@
               order.setGoodsName(item.optString("tb_auction_title"));
               BigDecimal fanMoney = new BigDecimal(0);
               if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund3rd_pub"))) {
                  fanMoney=   fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
                  fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
               }
               if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund3rd_pub"))) {
                  fanMoney=      fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
                  fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
               }
               if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund_pub"))) {
                  fanMoney=   fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
                  fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
               }
               if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund_pub"))) {
                  fanMoney=   fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund_pub")));
                  fanMoney = fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund_pub")));
               }
               if (fanMoney.compareTo(new BigDecimal(0)) == 0)
@@ -711,4 +833,73 @@
      return finalResult;
   }
   /**
    * 获取淘宝会员运营订单
    *
    * @param startTime
    * @param endTime
    * @return
    */
   public static List<TaoBaoOrder> getTaoBaoSpecialOrderList(long startTime, long endTime, int queryType) {
      List<TaoBaoOrder> orderList = new ArrayList<>();
      // 间隔3小时
      long jianGe = endTime - startTime;
      long page = jianGe / (1000 * 60 * 60 * 3L);
      if (page == 0)
         page = 1;
      for (int i = 1; i <= page; i++) {
         long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L);
         long end = start + (1000 * 60 * 60 * 3L);
         if (end > endTime)
            end = endTime;
         List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
               TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 3);
         if (tempOrderList != null)
            orderList.addAll(tempOrderList);
      }
      return orderList;
   }
   public static List<TaoBaoOrder> getTaoBaoRelationOrderList(long startTime, long endTime, int queryType) {
      List<TaoBaoOrder> orderList = new ArrayList<>();
      // 间隔3小时
      long jianGe = endTime - startTime;
      long page = jianGe / (1000 * 60 * 60 * 3L);
      if (page == 0)
         page = 1;
      for (int i = 1; i <= page; i++) {
         long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L);
         long end = start + (1000 * 60 * 60 * 3L);
         if (end > endTime)
            end = endTime;
         List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
               TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 2);
         if (tempOrderList != null)
            orderList.addAll(tempOrderList);
      }
      return orderList;
   }
   public static List<TaoBaoOrder> queryNewOrder(String startTime, String endTime, int queryType, int orderScene) {
      Map<String, String> params = new HashMap<>();
      params.put("query_type", queryType + "");
      params.put("page_size", "100");
      params.put("start_time", startTime);
      params.put("end_time", endTime);
      params.put("page_no", "1");
      params.put("order_scene", orderScene + "");
      params.put("method", "taobao.tbk.order.details.get");
      TaoKeAppInfo app = new TaoKeAppInfo();
      app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
      app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
      try {
         JSONObject json = TaoKeBaseUtil.baseRequest(params, app);
         List<TaoBaoOrder> orderList = parseTaoBaoOrderNew(json.toString());
         return orderList;
      } catch (TaoKeApiException e) {
         e.printStackTrace();
      }
      return new ArrayList<>();
   }
}