From 8981ab050bbc9937f13d2711bf0a20e2019e1283 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 03 四月 2019 14:29:20 +0800
Subject: [PATCH] 解决多一分钱的bug

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
index 304b648..0513dd1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -1313,7 +1313,7 @@
 		if (goodsBrief != null && goodsBrief.getMaterialLibType() != null && goodsBrief.getMaterialLibType() == 0)
 			return "楼0.00";
 		else
-			return "楼"+getGoodsHongBaoMoney(goodsBrief, rate).toString();
+			return "楼" + getGoodsHongBaoMoney(goodsBrief, rate).toString();
 	}
 
 	/**
@@ -1326,8 +1326,10 @@
 	public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
 		if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo())
 				|| goodsBrief.getCouponInfo().trim().equalsIgnoreCase("鏃�")) {
-			return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
-					.setScale(2, BigDecimal.ROUND_DOWN);
+			return MoneyBigDecimalUtil.mul(
+					MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+							new BigDecimal("0.01")),
+					MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
 		} else// 鏈夊埜
 		{
 			List<BigDecimal> list = TaoBaoCouponUtil.getCouponInfo(goodsBrief.getCouponInfo());
@@ -1336,11 +1338,14 @@
 			if (startFee.compareTo(goodsBrief.getZkPrice()) <= 0
 					&& goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
 				BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
-				return finalPrice.multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
-						.setScale(2, BigDecimal.ROUND_DOWN);
+				return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
+						.mul(MoneyBigDecimalUtil.mul(finalPrice, goodsBrief.getTkRate()), new BigDecimal("0.01")),
+						MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
+
 			} else {// 涓嶈兘鐢ㄥ埜
-				return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000))
-						.multiply(rate).setScale(2, BigDecimal.ROUND_DOWN);
+				return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
+						MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+						new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
 			}
 		}
 	}

--
Gitblit v1.8.0