From 651f2856e9ae10aacbfb8327d967aacbb6d58333 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 四月 2023 18:13:58 +0800 Subject: [PATCH] 大淘客API修复/唯品会订单爬取策略修改 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 345 ++++++++++++++++++++++++++------------------------------- 1 files changed, 156 insertions(+), 189 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 a7a3d09..639ff93 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 @@ -1,5 +1,6 @@ package com.yeshi.fanli.util.taobao; +import com.google.gson.Gson; import com.yeshi.common.entity.PageEntity; import com.yeshi.common.entity.taobao.TaoBaoShopInfo; import com.yeshi.common.entity.taobao.TaoKeAppInfo; @@ -20,6 +21,7 @@ import com.yeshi.goods.facade.dto.taobao.TaoBaoShopInfoDTO; import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.goods.facade.entity.taobao.TaoBaoHead; +import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.yeshi.utils.JsonUtil; @@ -49,7 +51,7 @@ JSONObject item = array.optJSONObject(i); TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); goods.setPictUrl(item.optString("pict_url")); - goods.setAuctionId(item.optLong("num_iid")); + goods.setAuctionId(item.optString("num_iid")); goods.setAuctionUrl(item.optString("item_url")); goods.setBiz30day(item.optInt("volume")); goods.setCouponInfo(item.optString("coupon_info")); @@ -112,9 +114,11 @@ * @param id -鍟嗗搧AuctionId * @return */ - public static TaoBaoGoodsBrief getSimpleGoodsInfo(Long id) throws TaobaoGoodsDownException { + public static TaoBaoGoodsBrief getSimpleGoodsInfo(String id) throws TaobaoGoodsDownException { Map<String, String> map = new HashMap<>(); + //TODO 涓存椂鎺ュ彛 taobao.tbk.item.info.get map.put("method", "taobao.tbk.item.info.get"); +// map.put("biz_scene_id", 2 + ""); map.put("num_iids", id + ""); String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); System.out.println(resultStr); @@ -125,20 +129,25 @@ throw new TaobaoGoodsDownException(data.optJSONObject("error_response").optInt("code"), "鍟嗗搧涓嬫灦"); } + //TODO 淇敼涓存椂鎺ュ彛 tbk_item_info_get_response if (data.optJSONObject("tbk_item_info_get_response") == null) return null; JSONArray array = data.optJSONObject("tbk_item_info_get_response").optJSONObject("results") .optJSONArray("n_tbk_item"); if (array != null && array.size() > 0) { JSONObject item = array.optJSONObject(0); - return parseSimpleGoodsInfo(item); + TaoBaoGoodsBrief goods = parseSimpleGoodsInfo(item); + if(goods!=null){ + goods.setAuctionId(id); + } + return goods; } return null; } private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) { TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); - goods.setAuctionId(item.optLong("num_iid")); + goods.setAuctionId(item.optString("num_iid")); goods.setAuctionUrl(item.optString("item_url")); goods.setBiz30day(item.optInt("volume")); if (item.optJSONObject("small_images") != null) { @@ -188,6 +197,8 @@ if (item.optBoolean("free_shipment")) goods.setFreeShipment(1); + goods.setMaterialLibTypes(item.optString("material_lib_type")); + if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type"))) { try { String materialLibType = item.optString("material_lib_type"); @@ -229,7 +240,7 @@ return goods; } - public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId) + public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<String> listId) throws TaoKeApiException, TaobaoGoodsDownException { if (listId == null || listId.size() == 0) { throw new TaobaoGoodsDownException(1, "娣樺疂鍟嗗搧ID涓嶈兘涓虹┖"); @@ -240,7 +251,7 @@ } StringBuffer ids = new StringBuffer(); - for (Long id : listId) { + for (String id : listId) { ids.append(id + ","); } @@ -349,7 +360,7 @@ * @return * @throws TaobaoGoodsDownException */ - public static TaoBaoGoodsBrief searchGoodsDetail(Long id, String specialId, String relationId) throws TaobaoGoodsDownException { + public static TaoBaoGoodsBrief searchGoodsDetail(String id, String specialId, String relationId) throws TaobaoGoodsDownException { TaoBaoGoodsBrief goods = getSimpleGoodsInfo(id); if (goods == null) return null; @@ -362,8 +373,8 @@ if (result != null && result.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) { System.out.println(goods.getAuctionId() + ":" + g.getAuctionId()); - if (goods.getAuctionId().longValue() == g.getAuctionId()) { - g.setId(goods.getAuctionId()); + if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) { + g.setAuctionId(goods.getAuctionId()); g.setCreatetime(new Date()); g.setMaterialLibType(goods.getMaterialLibType()); g.setProvcity(goods.getProvcity()); @@ -374,7 +385,7 @@ // 浠庤浆閾炬悳绱� TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(), new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, - TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT), specialId, relationId); + TaoBaoConstant.TAOBAO_PID_DEFAULT), specialId, relationId); if (newGoods != null) { goods.setTkRate(newGoods.getTkRate()); @@ -404,7 +415,7 @@ } - public static TaoBaoGoodsBrief searchGoodsDetail(Long id) throws TaobaoGoodsDownException { + public static TaoBaoGoodsBrief searchGoodsDetail(String id) throws TaobaoGoodsDownException { return searchGoodsDetail(id, null, null); } @@ -415,7 +426,7 @@ * @return * @throws TaobaoGoodsDownException */ - public static TaoBaoGoodsBrief searchGoodsDetail(Long id, TaoKeAppInfo app) throws TaobaoGoodsDownException { + public static TaoBaoGoodsBrief searchGoodsDetail(String id, TaoKeAppInfo app) throws TaobaoGoodsDownException { TaoBaoGoodsBrief goods = getSimpleGoodsInfo(id); if (goods == null) return null; @@ -427,8 +438,8 @@ goods.getUserType(), app, null, null); if (result != null && result.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) { - if (goods.getAuctionId().longValue() == g.getAuctionId()) { - g.setId(goods.getAuctionId()); + if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) { + g.setAuctionId(goods.getAuctionId()); // 鍒ゆ柇鏄惁鏈変紭鎯犲埜 if (!StringUtil.isNullOrEmpty(g.getCouponActivityId())) { // 鑾峰彇浼樻儬鍒歌鎯� @@ -455,7 +466,7 @@ // 浠庤浆閾炬悳绱� TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(), new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, - TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT), null, null); + TaoBaoConstant.TAOBAO_PID_DEFAULT), null, null); if (newGoods != null) { goods.setTkRate(newGoods.getTkRate()); @@ -494,7 +505,7 @@ * @return * @throws TaobaoGoodsDownException */ - public static TaoBaoGoodsBrief searchGoodsDetailForConvert(Long id, TaoKeAppInfo app, String specialId, String relationId) + public static TaoBaoGoodsBrief searchGoodsDetailForConvert(String id, TaoKeAppInfo app, String specialId, String relationId) throws TaobaoGoodsDownException { TaoBaoGoodsBrief goods = getSimpleGoodsInfo(id); if (goods == null) @@ -507,8 +518,8 @@ goods.getUserType(), app, specialId, relationId); if (result != null && result.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) { - if (goods.getAuctionId().longValue() == g.getAuctionId()) { - g.setId(goods.getAuctionId()); + if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) { + g.setAuctionId(goods.getAuctionId()); g.setCreatetime(new Date()); return g; } @@ -548,8 +559,8 @@ goods.getUserType(), null, null); if (result != null && result.getTaoBaoGoodsBriefs() != null) for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) { - if (goods.getAuctionId().longValue() == g.getAuctionId()) { - g.setId(goods.getAuctionId()); + if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) { + g.setAuctionId(goods.getAuctionId()); g.setAuctionUrl(goods.getAuctionUrl()); g.setShopTitle(goods.getShopTitle()); @@ -585,9 +596,9 @@ if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null && searchResult.getTaoBaoGoodsBriefs().size() > 0) { for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) { - if (g.getAuctionId().longValue() == goods.getAuctionId()) { + if (TaoBaoUtil.isEqual(g.getAuctionId(), goods.getAuctionId())) { g.setImgList(goods.getImgList()); - g.setId(goods.getAuctionId()); + g.setAuctionId(goods.getAuctionId()); g.setAuctionUrl(goods.getAuctionUrl()); g.setShopTitle(goods.getShopTitle()); @@ -630,15 +641,20 @@ if (filter.getKey() != null && filter.getKey().trim().equalsIgnoreCase("")) return null; - if (filter.getKey() != null && filter.getKey().length() > 100) - return null; +// if (filter.getKey() != null && filter.getKey().length() > 100) +// return null; PageEntity pageEntity = new PageEntity(); TaoBaoSearchResult taoBaoSearchResult = new TaoBaoSearchResult(); Map<String, String> map = new HashMap<>(); + //TODO 涓存椂鎺ュ彛taobao.tbk.dg.material.optional map.put("method", "taobao.tbk.dg.material.optional"); map.put("page_size", filter.getPageSize() == 0 ? "20" : filter.getPageSize() + ""); map.put("page_no", (filter.getPage() <= 0 ? 1 : filter.getPage()) + ""); + //1-鍔ㄦ�両D杞摼鍦烘櫙锛�2-娑堣垂鑰呮瘮浠峰満鏅紙涓嶅~榛樿涓�1锛� +// map.put("biz_scene_id","2"); +// map.put("promotion_type","1"); + if (!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId)) { map.put("special_id", specialId); } else if (!StringUtil.isNullOrEmpty(specialId)) { @@ -750,8 +766,9 @@ } String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); - // System.out.println("resultStr"+ resultStr); + System.out.println("resultStr" + resultStr); JSONObject data = JSONObject.fromObject(resultStr); + //TODO 涓存椂鎺ュ彛tbk_dg_material_optional_response if (data.optJSONObject("tbk_dg_material_optional_response") != null && data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") != null) { JSONArray array = data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") @@ -830,6 +847,7 @@ provcity = provcity.split(" ")[provcity.split(" ").length - 1]; TaoBaoSearchResult taoBaoSearchResult = new TaoBaoSearchResult(); Map<String, String> map = new HashMap<>(); + //TODO 涓存椂鎺ュ彛 taobao.tbk.dg.material.optional map.put("method", "taobao.tbk.dg.material.optional"); map.put("page_size", 50 + ""); map.put("page_no", 1 + ""); @@ -850,6 +868,7 @@ String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); System.out.println(resultStr); JSONObject data = JSONObject.fromObject(resultStr); + //TODO 涓存椂鎺ュ彛 tbk_dg_material_optional_response if (data.optJSONObject("tbk_dg_material_optional_response") != null && data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") != null) { JSONArray array = data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") @@ -911,7 +930,13 @@ map.put("relation_id", relationId); } + if (app != null && app.getPid() != null) { + map.put("adzone_id", app.getPid().split("_")[3]); + + } + String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, app); + System.out.println(resultStr); JSONObject data = JSONObject.fromObject(resultStr); if (data.optJSONObject("tbk_dg_material_optional_response") != null && data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") != null) { @@ -941,7 +966,7 @@ } // 瑙f瀽鐗╂枡 - private static TaoBaoGoodsBrief parseWuLiaoItem(JSONObject item) { + public static TaoBaoGoodsBrief parseWuLiaoItem(JSONObject item) { TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); goods.setPictUrl(item.optString("pict_url")); @@ -949,7 +974,7 @@ goods.setPictUrlWhite(item.optString("white_image")); } - goods.setAuctionId(item.optLong("num_iid")); + goods.setAuctionId(item.optString("num_iid")); goods.setAuctionUrl("https:" + item.optString("url")); goods.setBiz30day(item.optInt("volume")); goods.setCouponInfo(item.optString("coupon_info")); @@ -1097,7 +1122,7 @@ * @param activityId * @return */ - public static QuanInfo getQuanInfo(Long auctionId, String activityId) { + public static QuanInfo getQuanInfo(String auctionId, String activityId) { QuanInfo info = new TaoKeApiUtil.QuanInfo(); Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.coupon.get"); @@ -1160,7 +1185,7 @@ if (url.contains("s.click.taobao.com/t?e=m")) { TaoBaoGoodsBrief goods; try { - goods = searchGoodsDetail(item.optLong("num_iid")); + goods = searchGoodsDetail(item.optString("num_iid")); if (goods != null) goodsList.add(goods); } catch (TaobaoGoodsDownException e) { @@ -1362,7 +1387,7 @@ System.out.println(resultStr); } - public static void getTAEGoodsDetail(Long auctionId) { + public static void getTAEGoodsDetail(String auctionId) { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tae.items.list"); map.put("fields", "title,nick,pic_url,location,cid,price,post_fee,promoted_service,ju,shop_name"); @@ -1533,32 +1558,6 @@ return result; } - /** - * 浠庢窐瀹濋摼鎺ヤ腑瑙f瀽鍟嗗搧ID锛堥珮绾ф帴鍙o級 - * - * @param link - * @return - */ - public static String parseAuctionIdFromLink(String link) { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.item.click.extract"); - map.put("click_url", link + ""); - - TaoKeAppInfo app = new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, - TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID); - JSONObject resultJSON = null; - try { - resultJSON = TaoKeBaseUtil.baseRequest(map, app); - System.out.println(resultJSON); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - if (resultJSON == null) - return null; - - return null; - - } public static String getAccessToken(String code, String appKey, String appSecret) { Map<String, String> map = new HashMap<>(); @@ -1721,7 +1720,7 @@ return null; } - public static void specialConvertItem(Long auctionId, TaoKeAppInfo app) { + public static void specialConvertItem(String auctionId, TaoKeAppInfo app) { String pid = app.getPid(); String[] sts = pid.split("_"); Map<String, String> map = new HashMap<>(); @@ -1738,7 +1737,7 @@ } } - public static TaoBaoGoodsBrief specialConvertCoupon(Long auctionId, TaoKeAppInfo app, String specialId, String relationId) { + public static TaoBaoGoodsBrief specialConvertCoupon(String auctionId, TaoKeAppInfo app, String specialId, String relationId) { String pid = app.getPid(); String[] sts = pid.split("_"); Map<String, String> map = new HashMap<>(); @@ -1796,64 +1795,6 @@ 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(); - } - - } - - public static void taoKeContent() { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.content.get"); - map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3]); - map.put("type", "1"); - map.put("count", "100"); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - try { - JSONObject json = TaoKeBaseUtil.baseRequest(map, app); - System.out.println(json); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - } - - public static void taoKeContentSource(String contentId, String source) { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.dg.optimus.material"); - map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); - map.put("page_size", "10"); - map.put("page_no", "1"); - map.put("content_id", contentId); - map.put("content_source", source); - map.put("material_id", "1"); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - try { - JSONObject json = TaoKeBaseUtil.baseRequest(map, app); - System.out.println(json); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - } // AA5ISJ @@ -1861,7 +1802,7 @@ TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); // 璁剧疆鎴�320*320鐨勫浘鐗囧昂瀵� goods.setPictUrl(TbImgUtil.getTBSize320Img("https:" + item.optString("pict_url"))); - goods.setAuctionId(item.optLong("item_id")); + goods.setAuctionId(item.optString("item_id")); goods.setAuctionUrl("https://item.taobao.com/item.htm?id=" + goods.getAuctionId()); goods.setBiz30day(item.optInt("volume")); if (!StringUtil.isNullOrEmpty(item.optString("coupon_amount"))) { @@ -1966,55 +1907,17 @@ } } - public static void getTaoKeContentEffective() { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.dg.optimus.material"); - map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID.split("_")[3]); - map.put("page_no", "1"); - map.put("page_size", "20"); - map.put("content_id", "8872035"); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - try { - JSONObject json = TaoKeBaseUtil.baseRequest(map, app); - System.out.println(json); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - - } - - public static void getTaoKeContent() { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.content.get"); - map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID.split("_")[3]); - map.put("type", "1"); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - try { - JSONObject json = TaoKeBaseUtil.baseRequest(map, app); - System.out.println(json); - } catch (TaoKeApiException e) { - e.printStackTrace(); - } - - } - /** * 娣樺彛浠よ浆鍟嗗搧ID * * @param token * @return */ - public static Long tokenConvertAuctionId(String token) throws TaoBaoTokenParseException { + public static TokenConvertResult tokenConvert(String token) throws TaoBaoTokenParseException { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.tpwd.convert"); map.put("password_content", token); - map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); + map.put("adzone_id", TaoBaoConstant.TAOBAO_PID_DEFAULT.split("_")[3]); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); @@ -2024,7 +1927,10 @@ System.out.println(json.toString()); try { - return json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data").optLong("num_iid"); + JSONObject data = json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data"); + Gson gson = new Gson(); + + return gson.fromJson(data.toString(), TokenConvertResult.class); } catch (Exception e) { return null; @@ -2044,8 +1950,11 @@ return null; } + // 娣樼ぜ閲戝垱寤� - public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum, + //{"result":{"msg_code":"FAIL_CHECK_ITEM_DAILY_SEND_NUM_CHECK_ERROR","msg_info":"浠婃棩璇ュ晢鍝佹窐绀奸噾鍒涘缓鏁板凡瓒呬笂闄愶紝璇锋偍鏄庢棩鍐嶈瘯","success":false},"request_id":"10p30v02qadkq"} + //{"result":{"msg_code":"ASSET_ACCOUNT_BALANCE_NOT_ENOUGH","msg_info":"璐︽埛棰勭畻涓嶈冻","success":false},"request_id":"5caz9izr7jqp"} + public static TaoLiJinDTO createTaoLiJin(String auctionId, String name, BigDecimal perface, int totalNum, Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app) throws TaoLiJinCreateException, TaoKeApiException { Map<String, String> map = new HashMap<>(); @@ -2108,11 +2017,18 @@ return null; } - // 娣樼ぜ閲戞姤鍛� - public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId) { + /** + * @return com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport + * @author hxh + * @description 娣樼ぜ閲戞姤鍛� 鎺ュ彛鏂囨。锛歨ttps://open.taobao.com/api.htm?source=search&docId=58736&docType=2 + * @date 10:57 2022/1/11 + * @param: rightsId + **/ + public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId, String pid) { Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.dg.vegas.tlj.instance.report"); + map.put("method", "taobao.tbk.dg.vegas.tlj.report"); map.put("rights_id", rightsId); + map.put("adzone_id", pid.split("_")[3]); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); @@ -2123,27 +2039,24 @@ JSONObject json = JSONObject.fromObject(result); System.out.println(json); - JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_instance_report_response"); + JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_report_response"); - if (root != null && root.optJSONObject("result") != null) { - if (root.optJSONObject("result").optBoolean("success")) { - JSONObject modelJson = root.optJSONObject("result").optJSONObject("model"); - - if (modelJson != null && modelJson.size() > 0) { - UserTaoLiJinReport report = new UserTaoLiJinReport(); - report.setId(rightsId); - report.setUnfreezeAmount(new BigDecimal(modelJson.optString("unfreeze_amount"))); - report.setUnfreezeNum(modelJson.optInt("unfreeze_num")); - report.setRefundAmount(new BigDecimal(modelJson.optString("refund_amount"))); - report.setRefundNum(modelJson.optInt("refund_num")); - report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amount"))); - report.setUseAmount(new BigDecimal(modelJson.optString("use_amount"))); - report.setUseNum(modelJson.optInt("use_num")); - report.setWinAmount(new BigDecimal(modelJson.optString("win_amount"))); - report.setWinNum(modelJson.optInt("win_num")); - report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_commission_amount"))); - return report; - } + if (root != null && root.optBoolean("result_success")) { + JSONObject modelJson = root.optJSONObject("model").optJSONObject("extra"); + if (modelJson != null && modelJson.size() > 0) { + UserTaoLiJinReport report = new UserTaoLiJinReport(); + report.setId(rightsId); + report.setWinAmount(new BigDecimal(modelJson.optString("win_sum_amt"))); + report.setWinNum(modelJson.optInt("win_pv")); + report.setRefundAmount(new BigDecimal(modelJson.optString("refund_sum_amt"))); + report.setRefundNum(modelJson.optInt("refund_num")); + report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amt"))); + report.setUseAmount(new BigDecimal(modelJson.optString("use_sum_amt"))); + report.setUseNum(modelJson.optInt("use_num")); + report.setUnfreezeAmount(new BigDecimal(modelJson.optString("remaining_amt"))); + report.setUnfreezeNum(modelJson.optInt("remaining_num")); + report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_pub_share_fee_for_disp"))); + return report; } } } catch (Exception e) { @@ -2152,11 +2065,11 @@ return null; } - public static void getCouponByAuctionId(Long auctionId) { + public static void getCouponByAuctionId(String auctionId) { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.itemid.coupon.get"); map.put("platform", 2 + ""); - map.put("pid", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID); + map.put("pid", TaoBaoConstant.TAOBAO_PID_DEFAULT); map.put("num_iids", auctionId + ""); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); @@ -2170,7 +2083,7 @@ } /** - * 鑾峰彇娣樺疂绯荤粺鏃堕棿 + * 鑾峰彇娣樺疂绯荤粺鏃堕棿(鏀惰垂API锛岃皑鎱庤皟鐢�) * * @return */ @@ -2185,6 +2098,7 @@ e.printStackTrace(); } return null; + } /** @@ -2223,7 +2137,7 @@ return null; } - public static List<TaoBaoGoodsBrief> guessLikeByAuctionId(Long auctionId, int count) { + public static List<TaoBaoGoodsBrief> guessLikeByAuctionId(String auctionId, int count) { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.dg.optimus.material"); map.put("item_id", auctionId + ""); @@ -2256,18 +2170,18 @@ return goodsList; } - public static List<TaoBaoGoodsBrief> getCouponListByItemId(Long auctionId) { + public static List<TaoBaoGoodsBrief> getCouponListByItemId(String auctionId) { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.itemid.coupon.get"); map.put("platform", auctionId + ""); map.put("num_iids", auctionId + ""); - map.put("pid", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT); + map.put("pid", TaoBaoConstant.TAOBAO_PID_DEFAULT); List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); JSONObject resultJSON = null; try { resultJSON = TaoKeBaseUtil.baseRequest(map, new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, - TaoBaoConstant.TAOBAO_AUTH_APPSECRET, TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT)); + TaoBaoConstant.TAOBAO_AUTH_APPSECRET, TaoBaoConstant.TAOBAO_PID_DEFAULT)); JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response"); if (response != null && response.optJSONObject("result_list") != null) { @@ -2331,6 +2245,59 @@ public BigDecimal coupon_start_fee;// 鍒歌捣濮嬮噾棰� } + public static class TokenConvertResult { + private String num_iid;// 鍟嗗搧Id + private String click_url;//鍟嗗搧娣樺杞摼 + private String seller_id;//搴楅摵鍗栧ID + private String origin_url;//鍏ュ弬娣樺彛浠ゅ搴斿師濮嬮摼鎺� + private String origin_pid;//鍏ュ弬娣樺彛浠ゆ帹骞块摼鎺ヤ腑鐨刾id锛屽鏋滀笉灞炰簬褰撳墠璋冪敤鐨勬帹骞胯�呭垯灞曠ず鈥�0鈥� + + public String getNum_iid() { + return num_iid; + } + + public void setNum_iid(String num_iid) { + this.num_iid = num_iid; + } + + public String getClick_url() { + return click_url; + } + + public void setClick_url(String click_url) { + this.click_url = click_url; + } + + public String getSeller_id() { + return seller_id; + } + + public void setSeller_id(String seller_id) { + this.seller_id = seller_id; + } + + public String getOrigin_url() { + return origin_url; + } + + public void setOrigin_url(String origin_url) { + this.origin_url = origin_url; + } + + public String getOrigin_pid() { + return origin_pid; + } + + public void setOrigin_pid(String origin_pid) { + this.origin_pid = origin_pid; + } + } + + public static void main(String[] args) throws TaoBaoTokenParseException, TaobaoGoodsDownException { + TaoBaoGoodsBrief goods = getSimpleGoodsInfo("qYtrU8tgk7CWt0-GmgDAKHqqGm3XDwHZj"); + System.out.println(goods.getAuctionId()); + } + } -- Gitblit v1.8.0