From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 1050 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 728 insertions(+), 322 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 f7edf53..22d4cbf 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
@@ -9,9 +9,11 @@
import org.yeshi.utils.taobao.TbImgUtil;
-import com.taobao.api.ApiException;
-import com.yeshi.fanli.entity.taobao.RelateGoods;
+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.SearchFilter;
+import com.yeshi.fanli.entity.taobao.SearchShopFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoHead;
import com.yeshi.fanli.entity.taobao.TaoBaoProvince;
@@ -19,13 +21,18 @@
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.TaoBaoTokenParseException;
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;
@@ -33,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) {
@@ -159,7 +126,7 @@
map.put("method", "taobao.tbk.item.info.get");
map.put("num_iids", id + "");
String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
- // System.out.println(resultStr);
+ System.out.println(resultStr);
JSONObject data = JSONObject.fromObject(resultStr);
// 鍟嗗搧涓嬫灦
if (data.optJSONObject("error_response") != null && data.optJSONObject("error_response").optInt("code") == 15
@@ -173,71 +140,102 @@
.optJSONArray("n_tbk_item");
if (array != null && array.size() > 0) {
JSONObject item = array.optJSONObject(0);
- TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
- goods.setAuctionId(item.optLong("num_iid"));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setBiz30day(item.optInt("volume"));
- if (item.optJSONObject("small_images") != null) {
- JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
- if (imgArray != null) {
- List<String> imgList = new ArrayList<>();
- for (int n = 0; n < imgArray.size(); n++) {
- imgList.add(imgArray.optString(n));
- }
- goods.setImgList(imgList);
- }
- }
- goods.setTitle(item.optString("title"));
- goods.setUserType(item.optInt("user_type"));
- goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setProvcity(item.optString("provcity"));
- goods.setPictUrl(item.optString("pict_url"));
- goods.setShopTitle(item.optString("nick"));
- goods.setSellerId(item.optLong("seller_id"));
-
- String optString = item.optString("shop_dsr");
- if (!StringUtil.isNullOrEmpty(optString)) {
- goods.setShopDsr(new Integer(optString));
- }
-
- String ratesum = item.optString("ratesum");
- if (!StringUtil.isNullOrEmpty(ratesum)) {
- goods.setRatesum(new Integer(ratesum));
- }
-
- if (item.optBoolean("is_prepay"))
- goods.setIsPrepay(1);
-
- if (item.optBoolean("i_rfd_rate"))
- goods.setRfdRate(1);
-
- if (item.optBoolean("h_good_rate"))
- goods.setGoodRate(1);
-
- if (item.optBoolean("h_pay_rate30"))
- goods.setPayRate30(1);
-
- if (item.optBoolean("free_shipment"))
- goods.setFreeShipment(1);
-
- if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type")))
- goods.setMaterialLibType(item.optInt("material_lib_type"));
- else
- goods.setMaterialLibType(0);
-
- return goods;
+ return parseSimpleGoodsInfo(item);
}
return null;
}
- public String convertSpecialGoodsLink(Long auctionId, TaoKeAppInfo app) {
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.coupon.convert");
- map.put("item_id", auctionId + "");
- String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
- return resultStr;
+ private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) {
+ TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
+ goods.setAuctionId(item.optLong("num_iid"));
+ goods.setAuctionUrl(item.optString("item_url"));
+ goods.setBiz30day(item.optInt("volume"));
+ if (item.optJSONObject("small_images") != null) {
+ JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
+ if (imgArray != null) {
+ List<String> imgList = new ArrayList<>();
+ for (int n = 0; n < imgArray.size(); n++) {
+ imgList.add(imgArray.optString(n));
+ }
+ goods.setImgList(imgList);
+ }
+ }
+ goods.setTitle(item.optString("title"));
+ goods.setUserType(item.optInt("user_type"));
+ goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
+ goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
+ goods.setAuctionUrl(item.optString("item_url"));
+ goods.setProvcity(item.optString("provcity"));
+ goods.setPictUrl(item.optString("pict_url"));
+ goods.setShopTitle(item.optString("nick"));
+ goods.setSellerId(item.optLong("seller_id"));
+ goods.setRootCategoryName(item.optString("cat_name"));
+ goods.setLeafName(item.optString("cat_leaf_name"));
+
+ String optString = item.optString("shop_dsr");
+ if (!StringUtil.isNullOrEmpty(optString)) {
+ goods.setShopDsr(new Integer(optString));
+ }
+
+ String ratesum = item.optString("ratesum");
+ if (!StringUtil.isNullOrEmpty(ratesum)) {
+ goods.setRatesum(new Integer(ratesum));
+ }
+
+ if (item.optBoolean("is_prepay"))
+ goods.setIsPrepay(1);
+
+ if (item.optBoolean("i_rfd_rate"))
+ goods.setRfdRate(1);
+
+ if (item.optBoolean("h_good_rate"))
+ goods.setGoodRate(1);
+
+ if (item.optBoolean("h_pay_rate30"))
+ goods.setPayRate30(1);
+
+ if (item.optBoolean("free_shipment"))
+ goods.setFreeShipment(1);
+
+ if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type"))) {
+ try {
+ String materialLibType = item.optString("material_lib_type");
+ goods.setMaterialLibType(Integer.parseInt(materialLibType.split(",")[0]));
+ } catch (Exception e) {
+ goods.setMaterialLibType(0);
+ }
+
+ } else
+ goods.setMaterialLibType(0);
+
+ goods.setRootCategoryName(item.optString("cat_name"));
+ goods.setLeafName(item.optString("cat_leaf_name"));
+
+ goods = loadYuShouInfo(goods, item);
+ return goods;
+ }
+
+ private static TaoBaoGoodsBrief loadYuShouInfo(TaoBaoGoodsBrief goods, JSONObject item) {
+ if (goods != null && item != null) {
+ // 棰勫敭鐩稿叧瑙f瀽
+ goods.setYsylClickUrl(item.optString("ysyl_click_url"));
+ if (!StringUtil.isNullOrEmpty(item.optString("ysyl_commission_rate")))
+ goods.setYsylCommissionRate(new BigDecimal(item.optString("ysyl_commission_rate")));
+ goods.setYsylTljFace(item.optString("ysyl_tlj_face"));
+ goods.setYsylTljSendTime(item.optString("ysyl_tlj_send_time"));
+ goods.setYsylTljUseEndTime(item.optString("ysyl_tlj_use_end_time"));
+ goods.setYsylTljUseStartTime(item.optString("ysyl_tlj_use_start_time"));
+
+ goods.setPresaleDeposit(item.optString("presale_deposit"));
+ goods.setPresaleDiscountFeeText(item.optString("presale_discount_fee_text"));
+ goods.setPresaleEndTime(item.optString("presale_end_time"));
+ goods.setPresaleStartTime(item.optString("presale_start_time"));
+ goods.setPresaleTailEndTime(item.optString("presale_tail_end_time"));
+ goods.setPresaleTailStartTime(item.optString("presale_tail_start_time"));
+
+ return goods;
+ }
+ return goods;
}
public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId)
@@ -286,67 +284,10 @@
if (array != null && array.size() > 0) {
for (int i = 0; i < array.size(); i++) {
-
- TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
-
JSONObject item = array.optJSONObject(i);
-
- goods.setAuctionId(item.optLong("num_iid"));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setBiz30day(item.optInt("volume"));
- if (item.optJSONObject("small_images") != null) {
- JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
- if (imgArray != null) {
- List<String> imgList = new ArrayList<>();
- for (int n = 0; n < imgArray.size(); n++) {
- imgList.add(imgArray.optString(n));
- }
- goods.setImgList(imgList);
- }
- }
- goods.setTitle(item.optString("title"));
- goods.setUserType(item.optInt("user_type"));
- goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setProvcity(item.optString("provcity"));
- goods.setPictUrl(item.optString("pict_url"));
- goods.setShopTitle(item.optString("nick"));
-
- String optString = item.optString("shop_dsr");
- if (!StringUtil.isNullOrEmpty(optString)) {
- goods.setShopDsr(new Integer(optString));
- }
-
- String ratesum = item.optString("ratesum");
- if (!StringUtil.isNullOrEmpty(ratesum)) {
- goods.setRatesum(new Integer(ratesum));
- }
-
- if (item.optBoolean("is_prepay"))
- goods.setIsPrepay(1);
-
- if (item.optBoolean("i_rfd_rate"))
- goods.setRfdRate(1);
-
- if (item.optBoolean("h_good_rate"))
- goods.setGoodRate(1);
-
- if (item.optBoolean("h_pay_rate30"))
- goods.setPayRate30(1);
-
- if (item.optBoolean("free_shipment"))
- goods.setFreeShipment(1);
-
- if ("1".equalsIgnoreCase(item.optString("material_lib_type")))
- goods.setMaterialLibType(1);
- else
- goods.setMaterialLibType(0);
-
- goodsList.add(goods);
+ goodsList.add(parseSimpleGoodsInfo(item));
}
}
-
return goodsList;
}
@@ -372,51 +313,44 @@
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());
+ g.setProvcity(goods.getProvcity());
return g;
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- filter.setKey(goods.getAuctionUrl());
- TaoBaoSearchResult searchResult = TaoBaoUtil.searchFromAlimamaWeb(filter, null);
- if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null
- && searchResult.getTaoBaoGoodsBriefs().size() > 0) {
- for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) {
- if (g.getAuctionId().longValue() == goods.getAuctionId()) {
- g.setImgList(goods.getImgList());
- goods = g;
- if ("鏃�".equalsIgnoreCase(goods.getCouponInfo()))
- goods.setCouponInfo(null);
- return goods;
+ // 浠庤浆閾炬悳绱�
+ TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
+
+ if (newGoods != null) {
+ goods.setTkRate(newGoods.getTkRate());
+ if (!StringUtil.isNullOrEmpty(newGoods.getCouponInfo())) {
+ List<BigDecimal> couponInfo = TaoBaoCouponUtil.getCouponInfo(newGoods.getCouponInfo());
+ if (couponInfo != null && couponInfo.size() > 1) {
+ goods.setCouponStartFee(couponInfo.get(0));
+ goods.setCouponAmount(couponInfo.get(1));
+ goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime());
+ goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime());
+ goods.setCouponLeftCount(newGoods.getCouponLeftCount());
+ goods.setCouponTotalCount(newGoods.getCouponTotalCount());
+ goods.setCouponInfo(newGoods.getCouponInfo());
}
}
+
+ return goods;
+
+ } else {
+ goods.setCouponAmount(new BigDecimal("0"));
+ goods.setTkMktStatus("1");
+ goods.setTkRate(new BigDecimal("0"));
+ goods.setReservePrice(new BigDecimal(0));
+ goods.setTkCommFee(new BigDecimal(0));
+ return goods;
}
- TaoKeLogHelper.error(null, "娌℃湁鎼滅储鍒拌鎯�:" + id);
- goods.setCouponAmount(new BigDecimal("0"));
- goods.setTkMktStatus("1");
- goods.setTkRate(new BigDecimal("0"));
- goods.setReservePrice(new BigDecimal(0));
- goods.setTkCommFee(new BigDecimal(0));
- return goods;
}
/**
@@ -458,33 +392,41 @@
}
g.setCreatetime(new Date());
g.setMaterialLibType(goods.getMaterialLibType());
+ g.setProvcity(goods.getProvcity());
return g;
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- filter.setKey(goods.getAuctionUrl());
- TaoBaoSearchResult searchResult = TaoBaoUtil.searchFromAlimamaWeb(filter, null);
- if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null
- && searchResult.getTaoBaoGoodsBriefs().size() > 0) {
- for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) {
- if (g.getAuctionId().longValue() == goods.getAuctionId()) {
- g.setImgList(goods.getImgList());
- goods = g;
- if ("鏃�".equalsIgnoreCase(goods.getCouponInfo()))
- goods.setCouponInfo(null);
- return goods;
+ // 浠庤浆閾炬悳绱�
+ TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
+
+ if (newGoods != null) {
+ goods.setTkRate(newGoods.getTkRate());
+ if (!StringUtil.isNullOrEmpty(newGoods.getCouponInfo())) {
+ List<BigDecimal> couponInfo = TaoBaoCouponUtil.getCouponInfo(newGoods.getCouponInfo());
+ if (couponInfo != null && couponInfo.size() > 1) {
+ goods.setCouponStartFee(couponInfo.get(0));
+ goods.setCouponAmount(couponInfo.get(1));
+ goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime());
+ goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime());
+ goods.setCouponLeftCount(newGoods.getCouponLeftCount());
+ goods.setCouponTotalCount(newGoods.getCouponTotalCount());
+ goods.setCouponInfo(newGoods.getCouponInfo());
}
}
- }
- TaoKeLogHelper.error(null, "娌℃湁鎼滅储鍒拌鎯�:" + id);
- goods.setCouponAmount(new BigDecimal("0"));
- goods.setTkMktStatus("1");
- goods.setTkRate(new BigDecimal("0"));
- goods.setReservePrice(new BigDecimal(0));
- goods.setTkCommFee(new BigDecimal(0));
- return goods;
+ return goods;
+
+ } else {
+ goods.setCouponAmount(new BigDecimal("0"));
+ goods.setTkMktStatus("1");
+ goods.setTkRate(new BigDecimal("0"));
+ goods.setReservePrice(new BigDecimal(0));
+ goods.setTkCommFee(new BigDecimal(0));
+ return goods;
+ }
}
/**
@@ -925,10 +867,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"));
@@ -960,6 +901,7 @@
goods.setSellerId(item.optLong("seller_id"));
goods.setShopTitle(item.optString("shop_title"));
goods.setTitle(item.optString("title"));
+ goods.setProvcity(item.optString("provcity"));
if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
goods.setRootCatId(item.optInt("level_one_category_id"));
@@ -993,6 +935,10 @@
if (!StringUtil.isNullOrEmpty(item.optString("reserve_price")))
goods.setReservePrice(new BigDecimal(item.optString("reserve_price")));
goods.setTotalFee(new BigDecimal("0"));
+ // 鎺ㄨ崘璇�
+ goods.setDescription(item.optString("item_description"));
+
+ goods = loadYuShouInfo(goods, item);
return goods;
}
@@ -1026,23 +972,6 @@
return null;
}
- public static List<RelateGoods> getRelateGoodsList(long auctionId) throws ApiException {
- List<RelateGoods> resultList = new ArrayList<>();
- List<TaoBaoGoodsBrief> list = getRelationGoodsRecommend(auctionId, 9);
- for (TaoBaoGoodsBrief goods : list) {
- if (goods != null) {
- RelateGoods rg = new RelateGoods();
- rg.setId(goods.getAuctionId() + "");
- rg.setPicUrl(goods.getPictUrl());
- rg.setTitle(goods.getTitle());
- rg.setZkPrice(goods.getZkPrice().toString());
- rg.setUrl(goods.getAuctionUrl());
- resultList.add(rg);
- }
- }
- return resultList;
- }
-
/**
* 鑾峰彇鍒歌缁嗕俊鎭�
*
@@ -1069,45 +998,6 @@
} else
return null;
return info;
- }
-
- /**
- * 鑾峰彇鍏宠仈鍟嗗搧鎺ㄨ崘
- *
- * @param auctionId
- * @return
- */
- public static List<TaoBaoGoodsBrief> getRelationGoodsRecommend(long auctionId, int count) {
- List<TaoBaoGoodsBrief> list = new ArrayList<>();
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.item.recommend.get");
- map.put("num_iid", auctionId + "");
- map.put("count", count + "");
- map.put("platform", 2 + "");
- map.put("fields",
- "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url");
- String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
- JSONObject data = JSONObject.fromObject(resultStr);
- if (data.optJSONObject("tbk_item_recommend_get_response") != null) {
- if (data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results") == null)
- return list;
- JSONArray array = data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results")
- .optJSONArray("n_tbk_item");
- if (array != null)
- for (int i = 0; i < array.size(); i++) {
- JSONObject item = array.optJSONObject(i);
- TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
- goods.setAuctionId(item.optLong("num_iid"));
- goods.setTitle(item.optString("title"));
- 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);
- }
- }
- return list;
}
public static void taoQiangGou() {
@@ -1237,38 +1127,107 @@
}
/**
- * 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;
+ }
+
+ /**
+ * 搴楅摵鎼滅储
+ *
+ * @param key
+ * -搴楅摵鍚嶇О
+ * @param page
+ * -椤电爜
+ * @return
+ */
+ public static List<TaoBaoShopInfo> searchShop(SearchShopFilter filter) {
+ if (StringUtil.isNullOrEmpty(filter.getKey()))
+ return new ArrayList<>();
+ List<TaoBaoShopInfo> list = new ArrayList<>();
+ Map<String, String> map = new HashMap<>();
+ 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", filter.getKey());
+ map.put("page_size", filter.getPageSize() + "");
+ map.put("page_no", filter.getPage() + "");
+
+ if (!StringUtil.isNullOrEmpty(filter.getSort()))
+ map.put("sort", filter.getSort());
+
+ if (filter.getTmall() != null)
+ map.put("is_tmall", filter.getTmall() + "");
+
+ String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
+ 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);
+ }
+ }
+ return list;
}
/**
@@ -1332,7 +1291,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);
@@ -1341,14 +1300,12 @@
if (response != null && response.optJSONObject("result_list") != null) {
JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
if (array != null) {
-
for (int i = 0; i < array.size(); i++) {
JSONObject item = array.optJSONObject(i);
TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
if (goods != null)
goodsList.add(goods);
}
-
pageSize = array.size();
}
}
@@ -1410,23 +1367,27 @@
* @param idfa
* @return
*/
- public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa) {
+ public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa, String utdid) {
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.dg.optimus.material");
map.put("page_no", page + "");
map.put("page_size", pageSize + "");
map.put("material_id", "6708");
- if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa))
+ if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa) && StringUtil.isNullOrEmpty(utdid))
return null;
- map.put("device_encrypt", "MD5");
if (!StringUtil.isNullOrEmpty(imei)) {
+ map.put("device_encrypt", "MD5");
map.put("device_value", StringUtil.Md5(imei));
map.put("device_type", "IMEI");
- } else {
+ } else if (!StringUtil.isNullOrEmpty(idfa)) {
+ map.put("device_encrypt", "MD5");
map.put("device_value", StringUtil.Md5(idfa));
map.put("device_type", "IDFA");
+ } else if (!StringUtil.isNullOrEmpty(utdid)) {
+ map.put("device_value", utdid);
+ map.put("device_type", "UTDID");
}
JSONObject resultJSON = null;
@@ -1476,9 +1437,13 @@
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, true);
+ resultJSON = TaoKeBaseUtil.baseRequest(map, app);
+ System.out.println(resultJSON);
} catch (TaoKeApiException e) {
e.printStackTrace();
}
@@ -1586,7 +1551,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);
@@ -1599,17 +1564,26 @@
app.setAppKey(appKey);
app.setAppSecret(appSecret);
resultJSON = TaoKeBaseUtil.baseRequest(map, app);
+ System.out.println(resultJSON.toString());
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);
@@ -1625,8 +1599,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;
@@ -1657,7 +1640,9 @@
map.put("item_id", auctionId + "");
map.put("adzone_id", sts[3]);
try {
- JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
+ System.out.println(result);
+ JSONObject json = JSONObject.fromObject(result);
JSONObject resultJSON = json.optJSONObject("tbk_coupon_convert_response").optJSONObject("result")
.optJSONObject("results");
String couponLink = resultJSON.optString("coupon_click_url");
@@ -1667,13 +1652,25 @@
if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) {
goods.setCouponLink(couponLink);
goods.setCouponInfo(resultJSON.optString("coupon_info"));
+ if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_total_count"))) {
+ goods.setCouponTotalCount(Integer.parseInt(resultJSON.optString("coupon_total_count")));
+ }
+
+ if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_remain_count"))) {
+ goods.setCouponLeftCount(Integer.parseInt(resultJSON.optString("coupon_remain_count")));
+ }
+
+ goods.setCouponEffectiveStartTime(resultJSON.optString("coupon_start_time"));
+ goods.setCouponEffectiveEndTime(resultJSON.optString("coupon_end_time"));
+
}
String tkRate = resultJSON.optString("max_commission_rate");
if (!StringUtil.isNullOrEmpty(tkRate)) {
goods.setTkRate(new BigDecimal(tkRate));
}
+ goods = loadYuShouInfo(goods, resultJSON);
return goods;
- } catch (TaoKeApiException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
@@ -1698,6 +1695,45 @@
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
@@ -1750,8 +1786,9 @@
goods.setIncludeDxjh(0);
goods.setSellerId(item.optLong("seller_id"));
- goods.setShopTitle(item.optString("shop_title"));
+ goods.setShopTitle(item.optString("nick"));
goods.setTitle(item.optString("title"));
+ goods.setProvcity(item.optString("provcity"));
if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
goods.setRootCatId(item.optInt("level_one_category_id"));
@@ -1791,9 +1828,378 @@
goods.setReservePrice(new BigDecimal(0));
goods.setTotalFee(new BigDecimal("0"));
goods.setPictUrlWhite(item.optString("white_image"));
+ goods = loadYuShouInfo(goods, item);
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) 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]);
+ 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) {
+ JSONObject msg = null;
+ try {
+ msg = JSONObject.fromObject(e.getMsg());
+ } catch (Exception e2) {
+ }
+ if (msg != null && msg.optJSONObject("error_response") != null) {
+ throw new TaoBaoTokenParseException(msg.optJSONObject("error_response").optInt("sub_code"),
+ msg.optJSONObject("error_response").optString("sub_msg"));
+ }
+ }
+ 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 TaoLiJinCreateException, 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)) {
+ 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;
+ }
+
+ 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();
+ }
+ }
+
+ /**
+ * 鑾峰彇娣樺疂绯荤粺鏃堕棿
+ *
+ * @return
+ */
+ public static Date getTaoBaoSystemTime() {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.time.get");
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, false);
+ String time = json.optJSONObject("time_get_response").optString("time");
+ return new Date(TimeUtil.convertToTimeTemp(time, "yyyy-MM-dd HH:mm:ss"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 瀹樻柟娲诲姩鎺ㄥ箍
+ *
+ * @param adZoneId
+ * -骞垮憡浣�
+ * @param promotionSceneId-娲诲姩ID
+ * @param relationId
+ * -娓犻亾ID
+ * @return
+ */
+ public static String officialActivityConvert(String adZoneId, String promotionSceneId, String relationId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.activitylink.get");
+ map.put("adzone_id", adZoneId);
+ map.put("promotion_scene_id", promotionSceneId);
+ if (relationId != null)
+ map.put("relation_id", relationId);
+ 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);
+ if (json != null) {
+ json = json.optJSONObject("tbk_activitylink_get_response");
+ if (json.optInt("result_code") == 200) {
+ return json.optString("data");
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static List<TaoBaoGoodsBrief> guessLikeByAuctionId(Long auctionId, int count) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.dg.optimus.material");
+ map.put("item_id", auctionId + "");
+ map.put("page_size", count + "");
+ map.put("page_no", 1 + "");
+ map.put("material_id", 13256 + "");
+
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ JSONObject resultJSON = null;
+ try {
+ resultJSON = TaoKeBaseUtil.baseRequest(map, true);
+
+ JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
+ if (response != null && response.optJSONObject("result_list") != null) {
+ JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
+ if (array != null) {
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
+ if (goods != null)
+ goodsList.add(goods);
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return goodsList;
+ }
+
+ public static List<TaoBaoGoodsBrief> getCouponListByItemId(Long 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);
+
+ 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));
+
+ JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
+ if (response != null && response.optJSONObject("result_list") != null) {
+ JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
+ if (array != null) {
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
+ if (goods != null)
+ goodsList.add(goods);
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return goodsList;
+ }
+
+ /**
+ * 娣樺疂瀹�-鎺ㄥ箍鑰�-瀹樻柟娲诲姩淇℃伅鑾峰彇
+ * @Title: getActivityInfo
+ * @Description:
+ * @param activityMaterialId
+ * @param pid
+ * @param relationId
+ * @return
+ * String 杩斿洖绫诲瀷
+ * @throws
+ */
+ public static String getActivityInfo(String activityMaterialId, String pid, String relationId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.activity.info.get");
+ map.put("activity_material_id", activityMaterialId);
+ map.put("adzone_id", pid.split("_")[3] + "");
+ map.put("relation_id", relationId);
+
+ JSONObject resultJSON = null;
+ try {
+ resultJSON = TaoKeBaseUtil.baseRequest(map,
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, pid));
+ JSONObject response = resultJSON.optJSONObject("tbk_activity_info_get_response");
+ if (response != null && response.optJSONObject("data") != null) {
+ return response.optJSONObject("data").optString("click_url");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
}
class QuanInfo {
--
Gitblit v1.8.0