From 20d1a38a0f8049873f1fbbaef96c22e971ea9d77 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 17 七月 2019 15:50:09 +0800 Subject: [PATCH] 搜索词 --- fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 114 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java index 72b7c50..3d8d326 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java @@ -1,6 +1,8 @@ package com.yeshi.fanli.util.pinduoduo; -import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -11,16 +13,98 @@ import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; +import org.yeshi.utils.BigDecimalUtil; +import org.yeshi.utils.HttpUtil; + +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.StringUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; + public class PinDuoDuoUtil { + + + /** + * 鍟嗗搧浣i噾璁$畻 + * @param goods + * @param rate + * @return + */ + public static BigDecimal getGoodsFanLiMoney(PDDGoodsDetail goods, BigDecimal rate) { + BigDecimal money = null; + BigDecimal price = new BigDecimal(goods.getMinNormalPrice()); + BigDecimal promotionRate = new BigDecimal(goods.getPromotionRate()); + + Boolean hasCoupon = goods.getHasCoupon(); + if (hasCoupon == null || !hasCoupon) { + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul( + MoneyBigDecimalUtil.mul(price, promotionRate),new BigDecimal("0.001")), + MoneyBigDecimalUtil.div(rate, new BigDecimal(100))); + } else { + BigDecimal amount = new BigDecimal(goods.getCouponDiscount()); + BigDecimal startFree = new BigDecimal(goods.getCouponMinOrderAmount()); + if (startFree.compareTo(price) <= 0 && price.compareTo(amount) > 0) { + BigDecimal finalPrice = price.subtract(amount); + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil + .mul(MoneyBigDecimalUtil.mul(finalPrice, promotionRate), new BigDecimal("0.001")), + MoneyBigDecimalUtil.div(rate, new BigDecimal(100))); + + } else {// 涓嶈兘鐢ㄥ埜 + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul( + MoneyBigDecimalUtil.mul(price,promotionRate), new BigDecimal("0.001")), + MoneyBigDecimalUtil.div(rate, new BigDecimal(100))); + } + } + return BigDecimalUtil.getWithNoZera(money); + } + + + /** + * 璁$畻鍟嗗搧鍒稿悗浠凤紝娌℃湁鍒稿垯杩斿洖鍘熶环 + * + * @param goodsBrief + * @return + */ + public static BigDecimal getQuanPrice(PDDGoodsDetail goods) { + BigDecimal price = new BigDecimal(goods.getMinNormalPrice()); + Boolean hasCoupon = goods.getHasCoupon(); + if (hasCoupon == null || !hasCoupon) { + return price; + } + + BigDecimal amount = new BigDecimal(goods.getCouponDiscount()); + BigDecimal startFree = new BigDecimal(goods.getCouponMinOrderAmount()); + if (startFree.compareTo(price) <= 0) { + BigDecimal quanPrice = MoneyBigDecimalUtil.sub(price, amount); + return quanPrice; + } else { + return price; + } + } + + public static String getSaleCount(long count) { + String salesCountMidea = null; + if (count < 10000) { + salesCountMidea = count + ""; + } else { + double sales = count; + salesCountMidea = String.format("%.1f", sales / 10000); + salesCountMidea = salesCountMidea + "涓�"; + } + return salesCountMidea; + } + + + + public static List<String> getDetailImages(Long id) { List<String> imgList = new ArrayList<>(); try { - Document doc = Jsoup.connect("http://yangkeduo.com/goods.html?goods_id="+id) + Document doc = Jsoup.connect("http://yangkeduo.com/goods.html?goods_id=" + id) .userAgent( "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36") .get(); @@ -58,4 +142,32 @@ } + public static List<String> suggestSearch(String key) { + List<String> list = new ArrayList<>(); + if (StringUtil.isNullOrEmpty(key)) + return list; + String url = null; + try { + url = String.format("http://apiv3.yangkeduo.com/search_suggest?query=%s&pdduid=0", + URLEncoder.encode(key, "UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + if (url == null) + return list; + try { + String result = HttpUtil.get(url); + JSONObject dataJSON = JSONObject.fromObject(result); + JSONArray array = dataJSON.optJSONArray("suggest_list"); + for (int i = 0; i < array.size(); i++) { + String sk = array.optJSONObject(i).optJSONObject("item_data").optString("suggestion"); + if (!StringUtil.isNullOrEmpty(sk)) + list.add(sk); + } + } catch (Exception e) { + } + return list; + } + } -- Gitblit v1.8.0