From 43362240e4f061f137729a7fb8cf4d1b0e899241 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 19 十月 2019 18:20:08 +0800
Subject: [PATCH] 淘宝双11预售商品添加修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java |  252 +++++++++++++++++++++++++-------------------------
 1 files changed, 127 insertions(+), 125 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 4c9a9ff..dab6bd4 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
@@ -141,77 +141,97 @@
 				.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"))) {
-				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);
-
-			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"));
+
+		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 = 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)
@@ -260,67 +280,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;
 	}
 
@@ -953,6 +916,7 @@
 		if (!StringUtil.isNullOrEmpty(item.optString("reserve_price")))
 			goods.setReservePrice(new BigDecimal(item.optString("reserve_price")));
 		goods.setTotalFee(new BigDecimal("0"));
+		goods = loadYuShouInfo(goods, item);
 		return goods;
 	}
 
@@ -1723,6 +1687,7 @@
 			if (!StringUtil.isNullOrEmpty(tkRate)) {
 				goods.setTkRate(new BigDecimal(tkRate));
 			}
+			goods = loadYuShouInfo(goods, resultJSON);
 			return goods;
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -1882,6 +1847,7 @@
 		goods.setReservePrice(new BigDecimal(0));
 		goods.setTotalFee(new BigDecimal("0"));
 		goods.setPictUrlWhite(item.optString("white_image"));
+		goods = loadYuShouInfo(goods, item);
 		return goods;
 	}
 
@@ -2108,6 +2074,42 @@
 		}
 		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;
+	}
+
 }
 
 class QuanInfo {

--
Gitblit v1.8.0