From fc0cc7e808f9228b39b1e6b9d29c5417f41dbcc4 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 24 五月 2019 16:52:02 +0800 Subject: [PATCH] 删除 老版动态查询商品 关联yeshi_ec_taobao_goods 的sql --- fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java index 134398c..915fd06 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java @@ -1,14 +1,23 @@ package com.yeshi.fanli.util.dataoke; +import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; import org.yeshi.utils.HttpUtil; import com.google.gson.Gson; import com.yeshi.fanli.dto.dataoke.DaTaoKeApiResult; +import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO; +import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -29,10 +38,112 @@ for (int i = 0; i < array.size(); i++) { list.add(gson.fromJson(array.optJSONObject(i).toString(), DaTaoKeDetail.class)); } + + for (DaTaoKeDetail dt : list) + if (!dt.getPic().startsWith("http")) + dt.setPic("https:" + dt.getPic()); + return new DaTaoKeApiResult(resultJson.optJSONObject("data").optInt("total_num"), resultJson.optJSONObject("data").optString("update_time"), list); } + /** + * 鑾峰彇澶ф窐瀹㈠搧鐗屼紭閫� 鍝佺墝id + * + * @return + */ + public static List<String> getBrandIdList() { + List<String> listId = new ArrayList<>(); + try { + Document doc = Jsoup.connect("http://www.dataoke.com/brandFilter?cid=0&sort=1&main=0").get(); + Element root = doc.getElementsByClass("brand-list").get(0); + Elements items = root.getElementsByTag("a"); + for (int i = 0; i < items.size(); i++) { + String id = items.get(i).attr("href").split("\\?")[1].replace("id=", "").trim(); + listId.add(id); + } + } catch (Exception e) { + e.printStackTrace(); + } + return listId; + } + + /** + * 鑾峰彇搴楅摵涓嬪墠4涓晢鍝併�佸簵閾轰粙缁� + * + * @param brandId + * @return + */ + public static TaoBaoShopDTO getDynamicShopInfo(String brandId) { + if (brandId == null) { + return null; + } + TaoBaoShopDTO taoBaoShopDTO = null; + + Document doc; + try { + doc = Jsoup.connect("http://www.dataoke.com/brandSingle?id=" + brandId).get(); + Elements els = doc.getElementsByTag("script"); + for (int i = 0; i < els.size(); i++) { + if (els.get(i).html().contains("var brandData")) { + + JSONObject data = JSONObject + .fromObject(els.get(i).html().replace("var brandData =", "").trim().split("};")[0] + "}"); + taoBaoShopDTO = convertTaoBaoShopDTO(data); + break; + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return taoBaoShopDTO; + + } + + public static TaoBaoShopDTO convertTaoBaoShopDTO(JSONObject data) { + TaoBaoShopDTO taoBaoShopDTO = new TaoBaoShopDTO(); + JSONObject item = data.optJSONObject("act"); + taoBaoShopDTO.setSellerId(item.optLong("seller_id")); + taoBaoShopDTO.setBrandId(item.optString("brand_id")); + taoBaoShopDTO.setBrandDes(item.optString("brand_des")); + int userType = 0; + + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); + JSONArray arrayGoods = data.optJSONArray("goods"); + for (int i = 0; i < arrayGoods.size(); i++) { + if (i >= 2) { + break; + } + JSONObject itemGoods = arrayGoods.optJSONObject(i); + TaoBaoGoodsBrief taoBaoGoods = new TaoBaoGoodsBrief(); + taoBaoGoods.setAuctionId(itemGoods.optLong("goodsid")); + taoBaoGoods.setBiz30day(itemGoods.optInt("xiaoliang")); + taoBaoGoods.setCouponAmount(new BigDecimal(itemGoods.optString("quan_jine"))); + taoBaoGoods.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", itemGoods.optString("quan_tiaojian"), + MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(itemGoods.optString("quan_jine"))))); + taoBaoGoods.setCouponLeftCount(itemGoods.optInt("quan_num")); + taoBaoGoods.setCouponStartFee(new BigDecimal(itemGoods.optString("quan_tiaojian"))); + taoBaoGoods.setCouponTotalCount(itemGoods.optInt("quan_num")); + taoBaoGoods.setPictUrl(itemGoods.optString("pic")); + taoBaoGoods.setPictUrlWhite(itemGoods.optString("pic")); + taoBaoGoods.setSellerId(itemGoods.optLong("seller_id")); + taoBaoGoods.setShopTitle(""); + taoBaoGoods.setTitle(itemGoods.optString("title")); + taoBaoGoods.setUserType(itemGoods.optInt("istmall")); + taoBaoGoods.setZkPrice(new BigDecimal(itemGoods.optString("yuanjia"))); + taoBaoGoods.setTkRate(new BigDecimal(itemGoods.optString("yongjin"))); + taoBaoGoods.setTkCommFee(new BigDecimal("0")); + taoBaoGoods.setState(0); + + listGoods.add(taoBaoGoods); + + userType = itemGoods.optInt("istmall"); + } + taoBaoShopDTO.setListGoods(listGoods); + taoBaoShopDTO.setUserType(userType); + return taoBaoShopDTO; + } + class DaTaoKeResult { Date updateTime; List<DaTaoKeDetail> dataList; -- Gitblit v1.8.0