From d2357693d74ec048ed19e483ea29f87d823cde5f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 22 七月 2019 16:26:23 +0800 Subject: [PATCH] 资金明细添加京东,拼多多兼容 --- fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java | 62 ++++++++++++++++++++++++++++++ 1 files changed, 61 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 53f4100..fc0d0cc 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,7 +1,7 @@ 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; @@ -13,15 +13,75 @@ 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 hundred = new BigDecimal(100); + rate = MoneyBigDecimalUtil.div(rate, hundred); + BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred).setScale(2); + BigDecimal promotionRate = MoneyBigDecimalUtil.div(new BigDecimal(goods.getPromotionRate()), new BigDecimal(1000)); + + Boolean hasCoupon = goods.getHasCoupon(); + if (hasCoupon == null || !hasCoupon) { + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(price, promotionRate), rate); + } else { + BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred); + BigDecimal startFree = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponMinOrderAmount()), hundred); + if (startFree.compareTo(price) <= 0 && price.compareTo(amount) > 0) { + BigDecimal finalPrice = price.subtract(amount); + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(finalPrice, promotionRate),rate); + } else {// 涓嶈兘鐢ㄥ埜 + money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(price,promotionRate), rate); + } + } + return BigDecimalUtil.getWithNoZera(money).setScale(2); + } + + + /** + * 璁$畻鍟嗗搧鍒稿悗浠凤紝娌℃湁鍒稿垯杩斿洖鍘熶环 + * + * @param goodsBrief + * @return + */ + public static BigDecimal getQuanPrice(PDDGoodsDetail goods) { + BigDecimal hundred = new BigDecimal(100); + BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred); + Boolean hasCoupon = goods.getHasCoupon(); + if (hasCoupon == null || !hasCoupon) { + return price.setScale(2); + } + + BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred); + BigDecimal startFree = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponMinOrderAmount()), hundred); + if (startFree.compareTo(price) <= 0) { + BigDecimal quanPrice = MoneyBigDecimalUtil.sub(price, amount); + return quanPrice.setScale(2); + } else { + return price.setScale(2); + } + } + + public static List<String> getDetailImages(Long id) { List<String> imgList = new ArrayList<>(); try { -- Gitblit v1.8.0