From 2147d023563a7c9d05d97547c00d6b0162c0644c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 09 十一月 2020 18:37:24 +0800 Subject: [PATCH] 刷单风险规则优化 --- fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 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 7a037f8..c56c8b3 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 @@ -74,6 +74,30 @@ return BigDecimalUtil.getWithNoZera(money).setScale(2); } + + public static BigDecimal getGoodsShareMoney(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.div3(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); + } + /** * 璁$畻鍟嗗搧鍒稿悗浠凤紝娌℃湁鍒稿垯杩斿洖鍘熶环 * -- Gitblit v1.8.0