admin
2019-03-13 69bee82b81626b82b7f39f0e459e4f56b1699b51
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -6,7 +6,6 @@
import java.util.List;
import java.util.Map;
import com.taobao.api.TaobaoObject;
import com.yeshi.fanli.dto.order.OrderQuery;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
@@ -14,12 +13,20 @@
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
//淘宝客API接口
public class TaoKeOrderApiUtil {
   public static int TK_STATUS_ALL=1;
   public static int TK_STATUS_SETTLEMENT=3;
   public static int TK_STATUS_PAY=12;
   public static int TK_STATUS_SUCCESS=14;
   public static int TK_STATUS_INVALID=13;
   /**
    * 获取会员订单
    * 
@@ -29,13 +36,16 @@
    * @param appSecret
    * @return
    */
   public static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int page, String appKey, String appSecret) {
   private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, String appKey,
         String appSecret) {
      OrderQuery orderQuery = new OrderQuery();
      orderQuery.startTime = startTime;
      orderQuery.tkStatus = 1;
      orderQuery.orderScene = 3;
      orderQuery.pageNo = page;
      orderQuery.pageSize = 100;
      orderQuery.span = span;
      orderQuery.orderQueryType = "create_time";
      return queryTaoBaoOrder(orderQuery, appKey, appSecret);
   }
@@ -48,7 +58,7 @@
    * @param appSecret
    * @return
    */
   public static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int page, String appKey,
   private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey,
         String appSecret) {
      OrderQuery orderQuery = new OrderQuery();
      orderQuery.startTime = startTime;
@@ -57,6 +67,7 @@
      orderQuery.orderScene = 3;
      orderQuery.pageNo = page;
      orderQuery.pageSize = 100;
      orderQuery.span = span;
      orderQuery.orderCountType = 2;
      return queryTaoBaoOrder(orderQuery, appKey, appSecret);
   }
@@ -69,12 +80,12 @@
    * @param appSecret
    * @return
    */
   public static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int page, String appKey,
   private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, String appKey,
         String appSecret) {
      OrderQuery orderQuery = new OrderQuery();
      orderQuery.startTime = startTime;
      orderQuery.span = 1200;
      orderQuery.span = span;
      orderQuery.tkStatus = 1;
      orderQuery.orderQueryType = "create_time";
      orderQuery.orderScene = 2;
@@ -92,11 +103,11 @@
    * @param appSecret
    * @return
    */
   public static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int page, String appKey,
   private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, String appKey,
         String appSecret) {
      OrderQuery orderQuery = new OrderQuery();
      orderQuery.startTime = startTime;
      orderQuery.span = 1200;
      orderQuery.span = span;
      orderQuery.tkStatus = 1;
      orderQuery.orderQueryType = "create_time";
      orderQuery.orderScene = 2;
@@ -129,12 +140,13 @@
      orderQuery.orderScene = 1;
      orderQuery.pageNo = page;
      orderQuery.pageSize = 100;
      orderQuery.orderCountType=2;
      orderQuery.orderCountType = 1;
      return queryTaoBaoOrder(orderQuery, appKey, appSecret);
   }
   /**
    * 获取第三方订单
    *
    * @param startTime
    * @param span
    * @param page
@@ -152,6 +164,7 @@
      orderQuery.orderScene = 1;
      orderQuery.pageNo = page;
      orderQuery.pageSize = 100;
      orderQuery.orderCountType = 2;
      return queryTaoBaoOrder(orderQuery, appKey, appSecret);
   }
@@ -321,4 +334,182 @@
      return orderList;
   }
   private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) {
      int page = 1;
      String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
      List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
            Constant.TAOBAO_AUTH_APPSECRET);
      while (orderList.size() == 100 * page) {
         page++;
         List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page,
               Constant.TAOBAO_AUTH_APPKEY, Constant.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 page = 1;
      String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
      List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
            Constant.TAOBAO_AUTH_APPSECRET);
      while (orderList.size() == 100 * page) {
         page++;
         List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
               Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
         if (tempOrderList != null && tempOrderList.size() > 0)
            orderList.addAll(tempOrderList);
      }
      return orderList;
   }
   private static List<TaoBaoOrder> getRelationOrder(long startTime, int span) {
      int page = 1;
      String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
      List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
            Constant.TAOBAO_AUTH_APPSECRET);
      while (orderList.size() == 100 * page) {
         page++;
         List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page,
               Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
         if (tempOrderList != null && tempOrderList.size() > 0)
            orderList.addAll(tempOrderList);
      }
      return orderList;
   }
   private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span) {
      int page = 1;
      String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
      List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
            Constant.TAOBAO_AUTH_APPSECRET);
      while (orderList.size() == 100 * page) {
         page++;
         List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
               Constant.TAOBAO_AUTH_APPKEY, Constant.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) {
      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);
         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) {
      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);
         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) {
      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);
         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) {
      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);
         if (tempOrderList != null && tempOrderList.size() > 0)
            orderList.addAll(tempOrderList);
      }
      return orderList;
   }
}