From ae3e722d471d7e844acd25f124a1fec42ac714a0 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 11 七月 2019 18:56:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java | 82 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 1 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..ea48da6 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,6 @@ package com.yeshi.fanli.util.pinduoduo; -import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -11,12 +11,92 @@ import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; +import org.yeshi.utils.BigDecimalUtil; + +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; 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 { -- Gitblit v1.8.0