From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 13 三月 2019 12:02:16 +0800
Subject: [PATCH] 正式数据库修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java |  134 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 104 insertions(+), 30 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
index a51c31f..904a707 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -31,6 +31,7 @@
 import org.w3c.dom.NodeList;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.NumberUtil;
+import org.yeshi.utils.entity.ProxyIP;
 import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
@@ -56,6 +57,8 @@
 import com.yeshi.fanli.service.inter.goods.TaoBaoLinkService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.tag.PageEntity;
+import com.yeshi.fanli.util.AESUtil;
+import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoHttpUtil;
@@ -928,12 +931,14 @@
 		tg.setId(tb.getId());
 		tg.setAuctionId(tb.getAuctionId());
 		tg.setBiz30day(tb.getBiz30day());
+		tg.setSalesCount(TaoBaoUtil.getSaleCount(tb.getBiz30day()));
 		tg.setTitle(tb.getTitle());
-		tg.setPictUrl(tb.getPictUrl() + "_200x200");
+		tg.setPictUrl(tb.getPictUrl());
 		tg.setZkPrice(tb.getZkPrice());
 		tg.setAuctionUrl(tb.getAuctionUrl());
 		tg.setReservePrice(tb.getReservePrice());
 		tg.setUserType(tb.getUserType());
+		tg.setImgList(tb.getImgList());
 
 		if (tb.getCouponAmount().compareTo(BigDecimal.valueOf(0)) == 1) {
 			TaoBaoQuanInfo quanInfo = new TaoBaoQuanInfo();
@@ -1242,10 +1247,7 @@
 			}
 			return parsePhoneTmAndTb(id);
 		} catch (Exception e) {
-			try {
-				LogHelper.errorDetailInfo(e, "鏃犳硶瑙f瀽鍒版窐瀹濆晢鍝両D", burl);
-			} catch (Exception e1) {
-			}
+			LogHelper.error("鏃犳硶瑙f瀽鍒版窐瀹濆晢鍝両D:" + burl);
 			return null;
 		}
 
@@ -1589,36 +1591,44 @@
 	 * @return
 	 */
 
-	public static List<ImageInfo> getTBDetailImageWithSizev2(Long auctionId) {
+	public static List<ImageInfo> getTBDetailImageWithSizev2(Long auctionId, ProxyIP ip) {
 		List<ImageInfo> imgList = new ArrayList<>();
 		try {
+			Map<String, String> headers = new HashMap<>();
+			headers.put("User-Agent",
+					"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
+			headers.put("Referer", "https://detail.tmall.com/item.htm?id=" + auctionId);
 			String url = String.format("https://hws.m.taobao.com/cache/desc/5.0?id=" + auctionId);
-			String result = HttpUtil.get(url);
-			JSONObject data = JSONObject.fromObject(result);
+			String result = HttpUtil.get(url, headers, ip);
+			if (!StringUtil.isNullOrEmpty(result)) {
+				JSONObject data = JSONObject.fromObject(result);
 
-			JSONArray array = data.optJSONObject("wdescContent").optJSONArray("pages");
-			if (array != null) {
-				String html = "";
-				for (int i = 0; i < array.size(); i++) {
-					String itemStr = array.optString(i).replace("<img", "<a").replace("</img>", "<a>");
-					html += itemStr;
-				}
-				Document doc = Jsoup.parse(html);
-				Elements items = doc.getElementsByTag("a");
-				for (int i = 0; i < items.size(); i++) {
-					ImageInfo img = new ImageInfo();
-					Element item = items.get(i);
-					if (StringUtil.isNullOrEmpty(item.ownText()))
-						continue;
-					if (!StringUtil.isNullOrEmpty(item.attr("size"))) {
-						img.setWidth(Integer.parseInt(item.attr("size").split("x")[0]));
-						img.setHeight(Integer.parseInt(item.attr("size").split("x")[1]));
+				JSONArray array = data.optJSONObject("wdescContent").optJSONArray("pages");
+				if (array != null) {
+					String html = "";
+					for (int i = 0; i < array.size(); i++) {
+						String itemStr = array.optString(i).replace("<img", "<a").replace("</img>", "<a>");
+						html += itemStr;
 					}
-					if (item.ownText().startsWith("http"))
-						img.setPicture(item.ownText().trim());
-					else
-						img.setPicture("http:" + item.ownText().trim());
-					imgList.add(img);
+					Document doc = Jsoup.parse(html);
+					Elements items = doc.getElementsByTag("a");
+					for (int i = 0; i < items.size(); i++) {
+						ImageInfo img = new ImageInfo();
+						Element item = items.get(i);
+						if (StringUtil.isNullOrEmpty(item.ownText()))
+							continue;
+						if (!StringUtil.isNullOrEmpty(item.attr("size"))) {
+							img.setWidth(Integer.parseInt(item.attr("size").split("x")[0]));
+							img.setHeight(Integer.parseInt(item.attr("size").split("x")[1]));
+						}
+						if (item.ownText().startsWith("http"))
+							img.setPicture(item.ownText().trim());
+						else
+							img.setPicture("http:" + item.ownText().trim());
+						if (img != null && img.getPicture() != null && img.getPicture().endsWith(".jpg"))
+							imgList.add(img);
+					}
+
 				}
 			}
 
@@ -1684,6 +1694,7 @@
 		taoBaoGoods.setCouponStartFee(commonGoods.getCouponStartPrice());
 		taoBaoGoods.setCouponTotalCount(commonGoods.getCouponTotalCount());
 		taoBaoGoods.setPictUrl(commonGoods.getPicture());
+		taoBaoGoods.setPictUrlWhite(commonGoods.getPictureWhite());
 		taoBaoGoods.setSellerId(commonGoods.getSellerId());
 		taoBaoGoods.setShopTitle(commonGoods.getSellerName());
 		taoBaoGoods.setTitle(commonGoods.getTitle());
@@ -1695,6 +1706,69 @@
 		return taoBaoGoods;
 	}
 
+	/**
+	 * 鑾峰彇娣樺疂鑱旂洘鐨勬巿鏉冮摼鎺�
+	 * 
+	 * @param appKey
+	 *            -搴旂敤Key
+	 * @param callBackUrl
+	 *            -鍥炶皟閾炬帴
+	 * @param uid-鐢ㄦ埛ID
+	 * @return
+	 */
+	public static String getTaoBaoUnionAuthUrl(String appKey, String callBackUrl, Long uid, String source) {
+		if (uid == null)
+			return null;
+		long timestamp = System.currentTimeMillis();
+		JSONObject json = new JSONObject();
+		json.put("u", uid);
+		json.put("t", timestamp);
+		json.put("s", source);
+		String url = null;
+		try {
+			url = String.format(
+					"https://oauth.taobao.com/authorize?response_type=code&client_id=%s&redirect_uri=%s&state=%s&view=wap",
+					appKey, callBackUrl,
+					URLEncoder.encode(AESUtil.encrypt(json.toString(), Constant.UIDAESKEY), "UTF-8"));
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		return url;
+	}
+
+	public static TaoBaoGoodsBrief getSimpleGoodsBrief(Long actionId) {
+		JSONObject data = new JSONObject();
+		data.put("itemNumId", actionId + "");
+
+		String url = "";
+		try {
+			url = String.format("https://acs.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?data=%s",
+					URLEncoder.encode(data.toString(), "UTF-8"));
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+
+		String result = HttpUtil.get(url);
+		JSONObject resultOBJ = JSONObject.fromObject(result);
+		if (resultOBJ.optJSONObject("data") != null) {
+			data = resultOBJ.optJSONObject("data");
+			JSONObject item = data.optJSONObject("item");
+			JSONObject seller = data.optJSONObject("seller");
+			TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
+			goods.setAuctionId(item.optLong("itemId"));
+			goods.setTitle(item.optString("title"));
+			if (item.optJSONArray("images") != null && item.optJSONArray("images").size() > 0)
+			{
+				String picture=item.optJSONArray("images").optString(0);
+				goods.setPictUrl(picture.startsWith("http")?picture:"https:"+picture);
+			}
+				goods.setSellerId(seller.optLong("shopId"));
+			goods.setShopTitle(seller.optString("shopName"));
+			return goods;
+		}
+		return null;
+	}
+
 	public static void main(String[] args) {
 		String s = channelMap.get("3");
 		System.out.println(s);

--
Gitblit v1.8.0