From e1a62ec62e7331d97af9302e90e1ce44af8235eb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 27 一月 2021 15:26:55 +0800 Subject: [PATCH] 拼多多授权绑定 --- fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java index a193353..99327b3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java @@ -6,7 +6,7 @@ import org.yeshi.utils.NumberUtil; import com.yeshi.fanli.dto.suning.SuningGoodsInfo; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import org.yeshi.utils.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; public class SuningUtil { @@ -15,17 +15,27 @@ BigDecimal hundred = new BigDecimal(100); rate = MoneyBigDecimalUtil.div(rate, hundred); - BigDecimal afterUseCouponPrice = new BigDecimal(goods.getCommodityInfo().getCommodityPrice()); - if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) { - // 鏈夊埜 - BigDecimal startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit()); - if (afterUseCouponPrice.compareTo(startPrice) >= 0) { - afterUseCouponPrice = afterUseCouponPrice.subtract(startPrice); - } + String commodityPrice = goods.getCommodityInfo().getCommodityPrice(); + if (StringUtil.isNullOrEmpty(commodityPrice)) { + commodityPrice = goods.getCommodityInfo().getSnPrice(); } - BigDecimal money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.div( - afterUseCouponPrice.multiply(new BigDecimal(goods.getCommodityInfo().getRate())), new BigDecimal(100)), + BigDecimal afterUseCouponPrice = new BigDecimal(commodityPrice); + if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) { + // 鏈夊埜 + BigDecimal startPrice = null; + if (StringUtil.isNullOrEmpty(goods.getCouponInfo().getBounsLimit())) { + startPrice = new BigDecimal(goods.getCouponInfo().getCouponValue()); + } else + startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit()); + if (afterUseCouponPrice.compareTo(startPrice) >= 0) { + afterUseCouponPrice = afterUseCouponPrice.subtract(new BigDecimal(goods.getCouponInfo().getCouponValue())); + } + } + + BigDecimal commission=MoneyBigDecimalUtil.mul(afterUseCouponPrice,MoneyBigDecimalUtil.div(new BigDecimal(goods.getCommodityInfo().getRate()), new BigDecimal(100),5)); + + BigDecimal money = MoneyBigDecimalUtil.mul(commission, rate); return BigDecimalUtil.getWithNoZera(money).setScale(2); } -- Gitblit v1.8.0