From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 27 八月 2019 12:32:46 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 160 +++++++++++++++++----------------------------------- 1 files changed, 53 insertions(+), 107 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 6c70940..a038250 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 @@ -22,9 +22,12 @@ 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.exception.tlj.TaoLiJinCreateException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.log.TLJLogHelper; import com.yeshi.fanli.log.TaoKeLogHelper; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -37,46 +40,6 @@ //娣樺疂瀹PI鎺ュ彛 public class TaoKeApiUtil { - - /** - * 鎸夊叧閿瓧鍜屽垎绫绘悳绱㈠埜 - * - * @param key - * @param catList - * @return - */ - public static TaoBaoSearchResult searchCouple(String key, List<Long> catList, int page, int pageSize) { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.dg.item.coupon.get"); - map.put("page_size", pageSize + ""); - map.put("page_no", page + ""); - String cate = ""; - if (catList != null && catList.size() > 10) - catList = catList.subList(0, 10); - if (catList != null && catList.size() > 0) { - for (Long c : catList) - cate += c + ","; - if (cate.endsWith(",")) - cate = cate.substring(0, cate.length() - 1); - map.put("cat", cate); - } - - if (!StringUtil.isNullOrEmpty(key)) { - map.put("q", key); - } - String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); - System.out.println(result); - TaoBaoSearchResult finalResult = parseCoupleContent(result); - if (finalResult == null) - return null; - PageEntity pageEntity = finalResult.getPageEntity(); - pageEntity.setPageIndex(page); - pageEntity.setPageSize(pageSize); - pageEntity.setTotalPage(pageEntity.getTotalCount() % pageSize == 0 - ? ((int) (pageEntity.getTotalCount() / pageSize)) : (int) (pageEntity.getTotalCount() / pageSize + 1)); - finalResult.setPageEntity(pageEntity); - return finalResult; - } // 瑙f瀽鍒哥殑鍐呭 private static TaoBaoSearchResult parseCoupleContent(String content) { @@ -376,22 +339,6 @@ System.out.println(goods.getAuctionId() + ":" + g.getAuctionId()); if (goods.getAuctionId().longValue() == g.getAuctionId()) { g.setId(goods.getAuctionId()); - // 鍒ゆ柇鏄惁鏈変紭鎯犲埜 - if (!StringUtil.isNullOrEmpty(g.getCouponActivityId())) { - // 鑾峰彇浼樻儬鍒歌鎯� - QuanInfo quanInfo = getQuanInfo(g.getAuctionId(), g.getCouponActivityId()); - if (quanInfo != null) { - g.setCouponAmount(quanInfo.coupon_amount); - g.setCouponEffectiveEndTime(quanInfo.coupon_end_time); - g.setCouponEffectiveStartTime(quanInfo.coupon_start_time); - g.setCouponLeftCount(quanInfo.coupon_remain_count); - g.setCouponStartFee(quanInfo.coupon_start_fee); - g.setCouponTotalCount(quanInfo.coupon_total_count); - } - } else { - g.setCouponAmount(new BigDecimal(0)); - g.setCouponStartFee(new BigDecimal(0)); - } g.setCreatetime(new Date()); g.setMaterialLibType(goods.getMaterialLibType()); return g; @@ -929,10 +876,9 @@ if (!StringUtil.isNullOrEmpty(goods.getCouponInfo())) { List<BigDecimal> quanInfo = TaoBaoCouponUtil.getCouponInfo(goods.getCouponInfo()); goods.setCouponAmount(quanInfo.get(1)); - goods.setCouponEffectiveEndTime( - TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24, "yyyy-MM-dd")); - goods.setCouponEffectiveStartTime(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd")); - goods.setCouponStartFee(quanInfo.get(0)); + goods.setCouponEffectiveEndTime(item.optString("coupon_end_time")); + goods.setCouponEffectiveStartTime(item.optString("coupon_start_time")); + goods.setCouponStartFee(new BigDecimal(item.optString("coupon_start_fee"))); goods.setCouponLeftCount(item.optInt("coupon_remain_count")); goods.setCouponLink("https:" + item.optString("coupon_share_url")); goods.setCouponTotalCount(item.optInt("coupon_total_count")); @@ -1297,41 +1243,6 @@ } /** - * TODO 鎸夎澶囩寽浣犲枩娆� - * - * @param userNickName - * @param os - * @param imei - * @param idfa - * @param ip - * @param ua - * @param net - * @param pageNo - * @param pageSize - */ - public static void guessLikeByDevice(String userNickName, String os, String imei, String idfa, String ip, String ua, - String net, int pageNo, int pageSize) { - Map<String, String> map = new HashMap<>(); - map.put("method", "taobao.tbk.item.guess.like"); - if (!StringUtil.isNullOrEmpty(userNickName)) - map.put("user_nick", userNickName); - map.put("os", os + ""); - if (!StringUtil.isNullOrEmpty(idfa)) - map.put("idfa", idfa); - if (!StringUtil.isNullOrEmpty(imei)) { - map.put("imei", imei + ""); - map.put("imei_md5", StringUtil.Md5(imei)); - } - map.put("ip", ip + ""); - map.put("ua", ua + ""); - map.put("net", net + ""); - map.put("page_no", pageNo + ""); - map.put("page_size", pageSize + ""); - String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); - System.out.println(resultStr); - } - - /** * 鍝佺墝鍒歌幏鍙� * * @param pageNo @@ -1646,7 +1557,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); @@ -1662,14 +1573,22 @@ return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data") .optString("relation_id"); } catch (TaoKeApiException e) { - e.printStackTrace(); - LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + e.getMsg()); + 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); @@ -1685,8 +1604,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; @@ -1763,7 +1691,7 @@ 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_RELATION_PID_DEFAULT.split("_")[3]); map.put("type", "1"); map.put("count", "100"); @@ -1977,7 +1905,7 @@ // 娣樼ぜ閲戝垱寤� public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum, Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app) - throws TaoKeApiException { + throws TaoKeApiException, TaoLiJinCreateException { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.dg.vegas.tlj.create"); map.put("adzone_id", app.getPid().split("_")[3]); @@ -2019,14 +1947,15 @@ // 鎺ュ彛杩斿洖寮傚父 String msgCode = root.optJSONObject("result").optString("msg_code"); if (!StringUtil.isNullOrEmpty(msgCode)) { + TLJLogHelper.info(auctionId, root.toString());// 娣樼ぜ閲戝紓甯镐俊鎭褰� switch (msgCode) { case "FAIL_BIZ_ITEM_FORBIDDEN": - throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�"); + throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�"); case "FAIL_BIZ_ACCOUNT_UN_PAID": case "PRE_FREEZE_ASSET_ACCOUNT_ERROR": - throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻"); + throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻"); default: - return null; + throw new TaoKeApiException(Integer.parseInt(msgCode), root.toString()); } } } @@ -2082,6 +2011,23 @@ } 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