From c8f11c229b87d1652b6da0b15576c166cd51eb8b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 01 一月 2020 14:25:22 +0800
Subject: [PATCH] 首页悬浮图mapperbug修改,增加商品详情中的比例展示

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
index 80b6545..c34aab1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -29,6 +29,7 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -401,13 +402,24 @@
 		// 璧勯噾淇℃伅
 		MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
 		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
+
 		BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
+
 		moneyInfoVO.setFanliMoney("楼" + commission);
 		if (params.getMaxRewardRate() != null)
 			moneyInfoVO
 					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
-		else
-			moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
+		else {// 鍙湁鏈塚IP鍚庣殑鐗堟湰鎵嶄細鏄剧ず杩斿埄姣�
+
+			BigDecimal price = TaoBaoUtil.getAfterUseCouplePrice(goods);
+			BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%");
+
+			BigDecimal maxCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate());
+			BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%");
+			moneyInfoVO.setMaxMoney("楼" + maxCommission);
+		}
 		moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
@@ -573,8 +585,16 @@
 		if (params.getMaxRewardRate() != null)
 			moneyInfoVO
 					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
-		else
-			moneyInfoVO.setMaxMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()));
+		else {
+			BigDecimal price = JDUtil.getQuanPrice(goods);
+			BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%");
+
+			BigDecimal maxCommission = JDUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate());
+			BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%");
+			moneyInfoVO.setMaxMoney("楼" + maxCommission);
+		}
 		moneyInfoVO.setShareMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
@@ -715,13 +735,6 @@
 		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
 		BigDecimal commission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
 		moneyInfoVO.setFanliMoney("楼" + commission);
-		if (params.getMaxRewardRate() != null)
-			moneyInfoVO
-					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
-		else
-			moneyInfoVO.setMaxMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()));
-		moneyInfoVO.setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
-		goodsInfo.setMoneyInfo(moneyInfoVO);
 
 		Boolean hasCoupon = goods.getHasCoupon();
 		if (hasCoupon != null && hasCoupon) {
@@ -762,6 +775,22 @@
 			goodsInfo.setCouponInfo(coupon);
 		}
 
+		if (params.getMaxRewardRate() != null)
+			moneyInfoVO
+					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+		else {
+			BigDecimal price = goodsInfo.getCouponPrice() != null ? goodsInfo.getCouponPrice() : goodsInfo.getZkPrice();
+			BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%");
+
+			BigDecimal maxCommission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate());
+			BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%");
+
+			moneyInfoVO.setMaxMoney("楼" + maxCommission);
+		}
+		goodsInfo.setMoneyInfo(moneyInfoVO);
+
 		// 搴楅摵淇℃伅
 		String mallName = goods.getMallName();
 		if (!StringUtil.isMobile(mallName)) {

--
Gitblit v1.8.0