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 | 736 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 367 insertions(+), 369 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 9f9bcc3..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 @@ -10,23 +10,29 @@ import org.yeshi.utils.taobao.TbImgUtil; 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; 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; 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; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; import net.sf.json.JSONArray; @@ -34,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) { @@ -225,6 +191,8 @@ if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type"))) goods.setMaterialLibType(item.optInt("material_lib_type")); + else + goods.setMaterialLibType(0); return goods; } @@ -338,7 +306,9 @@ goods.setFreeShipment(1); if ("1".equalsIgnoreCase(item.optString("material_lib_type"))) - ; + goods.setMaterialLibType(1); + else + goods.setMaterialLibType(0); goodsList.add(goods); } @@ -366,25 +336,11 @@ goods.getUserType()); 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 (!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; } } @@ -452,6 +408,7 @@ g.setCouponStartFee(new BigDecimal(0)); } g.setCreatetime(new Date()); + g.setMaterialLibType(goods.getMaterialLibType()); return g; } } @@ -919,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")); @@ -1096,6 +1052,8 @@ goods.setZkPrice(new BigDecimal(item.optString("zk_final_price"))); goods.setAuctionUrl(item.optString("item_url")); goods.setPictUrl(item.optString("pict_url")); + goods.setSalesCount(item.optString("volume")); + goods.setUserType(item.optInt("user_type")); list.add(goods); } } @@ -1229,38 +1187,59 @@ } /** - * TODO 鎸夎澶囩寽浣犲枩娆� + * 搴楅摵鎼滅储 * - * @param userNickName - * @param os - * @param imei - * @param idfa - * @param ip - * @param ua - * @param net - * @param pageNo - * @param pageSize + * @param key + * -搴楅摵鍚嶇О + * @param page + * -椤电爜 + * @return */ - public static void guessLikeByDevice(String userNickName, String os, String imei, String idfa, String ip, String ua, - String net, int pageNo, int pageSize) { + public static TaoBaoShopInfoDTO searchShop(String key, int page, int pageSize) { + 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<>(); - 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("method", "taobao.tbk.shop.get"); + map.put("fields", "user_id,shop_title,shop_type,seller_nick,pict_url,shop_url"); + map.put("q", key); map.put("page_size", pageSize + ""); + map.put("page_no", page + ""); String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true); - System.out.println(resultStr); + JSONObject resultDate = JSONObject.fromObject(resultStr); + if (resultDate.optJSONObject("tbk_shop_get_response") != null + && resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results") != null) { + JSONArray array = resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results") + .optJSONArray("n_tbk_shop"); + if (array != null) { + for (int i = 0; i < array.size(); i++) { + JSONObject item = array.optJSONObject(i); + TaoBaoShopInfo info = new TaoBaoShopInfo(); + info.setPictureUrl(item.optString("pict_url")); + info.setSellerNick(item.optString("seller_nick")); + info.setShopTitle(item.optString("shop_title")); + info.setShopType(item.optString("shop_type")); + info.setShopUrl(item.optString("shop_url")); + info.setUserId(item.optLong("user_id")); + 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; + pageEntity.setTotalCount(totalResults); + pageEntity.setTotalPage(totalPage); + } + pageEntity.setPageIndex(page); + pageEntity.setPageSize(pageSize); + + dto.setListInfo(list); + dto.setPage(pageEntity); + return dto; } /** @@ -1324,7 +1303,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); @@ -1578,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); @@ -1594,13 +1573,22 @@ return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data") .optString("relation_id"); } catch (TaoKeApiException e) { - e.printStackTrace(); + 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); @@ -1616,283 +1604,20 @@ return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data") .optString("special_id"); } catch (TaoKeApiException e) { - e.printStackTrace(); - } - - return null; - } - - /** - * 鑾峰彇浼氬憳璁㈠崟 - * - * @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", 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 + ""); - - 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 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); - 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) { - } + 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 orderList; + return null; } public static void specialConvertItem(Long auctionId, TaoKeAppInfo app) { @@ -1927,14 +1652,79 @@ String itemLink = resultJSON.optString("item_url"); TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); goods.setAuctionUrl(itemLink); - if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) + if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) { goods.setCouponLink(couponLink); + goods.setCouponInfo(resultJSON.optString("coupon_info")); + } + String tkRate = resultJSON.optString("max_commission_rate"); + if (!StringUtil.isNullOrEmpty(tkRate)) { + goods.setTkRate(new BigDecimal(tkRate)); + } 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(); + } + + } + + 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 @@ -2027,9 +1817,217 @@ } goods.setReservePrice(new BigDecimal(0)); goods.setTotalFee(new BigDecimal("0")); + goods.setPictUrlWhite(item.optString("white_image")); return goods; } + 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 + ""); + 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 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, TaoLiJinCreateException { + 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)) { + TLJLogHelper.info(auctionId, root.toString());// 娣樼ぜ閲戝紓甯镐俊鎭褰� + switch (msgCode) { + case "FAIL_BIZ_ITEM_FORBIDDEN": + throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�"); + case "FAIL_BIZ_ACCOUNT_UN_PAID": + case "PRE_FREEZE_ASSET_ACCOUNT_ERROR": + throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻"); + default: + throw new TaoKeApiException(Integer.parseInt(msgCode), root.toString()); + } + } + } + } 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