From ccc87b5ac3d6271f95bb8bd89d2f38d765365702 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 21 五月 2020 11:08:29 +0800
Subject: [PATCH] 团队订单搜索 + 粉丝搜索
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 673 +++++++------------------------------------------------
1 files changed, 91 insertions(+), 582 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
index c51709f..736bf42 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -7,14 +7,16 @@
import java.util.List;
import java.util.Map;
-import com.yeshi.fanli.dto.order.OrderQuery;
+import com.yeshi.fanli.dto.taobao.TaoBaoOrderResultDTO;
import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoOrderGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoPunishOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
@@ -30,165 +32,6 @@
public static int TK_STATUS_PAY = 12;
public static int TK_STATUS_SUCCESS = 14;
public static int TK_STATUS_INVALID = 13;
-
- /**
- * 鑾峰彇浼氬憳璁㈠崟
- *
- * @param startTime-寮�濮嬫椂闂�
- * @param page-椤电爜
- * @param appKey
- * @param appSecret
- * @return
- */
- private static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int span, int page, int tkStatus,
- String appKey, String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.tkStatus = tkStatus;
- orderQuery.orderScene = 3;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.span = span;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- /**
- * 鑾峰彇绗笁鏂逛細鍛樿鍗�
- *
- * @param startTime
- * @param page
- * @param appKey
- * @param appSecret
- * @return
- */
- private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, int tkStatus,
- String appKey, String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.tkStatus = tkStatus;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 3;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.span = span;
- orderQuery.orderCountType = 2;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- /**
- * 鑾峰彇娓犻亾璁㈠崟
- *
- * @param startTime
- * @param appKey
- * @param appSecret
- * @return
- */
- private static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int span, int page, int tkStatus,
- String appKey, String appSecret) {
-
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = tkStatus;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 2;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- /**
- * 绗笁鏂规笭閬撹鍗�
- *
- * @param startTime
- * @param page
- * @param appKey
- * @param appSecret
- * @return
- */
- private static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int span, int page, int tkStatus,
- String appKey, String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = tkStatus;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 2;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.orderCountType = 2;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- /**
- * 鑾峰彇鎵�鏈夌殑璁㈠崟锛堜笉甯︽笭閬撲俊鎭笌浼氬憳淇℃伅锛�
- *
- * @param startTime
- * @param appKey
- * @param appSecret
- * @return
- */
- public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret, int tkStatus) {
-
- return getTaoBaoAllOrder(startTime, 1200, 1, tkStatus, appKey, appSecret);
- }
-
- public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, int tkStatus, String appKey,
- String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = tkStatus;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 1;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.orderCountType = 1;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- /**
- * 鑾峰彇绗笁鏂硅鍗�
- *
- * @param startTime
- * @param span
- * @param page
- * @param appKey
- * @param appSecret
- * @return
- */
- public static List<TaoBaoOrder> getTaoBaoThirdAllOrder(String startTime, int span, int page, int tkStatus,
- String appKey, String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = tkStatus;
- if (tkStatus == TK_STATUS_SETTLEMENT)
- orderQuery.orderQueryType = "settle_time";
- else
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 1;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.orderCountType = 2;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
private static TaoBaoPunishOrder parsePunishOrder(JSONObject data) {
TaoBaoPunishOrder order = new TaoBaoPunishOrder();
@@ -259,157 +102,21 @@
return resultList;
}
- private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) {
+ private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) {
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.order.get");
- map.put("fields",
- "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
- if (orderQuery.startTime != null)
- map.put("start_time", orderQuery.startTime);
- if (orderQuery.span != null)
- map.put("span", orderQuery.span + "");
- map.put("page_no", orderQuery.pageNo + "");
- map.put("page_size", orderQuery.pageSize + "");
-
- if (orderQuery.tkStatus != null)
- map.put("tk_status", orderQuery.tkStatus + "");
- if (orderQuery.orderQueryType != null)
- map.put("order_query_type", orderQuery.orderQueryType);
- if (orderQuery.orderScene != null)
- map.put("order_scene", orderQuery.orderScene + "");
-
- if (orderQuery.orderCountType != null)
- map.put("order_count_type", orderQuery.orderCountType + "");
-
- TaoKeAppInfo app = new TaoKeAppInfo();
- app.setAppKey(appKey);
- app.setAppSecret(appSecret);
- try {
- JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
- return parseTaoBaoOrder(json.toString());
- } catch (TaoKeApiException e) {
- e.printStackTrace();
- }
-
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- return null;
- }
-
- private static List<TaoBaoOrder> parseTaoBaoOrder(String response) {
-
- List<TaoBaoOrder> orderList = new ArrayList<>();
-
- JSONObject data = JSONObject.fromObject(response);
- if (data.optJSONObject("tbk_order_get_response") == null)
- return orderList;
- if (data.optJSONObject("tbk_order_get_response").optJSONObject("results") == null)
- return orderList;
- if (data.optJSONObject("tbk_order_get_response").optJSONObject("results").optJSONArray("n_tbk_order") == null)
- return orderList;
-
- JSONArray array = data.optJSONObject("tbk_order_get_response").optJSONObject("results")
- .optJSONArray("n_tbk_order");
- 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("num_iid"));
- taoBaoOrder.setClassName(item.optString("auction_category"));
- taoBaoOrder.setClickTime(item.optString("click_time"));
- taoBaoOrder.setCount(item.optInt("item_num"));
- taoBaoOrder.setCreateTime(item.optString("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")).multiply(new BigDecimal(100)));
- 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("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("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")).multiply(new BigDecimal(100)));
- 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")).multiply(new BigDecimal(100)));
- else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
- taoBaoOrder.setTkRate(
- new BigDecimal(item.optString("total_commission_rate")).multiply(new BigDecimal(100)));
- 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(), "璁㈠崟瑙f瀽鍑洪敊");
- } catch (Exception e1) {
- }
- }
- }
-
- return orderList;
- }
-
- private static List<TaoBaoOrder> parseTaoBaoOrderNew(String response) {
+ TaoBaoOrderResultDTO dto = new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>());
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");
+ JSONObject rootData = data.optJSONObject("tbk_order_details_get_response").optJSONObject("data");
+ array = rootData.optJSONObject("results").optJSONArray("publisher_order_dto");
+ dto.setHasPre(rootData.optBoolean("has_pre"));
+ dto.setPositionIndex(rootData.optString("position_index"));
+ dto.setHasNext(rootData.optBoolean("has_next"));
} catch (Exception e) {
- return orderList;
+ return dto;
}
if (array != null)
@@ -423,6 +130,7 @@
taoBaoOrder.setAuctionId(item.optLong("item_id"));
taoBaoOrder.setClassName(item.optString("item_category_name"));
taoBaoOrder.setClickTime(item.optString("click_time"));
+ taoBaoOrder.setPayTime(item.optString("tb_paid_time"));
taoBaoOrder.setCount(item.optInt("item_num"));
taoBaoOrder.setCreateTime(item.optString("tk_create_time"));
if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
@@ -453,11 +161,14 @@
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("item_price")))
+ taoBaoOrder.setPrice(new BigDecimal(0));
+ else
+ 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.setSettlement(taoBaoOrder.getPayment());
taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
taoBaoOrder.setShop(item.optString("seller_shop_title"));
taoBaoOrder.setSourceMediaId(item.optString("site_id"));
@@ -483,6 +194,21 @@
taoBaoOrder.setRelationId(item.optString("relation_id"));
taoBaoOrder.setSpecialId(item.optString("special_id"));
taoBaoOrder.setTradeId(item.optString("trade_id"));
+ // 瑙f瀽鍟嗗搧淇℃伅
+ TaoBaoOrderGoods goods = new TaoBaoOrderGoods();
+ goods.setCategoryName(item.optString("item_category_name"));
+ goods.setCreateTime(new Date());
+ goods.setGoodsId(item.optLong("item_id"));
+ goods.setImg(item.optString("item_img"));
+ goods.setLink(item.optString("item_link"));
+ goods.setPrice(item.optString("item_price"));
+ goods.setTitle(item.optString("item_title"));
+ goods.setTradeId(item.optString("trade_id"));
+ if (goods.getImg() != null && !goods.getImg().startsWith("http")) {
+ goods.setImg("http:" + goods.getImg());
+ }
+
+ taoBaoOrder.setGoods(goods);
orderList.add(taoBaoOrder);
} catch (Exception e) {
try {
@@ -491,252 +217,8 @@
}
}
}
-
- 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, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇绗笁鏂规櫘閫氳鍗�
- *
- * @param startTime
- * @param span
- * @return
- */
- private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span, int tkStatus) {
- int page = 1;
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- private static List<TaoBaoOrder> getRelationOrder(long startTime, int span, int tkStatus) {
- int page = 1;
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span, int tkStatus) {
- int page = 1;
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, tkStatus,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇鏌愪釜鍖洪棿鐨勪細鍛樿鍗�
- *
- * @param startTime
- * @param endTime
- * @return
- */
- public static List<TaoBaoOrder> getSpecialOrder(long startTime, long endTime, int tkStatus) {
- List<TaoBaoOrder> orderList = new ArrayList<>();
- long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
- int count = (int) (span / 1200);
- if (span % 1200 != 0)
- count++;
- for (int i = 0; i < count; i++) {
- long startT = startTime + i * 1200 * 1000L;
- int s = 1200;
- if (endTime < startT + 1200 * 1000L) {
- s = (int) ((endTime - startT) / 1000) + 1;
- if (s < 60)
- s = 60;
- }
- List<TaoBaoOrder> tempOrderList = getSpecialOrder(startT, s, tkStatus);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇鏌愪釜鍖洪棿鐨勭涓夋柟浼氬憳璁㈠崟
- *
- * @param startTime
- * @param endTime
- * @return
- */
- public static List<TaoBaoOrder> getThirdSpecialOrder(long startTime, long endTime, int tkStatus) {
- List<TaoBaoOrder> orderList = new ArrayList<>();
- long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
- int count = (int) (span / 1200);
- if (span % 1200 != 0)
- count++;
- for (int i = 0; i < count; i++) {
- long startT = startTime + i * 1200 * 1000L;
- int s = 1200;
- if (endTime < startT + 1200 * 1000L) {
- s = (int) ((endTime - startT) / 1000) + 1;
- if (s < 60)
- s = 60;
- }
- List<TaoBaoOrder> tempOrderList = getThirdTSpecialOrder(startT, s, tkStatus);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇娓犻亾璁㈠崟
- *
- * @param startTime
- * @param endTime
- * @return
- */
- public static List<TaoBaoOrder> getRelationOrder(long startTime, long endTime, int tkStatus) {
- List<TaoBaoOrder> orderList = new ArrayList<>();
- long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
- int count = (int) (span / 1200);
- if (span % 1200 != 0)
- count++;
- for (int i = 0; i < count; i++) {
- long startT = startTime + i * 1200 * 1000L;
- int s = 1200;
- if (endTime < startT + 1200 * 1000L) {
- s = (int) ((endTime - startT) / 1000) + 1;
- if (s < 60)
- s = 60;
- }
- List<TaoBaoOrder> tempOrderList = getRelationOrder(startT, s, tkStatus);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇鏌愪釜鍖洪棿鐨勭涓夋柟娓犻亾璁㈠崟
- *
- * @param startTime
- * @param endTime
- * @return
- */
- public static List<TaoBaoOrder> getThirdRelationOrder(long startTime, long endTime, int tkStatus) {
- List<TaoBaoOrder> orderList = new ArrayList<>();
- long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
- int count = (int) (span / 1200);
- if (span % 1200 != 0)
- count++;
- for (int i = 0; i < count; i++) {
- long startT = startTime + i * 1200 * 1000L;
- int s = 1200;
- if (endTime < startT + 1200 * 1000L) {
- s = (int) ((endTime - startT) / 1000) + 1;
- if (s < 60)
- s = 60;
- }
- List<TaoBaoOrder> tempOrderList = getThirdRelationOrder(startT, s, tkStatus);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- private static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, int span, boolean third) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.span = span;
- orderQuery.orderQueryType = "settle_time";
- orderQuery.orderScene = 1;
- orderQuery.pageSize = 100;
- orderQuery.tkStatus = TK_STATUS_SETTLEMENT;
- int page = 1;
- orderQuery.pageNo = page;
- if (third)
- orderQuery.orderCountType = 2;
- else
- orderQuery.orderCountType = 1;
-
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- orderQuery.startTime = startTimeStr;
- List<TaoBaoOrder> orderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- orderQuery.pageNo = page;
- List<TaoBaoOrder> tempOrderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
- }
- return orderList;
- }
-
- /**
- * 鑾峰彇缁撶畻璁㈠崟
- *
- * @param startTime
- * @param endTime
- * @param third
- * -鏄惁涓虹涓夋柟璁㈠崟
- * @return
- */
- public static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, long endTime, boolean third) {
- List<TaoBaoOrder> orderList = new ArrayList<>();
- long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
- int count = (int) (span / 1200);
- if (span % 1200 != 0)
- count++;
- for (int i = 0; i < count; i++) {
- long startT = startTime + i * 1200 * 1000L;
- int s = 1200;
- if (endTime < startT + 1200 * 1000L) {
- s = (int) ((endTime - startT) / 1000) + 1;
- if (s < 60)
- s = 60;
- }
- List<TaoBaoOrder> tempOrderList = getTaoBaoSettleOrders(startT, s, third);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
-
- try {
- Thread.sleep(1000 * 10);// 鍔犱釜寤舵椂锛岄槻姝PI璇锋眰棰戠巼闄愬埗
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- return orderList;
+ dto.setOrderList(orderList);
+ return dto;
}
public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
@@ -835,6 +317,10 @@
}
/**
+ * 鏂扮増鏈窐瀹濊鍗�
+ */
+
+ /**
* 鑾峰彇娣樺疂浼氬憳杩愯惀璁㈠崟
*
* @param startTime
@@ -842,46 +328,66 @@
* @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;
+ return getTaoBaoOrderList(startTime, endTime, queryType, 3);
}
+ /**
+ * 娣樺疂娓犻亾璁㈠崟
+ *
+ * @param startTime
+ * @param endTime
+ * @param queryType
+ * @return
+ */
public static List<TaoBaoOrder> getTaoBaoRelationOrderList(long startTime, long endTime, int queryType) {
+ return getTaoBaoOrderList(startTime, endTime, queryType, 2);
+ }
+
+ public static List<TaoBaoOrder> getTaoBaoCommonOrderList(long startTime, long endTime, int queryType) {
+ return getTaoBaoOrderList(startTime, endTime, queryType, 1);
+ }
+
+ public static List<TaoBaoOrder> getTaoBaoOrderList(long startTime, long endTime, int queryType, int orderScene) {
List<TaoBaoOrder> orderList = new ArrayList<>();
- // 闂撮殧3灏忔椂
+ // 璺ㄥ害20鍒嗛挓
+ long span = (1000 * 60 * 20L);
long jianGe = endTime - startTime;
- long page = jianGe / (1000 * 60 * 60 * 3L);
+ long page = jianGe % span == 0 ? jianGe / span : jianGe / span + 1;
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);
+ long start = startTime + (i - 1) * span;
+ long end = start + span;
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);
+ TaoBaoOrderResultDTO dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+ TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), null, queryType, orderScene);
+ if (dto != null)
+ orderList.addAll(dto.getOrderList());
+ while (dto!=null&&dto.isHasNext()) {
+ dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
+ TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), dto.getPositionIndex(), queryType,
+ orderScene);
+ if (dto != null)
+ orderList.addAll(dto.getOrderList());
+ }
}
return orderList;
}
- public static List<TaoBaoOrder> queryNewOrder(String startTime, String endTime, int queryType, int orderScene) {
+ /**
+ * 娣樺疂璁㈠崟鏌ヨ
+ *
+ * @param startTime
+ * @param endTime
+ * @param positionIndex
+ * @param queryType
+ * 1锛氭寜鐓ц鍗曟窐瀹㈠垱寤烘椂闂存煡璇紝2:鎸夌収璁㈠崟娣樺浠樻鏃堕棿鏌ヨ锛�3:鎸夌収璁㈠崟娣樺缁撶畻鏃堕棿鏌ヨ
+ * @param orderScene
+ * @return
+ */
+ private static TaoBaoOrderResultDTO queryNewOrder(String startTime, String endTime, String positionIndex,
+ int queryType, int orderScene) {
Map<String, String> params = new HashMap<>();
params.put("query_type", queryType + "");
params.put("page_size", "100");
@@ -889,17 +395,20 @@
params.put("end_time", endTime);
params.put("page_no", "1");
params.put("order_scene", orderScene + "");
+ if (!StringUtil.isNullOrEmpty(positionIndex))
+ params.put("position_index", positionIndex + "");
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) {
+ if (Constant.IS_TEST)
+ System.out.println(json);
+ return parseTaoBaoOrderNew(json.toString());
+ } catch (Exception e) {
e.printStackTrace();
}
- return new ArrayList<>();
+ return null;
}
}
--
Gitblit v1.8.0