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/TaoKeApiUtil.java | 270 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 237 insertions(+), 33 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 56f444e..d9b5e46 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 @@ -11,6 +11,8 @@ import com.taobao.api.ApiException; import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO; +import com.yeshi.fanli.dto.taobao.TaoLiJinDTO; +import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport; import com.yeshi.fanli.entity.taobao.RelateGoods; import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -20,6 +22,7 @@ import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; +import com.yeshi.fanli.exception.taobao.TaoBaoAuthException; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; @@ -1238,7 +1241,6 @@ return list; } - /** * 搴楅摵鎼滅储 * @@ -1252,7 +1254,7 @@ TaoBaoShopInfoDTO dto = new TaoBaoShopInfoDTO(); if (StringUtil.isNullOrEmpty(key)) return dto; - + PageEntity pageEntity = new PageEntity(); List<TaoBaoShopInfo> list = new ArrayList<>(); Map<String, String> map = new HashMap<>(); @@ -1280,7 +1282,7 @@ list.add(info); } } - + JSONObject optJSONObject = resultDate.optJSONObject("tbk_shop_get_response"); int totalResults = optJSONObject.getInt("total_results"); int totalPage = totalResults % pageSize == 0 ? totalResults / pageSize : totalResults / pageSize + 1; @@ -1289,12 +1291,12 @@ } pageEntity.setPageIndex(page); pageEntity.setPageSize(pageSize); - + dto.setListInfo(list); dto.setPage(pageEntity); return dto; } - + /** * TODO 鎸夎澶囩寽浣犲枩娆� * @@ -1391,7 +1393,7 @@ map.put("page_no", page + ""); map.put("page_size", pageSize + ""); map.put("material_id", materialId + ""); - map.put("content_id", "561388751621"); + // map.put("content_id", "561388751621"); String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); System.out.println(resultStr); @@ -1645,7 +1647,7 @@ return null; } - public static String getRelationId(String accessToken, String appKey, String appSecret) { + public static String getRelationId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.sc.publisher.info.save"); map.put("session", accessToken); @@ -1661,14 +1663,22 @@ return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data") .optString("relation_id"); } catch (TaoKeApiException e) { - e.printStackTrace(); - LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + resultJSON); + JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response"); + if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 鏈疄鍚� + { + throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg")); + } else { + e.printStackTrace(); + LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + e.getMsg()); + throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg")); + } + } catch (Exception e) { + LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + (resultJSON != null ? resultJSON.toString() : "鏈煡閿欒")); } - return null; } - public static String getSpecialId(String accessToken, String appKey, String appSecret) { + public static String getSpecialId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.sc.publisher.info.save"); map.put("session", accessToken); @@ -1684,8 +1694,17 @@ return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data") .optString("special_id"); } catch (TaoKeApiException e) { - e.printStackTrace(); - LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + resultJSON); + JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response"); + if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 鏈疄鍚� + { + throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg")); + } else { + e.printStackTrace(); + LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + e.getMsg()); + throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg")); + } + } catch (Exception e) { + LogHelper.error("浼氬憳杩愯惀ID鐢宠鍑洪敊:" + (resultJSON != null ? resultJSON.toString() : "鏈煡閿欒")); } return null; @@ -1758,50 +1777,45 @@ } } - + public static void taoKeContent() { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.content.get"); - map.put("adzone_id",TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); + map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_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); + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); System.out.println(json); } catch (TaoKeApiException e) { e.printStackTrace(); } } - - - public static void taoKeContentSource(String contentId,String source) { + + 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("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_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); + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); System.out.println(json); } catch (TaoKeApiException e) { e.printStackTrace(); } } - - - // AA5ISJ @@ -1896,23 +1910,213 @@ goods.setPictUrlWhite(item.optString("white_image")); return goods; } - - public static void getShopGoodsList(Long shopId) - { + + public static void getShopGoodsList(Long shopId) { Map<String, String> map = new HashMap<>(); map.put("method", "tmall.omni.pc.iteminfo.getbyshopid"); - map.put("shop_id",shopId+""); + map.put("shop_id", shopId + ""); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey("24838852"); app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8"); try { - JSONObject json = TaoKeBaseUtil.baseRequest(map,app); + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); System.out.println(json); } catch (TaoKeApiException e) { e.printStackTrace(); } } + 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) { + 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]); + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + try { + JSONObject json = TaoKeBaseUtil.baseRequest(map, app); + try { + return json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data").optLong("num_iid"); + } catch (Exception e) { + return null; + } + + } catch (TaoKeApiException e) { + e.printStackTrace(); + } + return null; + } + + // 娣樼ぜ閲戝垱寤� + public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum, + Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app) + throws TaoKeApiException { + Map<String, String> map = new HashMap<>(); + map.put("method", "taobao.tbk.dg.vegas.tlj.create"); + map.put("adzone_id", app.getPid().split("_")[3]); + map.put("item_id", auctionId + ""); + map.put("total_num", totalNum + ""); + map.put("name", name); + map.put("user_total_win_num_limit", "1"); + map.put("security_switch", "false"); + map.put("per_face", perface.toString()); + map.put("send_start_time", TimeUtil.getGernalTime(sendStartTime.getTime(), "yyyy-MM-dd HH:mm:ss")); + + if (sendEndTime != null) + map.put("send_end_time", TimeUtil.getGernalTime(sendEndTime.getTime(), "yyyy-MM-dd HH:mm:ss")); + + if (useEndTime != null) { + map.put("use_end_time", TimeUtil.getGernalTime(useEndTime.getTime(), "yyyy-MM-dd")); + map.put("use_end_time_mode", "2"); + } + + if (useStartTime != null) + map.put("use_start_time", TimeUtil.getGernalTime(useStartTime.getTime(), "yyyy-MM-dd")); + try { + String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app); + JSONObject json = JSONObject.fromObject(result); + System.out.println(json); + JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_create_response"); + if (root != null && root.optJSONObject("result") != null) { + + if (root.optJSONObject("result").optBoolean("success")) { + JSONObject modelJson = root.optJSONObject("result").optJSONObject("model"); + TaoLiJinDTO dto = new TaoLiJinDTO(); + dto.setRightsId(modelJson.optString("rights_id")); + dto.setSendUrl(modelJson.optString("send_url")); + return dto; + } else { + LogHelper.error(json); + } + + // 鎺ュ彛杩斿洖寮傚父 + String msgCode = root.optJSONObject("result").optString("msg_code"); + if (!StringUtil.isNullOrEmpty(msgCode)) { + switch (msgCode) { + case "FAIL_BIZ_ITEM_FORBIDDEN": + throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�"); + case "FAIL_BIZ_ACCOUNT_UN_PAID": + case "PRE_FREEZE_ASSET_ACCOUNT_ERROR": + throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻"); + default: + return null; + } + } + } + } catch (TaoKeApiException e) { + throw e; + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + + return null; + } + + // 娣樼ぜ閲戞姤鍛� + public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId) { + Map<String, String> map = new HashMap<>(); + map.put("method", "taobao.tbk.dg.vegas.tlj.instance.report"); + map.put("rights_id", rightsId); + + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + + try { + String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app); + JSONObject json = JSONObject.fromObject(result); + System.out.println(json); + + JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_instance_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; + } + } + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + return null; + } + + public static void getCouponByAuctionId(Long 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("num_iids", auctionId + ""); + 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.print(json); + } catch (Exception e) { + e.printStackTrace(); + } + } } class QuanInfo { -- Gitblit v1.8.0