From 70c9043f312a52a922cb15490d90a172b3515060 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期四, 28 二月 2019 14:07:00 +0800 Subject: [PATCH] 奖励详情跳转地址调整 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 342 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java index dcbd60e..16d7b30 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java @@ -14,6 +14,7 @@ import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoHead; +import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoProvince; import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; @@ -21,8 +22,10 @@ import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.log.TaoKeLogHelper; import com.yeshi.fanli.tag.PageEntity; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; @@ -1593,6 +1596,7 @@ .optString("relation_id"); } catch (TaoKeApiException e) { e.printStackTrace(); + LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + resultJSON); } return null; @@ -1615,26 +1619,32 @@ .optString("special_id"); } catch (TaoKeApiException e) { e.printStackTrace(); + LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + resultJSON); } return null; } - public static void getTaoBaoOrder(String appKey, String appSecret) { + /** + * 鑾峰彇浼氬憳璁㈠崟 + * + * @param startTime-寮�濮嬫椂闂� + * @param page-椤电爜 + * @param appKey + * @param appSecret + * @return + */ + public static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int page, String appKey, String appSecret) { 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"); - map.put("start_time", "2019-01-27 21:23:00"); - map.put("span", "1200"); + map.put("start_time", startTime); map.put("tk_status", "1"); - map.put("order_query_type","create_time"); - map.put("page_no", 1+""); - map.put("page_size", 100+""); - - - - + map.put("order_query_type", "create_time"); + map.put("order_scene", "3"); + map.put("page_no", page + ""); + map.put("page_size", 100 + ""); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(appKey); @@ -1642,6 +1652,328 @@ try { JSONObject json = TaoKeBaseUtil.baseRequest(map, app); System.out.println(json.toString()); + return parseTaoBaoOrder(json.toString()); + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 鑾峰彇绗笁鏂逛細鍛樿鍗� + * + * @param startTime + * @param page + * @param appKey + * @param appSecret + * @return + */ + public static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int page, String appKey, + String appSecret) { + 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"); + map.put("start_time", startTime); + map.put("tk_status", "1"); + map.put("order_query_type", "create_time"); + map.put("order_scene", "3"); + map.put("page_no", page + ""); + map.put("page_size", 100 + ""); + map.put("order_count_type", "2"); + + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey(appKey); + app.setAppSecret(appSecret); + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + System.out.println(json.toString()); + return parseTaoBaoOrder(json.toString()); + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 鑾峰彇娓犻亾璁㈠崟 + * + * @param startTime + * @param appKey + * @param appSecret + * @return + */ + public static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int page, String appKey, + String appSecret) { + 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"); + map.put("start_time", startTime); + map.put("span", "1200"); + map.put("tk_status", "1"); + map.put("order_query_type", "create_time"); + map.put("order_scene", "2"); + map.put("page_no", page + ""); + map.put("page_size", 100 + ""); + + 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(); + } + + return null; + } + + /** + * 绗笁鏂规笭閬撹鍗� + * + * @param startTime + * @param page + * @param appKey + * @param appSecret + * @return + */ + public static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int page, String appKey, + String appSecret) { + 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"); + map.put("start_time", startTime); + map.put("span", "1200"); + map.put("tk_status", "1"); + map.put("order_query_type", "create_time"); + map.put("order_scene", "2"); + map.put("page_no", page + ""); + map.put("page_size", 100 + ""); + map.put("order_count_type", "2"); + + 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(); + } + return null; + } + + /** + * 鑾峰彇鎵�鏈夌殑璁㈠崟锛堜笉甯︽笭閬撲俊鎭笌浼氬憳淇℃伅锛� + * + * @param startTime + * @param appKey + * @param appSecret + * @return + */ + public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret) { + 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"); + map.put("start_time", startTime); + map.put("span", "1200"); + map.put("tk_status", "1"); + map.put("order_query_type", "create_time"); + map.put("order_scene", "1");// 鎵�鏈夎鍗� + map.put("page_no", 1 + ""); + map.put("page_size", 100 + ""); + + 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(); + } + + return null; + } + + + 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"); + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey(Constant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(Constant.TAOBAO_AUTH_APPSECRET); + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + } + + 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("alipay_total_price"))) + taoBaoOrder.setSettlement(new BigDecimal(item.optString("alipay_total_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); + taoBaoOrder.setSubsidy(null); + 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")); + orderList.add(taoBaoOrder); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e, "璁㈠崟鍙蜂俊鎭�:" + item.toString(), "璁㈠崟瑙f瀽鍑洪敊"); + } catch (Exception e1) { + } + } + } + + return orderList; + } + + public static void specialConvertItem(Long auctionId, TaoKeAppInfo app) { + String pid = app.getPid(); + String[] sts = pid.split("_"); + Map<String, String> map = new HashMap<>(); + map.put("method", "taobao.tbk.item.convert"); + map.put("num_iids", auctionId + ""); + map.put("fields", "num_iid,click_url"); + map.put("adzone_id", sts[3]); + map.put("platform", "2"); + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + System.out.println(json.toString()); + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + } + + public static TaoBaoGoodsBrief specialConvertCoupon(Long auctionId, TaoKeAppInfo app) { + String pid = app.getPid(); + String[] sts = pid.split("_"); + Map<String, String> map = new HashMap<>(); + map.put("method", "taobao.tbk.coupon.convert"); + map.put("item_id", auctionId + ""); + map.put("adzone_id", sts[3]); + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + JSONObject resultJSON = json.optJSONObject("tbk_coupon_convert_response").optJSONObject("result") + .optJSONObject("results"); + String couponLink = resultJSON.optString("coupon_click_url"); + String itemLink = resultJSON.optString("item_url"); + TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); + goods.setAuctionUrl(itemLink); + if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) + goods.setCouponLink(couponLink); + return goods; + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + + return null; + } + + public static void juHuaSuan() { + Map<String, String> map = new HashMap<>(); + map.put("method", "taobao.ju.items.search"); + map.put("current_page", 1 + ""); + map.put("page_size", 100+""); + map.put("pid", "mm_124933865_43788020_381938426"); + + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey("24838852"); + app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8"); + + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + System.out.println(json); } catch (TaoKeApiException e) { e.printStackTrace(); } -- Gitblit v1.8.0