From c12b6ec43f6c79426d6f2337f903d3c0a225e9a5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 15 二月 2019 10:39:01 +0800 Subject: [PATCH] 订单错误信息捕捉修改 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 284 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..1ecd044 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; @@ -1620,21 +1621,26 @@ 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,10 +1648,278 @@ 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; + } + + 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); + 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)); + taoBaoOrder.setTkRate(new BigDecimal(item.optString("commission_rate"))); + taoBaoOrder.setTransactionPlatform(item.optString("terminal_type")); + taoBaoOrder.setRelationId(item.optString("relation_id")); + taoBaoOrder.setSpecialId(item.optString("special_id")); + orderList.add(taoBaoOrder); + } + + 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); + goods.setCouponLink(couponLink); + return goods; + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + + return null; } // AA5ISJ -- Gitblit v1.8.0