From bbe1a381f99d957d003f48b68dfd5bf0e401f5f0 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:27:25 +0800
Subject: [PATCH] 合并
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 192 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 178 insertions(+), 14 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..39ae5ac 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,15 @@
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.WeiQuanOrderResult;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+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,13 +23,13 @@
//娣樺疂瀹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;
-
+
+ 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;
+
/**
* 鑾峰彇浼氬憳璁㈠崟
*
@@ -175,6 +178,10 @@
map.put("page_no", "1");
map.put("page_size", "20");
map.put("start_time", "2019-01-01 00:00:00");
+ map.put("tb_trade_parent_id", "370829441412331676");
+ map.put("punish_status", "2");
+ map.put("violation_type", "2");
+
// map.put("start_time", "2019-01-01 00:00:00");
TaoKeAppInfo app = new TaoKeAppInfo();
app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
@@ -300,7 +307,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)));
@@ -359,8 +367,8 @@
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);
+ 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,
@@ -374,8 +382,8 @@
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);
+ 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,
@@ -389,8 +397,8 @@
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);
+ 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,
@@ -512,4 +520,160 @@
}
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;
+ 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;
+ }
+
+ public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
+
+ return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
+ }
+
+ public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
+
+ return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
+ }
+
+ private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, 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", 1);
+ 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");
+ 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.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
+ }
+ if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund3rd_pub"))) {
+ fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
+ }
+ if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund_pub"))) {
+ fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
+ }
+ if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund_pub"))) {
+ 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;
+ }
}
--
Gitblit v1.8.0