From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java | 175 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 105 insertions(+), 70 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 39ae5ac..ca28f04 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 @@ -10,6 +10,7 @@ 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.TaoBaoPunishOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; @@ -171,40 +172,73 @@ 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("tb_trade_parent_id", "370829441412331676"); - map.put("punish_status", "2"); - map.put("violation_type", "2"); + 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; + } - // 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(); + } } - } - - 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()); + return resultList; } private static List<TaoBaoOrder> queryTaoBaoOrder(OrderQuery orderQuery, String appKey, String appSecret) { @@ -605,7 +639,7 @@ map.put("method", "taobao.tbk.relation.refund"); JSONObject option = new JSONObject(); - option.put("search_type", 1); + option.put("search_type", 2); 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); @@ -626,49 +660,50 @@ 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 (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; + 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("缁存潈澶辫触"); + 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); - } + 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(); -- Gitblit v1.8.0