From b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 22 九月 2019 16:47:33 +0800
Subject: [PATCH] 金币BUG修改
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 666 +++++++++++++++++++++++++++---------------------------
1 files changed, 335 insertions(+), 331 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 6f69f45..7d0d7f8 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
@@ -2,12 +2,17 @@
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
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.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;
@@ -20,186 +25,85 @@
//娣樺疂瀹PI鎺ュ彛
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;
-
- /**
- * 鑾峰彇浼氬憳璁㈠崟
- *
- * @param startTime-寮�濮嬫椂闂�
- * @param page-椤电爜
- * @param appKey
- * @param appSecret
- * @return
- */
- 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);
+
+ 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;
+
+
+ private static TaoBaoPunishOrder parsePunishOrder(JSONObject data) {
+ TaoBaoPunishOrder order = new TaoBaoPunishOrder();
+ order.setPunishStatus(data.optString("punish_status"));
+ order.setRelationId(data.optString("relation_id"));
+ order.setSettleMonth(data.optString("settle_month"));
+ order.setSpecialId(data.optString("special_id"));
+ order.setTbTradeId(data.optString("tb_trade_id"));
+ order.setTbTradeParentId(data.optString("tb_trade_parent_id"));
+ order.setTkAdzoneId(data.optString("tk_adzone_id"));
+ order.setTkPubId(data.optString("tk_pub_id"));
+ order.setTkSiteId(data.optString("tk_site_id"));
+ order.setTkTradeCreateTime(data.optString("tk_trade_create_time"));
+ order.setViolationType(data.optString("violation_type"));
+ return order;
}
- /**
- * 鑾峰彇绗笁鏂逛細鍛樿鍗�
- *
- * @param startTime
- * @param page
- * @param appKey
- * @param appSecret
- * @return
- */
- private static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int span, int page, String appKey,
- String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.tkStatus = 1;
- 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, String appKey,
- String appSecret) {
-
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = 1;
- 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, String appKey,
- String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = 1;
- 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) {
-
- return getTaoBaoAllOrder(startTime, 1200, 1, appKey, appSecret);
- }
-
- public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, int span, int page, String appKey,
- String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = 1;
- 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, String appKey,
- String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = span;
- orderQuery.tkStatus = 1;
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 1;
- orderQuery.pageNo = page;
- orderQuery.pageSize = 100;
- orderQuery.orderCountType = 2;
- return queryTaoBaoOrder(orderQuery, appKey, appSecret);
- }
-
- public static void punish() {
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.dg.punish.order.get");
- map.put("span", "3600");
- map.put("page_no", "1");
- map.put("page_size", "20");
- map.put("start_time", "2019-01-01 00:00:00");
- // map.put("start_time", "2019-01-01 00:00:00");
+ public static List<TaoBaoPunishOrder> getPunishOrderList(Long startTime, Long endTime) {
+ List<TaoBaoPunishOrder> resultList = new ArrayList<>();
TaoKeAppInfo app = new TaoKeAppInfo();
app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- try {
- JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
- } catch (TaoKeApiException e) {
- e.printStackTrace();
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.dg.punish.order.get");
+ JSONObject data = new JSONObject();
+ data.put("page_no", 1);
+ data.put("page_size", 100);
+ int sub = (int) ((endTime - startTime) / 1000);
+ int span = 1800;
+ int count = sub % span == 0 ? sub / span : sub / span + 1;
+ for (int i = 0; i < count; i++) {
+ int totalSpanOrderCount = 0;
+ List<TaoBaoPunishOrder> spanOrderList = new ArrayList<>();
+ long startT = startTime + i * span * 1000;
+ data.put("start_time", TimeUtil.getGernalTime(startT, "yyyy-MM-dd HH:mm:ss"));
+ data.put("span", 1800 + "");
+ map.put("af_order_option", data.toString());
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ JSONObject dataJson = json.optJSONObject("tbk_dg_punish_order_get_response").optJSONObject("result")
+ .optJSONObject("data");
+ JSONArray array = dataJson.optJSONObject("results").optJSONArray("result");
+ if (array != null)
+ for (int n = 0; n < array.size(); n++) {
+ spanOrderList.add(parsePunishOrder(array.optJSONObject(n)));
+ }
+ totalSpanOrderCount = dataJson.optInt("total_count");
+ int page = 2;
+ while (totalSpanOrderCount > spanOrderList.size())// 瀛樺湪涓嬩竴椤�
+ {
+ data.put("page_no", page++);
+ map.put("af_order_option", data.toString());
+ json = TaoKeBaseUtil.baseRequest(map, app);
+ dataJson = json.optJSONObject("tbk_dg_punish_order_get_response").optJSONObject("data");
+ array = dataJson.optJSONArray("results");
+ if (array != null)
+ for (int n = 0; n < array.size(); n++) {
+ spanOrderList.add(parsePunishOrder(array.optJSONObject(n)));
+ }
+ totalSpanOrderCount = dataJson.optInt("total_count");
+ }
+ resultList.addAll(spanOrderList);
+ System.out.println(json);
+ } catch (TaoKeApiException e) {
+ e.printStackTrace();
+ }
}
+ return resultList;
}
- public static void test(String startTime, String appKey, String appSecret) {
- OrderQuery orderQuery = new OrderQuery();
- orderQuery.startTime = startTime;
- orderQuery.span = 1200;
- orderQuery.tkStatus = 1;
- orderQuery.orderQueryType = "create_time";
- orderQuery.orderScene = 1;
- orderQuery.pageNo = 1;
- orderQuery.pageSize = 100;
- List<TaoBaoOrder> list = queryTaoBaoOrder(orderQuery, appKey, appSecret);
- for (TaoBaoOrder order : list)
- System.out.println(order.getCreateTime() + "--" + order.getSettlementTime());
- }
-
+
+ @Deprecated
private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) {
Map<String, String> map = new HashMap<>();
@@ -230,6 +134,12 @@
JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
return parseTaoBaoOrder(json.toString());
} catch (TaoKeApiException e) {
+ e.printStackTrace();
+ }
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
e.printStackTrace();
}
@@ -300,7 +210,8 @@
taoBaoOrder.setSourceMediaId(item.optString("site_id"));
taoBaoOrder.setSourceMediaName(item.optString("site_name"));
taoBaoOrder.setsRatio(null);
- taoBaoOrder.setSubsidy(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)));
@@ -334,182 +245,275 @@
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, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- if (tempOrderList != null && tempOrderList.size() > 0)
- orderList.addAll(tempOrderList);
+ private static TaoBaoOrderResultDTO 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 {
+ 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 dto;
}
- 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(), "璁㈠崟瑙f瀽鍑洪敊");
+ } catch (Exception e1) {
+ }
+ }
+ }
+ dto.setOrderList(orderList);
+ return dto;
}
+ public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
+ boolean third) {
+
+ return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
+ }
+
+ public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+ boolean third) {
+
+ return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
+ }
+
+ private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
+ boolean third, int bizType) {
+ WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
+
+ List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
+ finalResult.orderList = list;
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.relation.refund");
+
+ JSONObject option = new JSONObject();
+ 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);
+ option.put("page_size", 100);
+ option.put("biz_type", bizType);
+ map.put("search_option", option.toString());
+
+ TaoKeAppInfo app = new TaoKeAppInfo();
+ app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+ app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ JSONObject results = json.optJSONObject("tbk_relation_refund_response").optJSONObject("result")
+ .optJSONObject("data").optJSONObject("results");
+ if (results == null)
+ return finalResult;
+
+ int count = results.optInt("total_count");
+ finalResult.totalCount = count;
+ JSONArray array = results.optJSONArray("result");
+ if (array != null)
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoWeiQuanOrder order = new TaoBaoWeiQuanOrder();
+ 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")));
+ }
+ if (!StringUtil.isNullOrEmpty(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")));
+ }
+ if (!StringUtil.isNullOrEmpty(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)
+ fanMoney = null;
+
+ order.setFanMoney(fanMoney);
+ order.setJieSuanTime(new Date(
+ TimeUtil.convertToTimeTemp(item.optString("earning_time"), "yyyy-MM-dd HH:mm:ss")));
+ if (!StringUtil.isNullOrEmpty(item.optString("refund_fee")))
+ order.setMoney(new BigDecimal(item.optString("refund_fee")));
+ order.setOrderId(item.optString("tb_trade_parent_id"));
+ order.setOrderItemId(item.optString("tb_trade_id"));
+ int state = item.optInt("refund_status");
+ if (state == 4)
+ order.setState("缁存潈鍒涘缓");
+ else if (state == 2)
+ order.setState("缁存潈鎴愬姛");
+ else if (state == 3)
+ order.setState("缁存潈澶辫触");
+
+ if (!StringUtil.isNullOrEmpty(item.optString("tk_refund_suit_time")))
+ order.setWeiQuanFinishTime(new Date(TimeUtil
+ .convertToTimeTemp(item.optString("tk_refund_suit_time"), "yyyy-MM-dd HH:mm:ss")));
+ order.setWeiQuanTime(new Date(
+ TimeUtil.convertToTimeTemp(item.optString("tk_refund_time"), "yyyy-MM-dd HH:mm:ss")));
+ list.add(order);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return finalResult;
+ }
+
/**
- * 鑾峰彇绗笁鏂规櫘閫氳鍗�
- *
- * @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, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
- 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 page = 1;
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page,
- 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 page = 1;
- String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
- List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
- TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
- while (orderList.size() == 100 * page) {
- page++;
- List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
- 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) {
+ public static List<TaoBaoOrder> getTaoBaoSpecialOrderList(long startTime, long endTime, int queryType) {
+ return getTaoBaoOrderList(startTime, endTime, queryType, 3);
+ }
+
+ 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<>();
- 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;
+ // 璺ㄥ害20鍒嗛挓
+ long span=(1000 * 60 * 20L);
+ long jianGe = endTime - startTime;
+ 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) * span;
+ long end = start + span;
+ if (end > endTime)
+ end = endTime;
+ 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.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());
}
- 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);
+ 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");
+ params.put("start_time", startTime);
+ 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);
+ return parseTaoBaoOrderNew(json.toString());
+ } catch (TaoKeApiException e) {
+ e.printStackTrace();
}
- 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;
+ return null;
}
}
--
Gitblit v1.8.0