From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 13 四月 2020 10:04:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java |  128 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 118 insertions(+), 10 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 715d079..b73c90b 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
@@ -163,8 +163,22 @@
 
 		BigDecimal commission = CommonGoodsUtil.getCommission(goods, params.getFanLiRate());
 		moneyInfoVO.setFanliMoney("楼" + commission);
-		moneyInfoVO.setMaxMoney("楼" + CommonGoodsUtil.getCommission(goods, params.getVipFanLiRate()));
+
+		BigDecimal maxCommission = CommonGoodsUtil.getCommission(goods, params.getVipFanLiRate());
+		if (params.getMaxRewardRate() != null)
+			moneyInfoVO
+					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+		else
+			moneyInfoVO.setMaxMoney("楼" + maxCommission);
+
 		moneyInfoVO.setShareMoney(CommonGoodsUtil.getCommissionInfo(goods, params.getShareRate()));
+
+		moneyInfoVO.setRateInfo("杩斿埄姣� " + MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)),
+				CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
+
+		moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)),
+				CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
+
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
 		// 鍒镐俊鎭�
@@ -243,6 +257,7 @@
 		goodsInfo.setState(goods.getState() == null ? 0 : goods.getState());
 		goodsInfo.setSalesCount(goods.getSalesCount());
 		goodsInfo.setPicUrl(goods.getPictUrl());
+		goodsInfo.setDescription(goods.getDescription());
 
 		Integer shopType = goods.getUserType();
 		if (shopType != null && shopType == 1) {
@@ -261,11 +276,19 @@
 			TaoBaoHongBaoInfo taoBaoHongBaoInfo = goods.getTaoBaoHongBaoInfo();
 			moneyInfoVO.setFanliMoney("楼" + taoBaoHongBaoInfo.getHongbao());
 			moneyInfoVO.setShareMoney("楼" + taoBaoHongBaoInfo.getHongbao());
-			moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
+			if (params.getMaxRewardRate() != null)
+				moneyInfoVO.setMaxMoney("楼" + taoBaoHongBaoInfo.getHongbao()
+						.add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate())));
+			else
+				moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
 		} else {
 			BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
 			moneyInfoVO.setFanliMoney("楼" + commission);
-			moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
+			if (params.getMaxRewardRate() != null)
+				moneyInfoVO.setMaxMoney(
+						"楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+			else
+				moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
 			moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
 		}
 		goodsInfo.setMoneyInfo(moneyInfoVO);
@@ -286,6 +309,7 @@
 			coupon.setStartTime(sdf.format(new Date(Long.parseLong(couponEffectiveStartTime))));
 			coupon.setLink(taoBaoQuanInfo.getCouponLink());
 			coupon.setStartFee(taoBaoQuanInfo.getCouponStartFee());
+			coupon.setShopCoupon(goods.isShopCoupon());
 			goodsInfo.setHasCoupon(true);
 			goodsInfo.setCouponInfo(coupon);
 		}
@@ -342,6 +366,7 @@
 		goodsInfo.setTitle(goods.getTitle());
 		goodsInfo.setSalesType(1); // 榛樿鏈堥攢閲�
 		goodsInfo.setZkPrice(goods.getZkPrice());
+		goodsInfo.setDescription(goods.getDescription());
 
 		String provcity = goods.getProvcity();
 		if (!StringUtil.isNullOrEmpty(provcity)) {
@@ -387,10 +412,37 @@
 		// 璧勯噾淇℃伅
 		MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
 		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
+
 		BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
+		BigDecimal baseCommisstion = null;
+		if (params.getBaseFanliRate() != null)
+			baseCommisstion = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getBaseFanliRate());
 		moneyInfoVO.setFanliMoney("楼" + commission);
-		moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate()));
+		if (params.getMaxRewardRate() != null)
+			moneyInfoVO
+					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+		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);
+			if (baseCommisstion != null) {
+				String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						commission.subtract(baseCommisstion).setScale(2).toString());
+				String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						maxCommission.subtract(baseCommisstion).setScale(2).toString());
+				moneyInfoVO.setCompositionInfo(desc);
+				moneyInfoVO.setMaxCompositionInfo(maxDesc);
+			}
+		}
+
 		moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
+
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
 		// 鍒镐俊鎭�
@@ -416,9 +468,13 @@
 				coupon.setStartTime(goods.getCouponEffectiveStartTime().replace("-", "."));
 			}
 
-			coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
+			if (!StringUtil.isNullOrEmpty(goods.getCouponLink()))
+				coupon.setLink(goods.getCouponLink());
+			else
+				coupon.setLink(
+						TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
 			coupon.setStartFee(goods.getCouponStartFee());
-
+			coupon.setShopCoupon(goods.isShopCoupon());
 			goodsInfo.setHasCoupon(true);
 			goodsInfo.setCouponInfo(coupon);
 		}
@@ -552,7 +608,32 @@
 		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
 		BigDecimal commission = JDUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
 		moneyInfoVO.setFanliMoney("楼" + commission);
-		moneyInfoVO.setMaxMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()));
+		BigDecimal baseCommisstion = null;
+		if (params.getBaseFanliRate() != null)
+			baseCommisstion = JDUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
+
+		if (params.getMaxRewardRate() != null)
+			moneyInfoVO
+					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+		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);
+
+			if (baseCommisstion != null) {
+				String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						commission.subtract(baseCommisstion).setScale(2).toString());
+				String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						maxCommission.subtract(baseCommisstion).setScale(2).toString());
+				moneyInfoVO.setCompositionInfo(desc);
+				moneyInfoVO.setMaxCompositionInfo(maxDesc);
+			}
+		}
 		moneyInfoVO.setShareMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
 		goodsInfo.setMoneyInfo(moneyInfoVO);
 
@@ -693,9 +774,7 @@
 		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
 		BigDecimal commission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
 		moneyInfoVO.setFanliMoney("楼" + commission);
-		moneyInfoVO.setMaxMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()));
-		moneyInfoVO.setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
-		goodsInfo.setMoneyInfo(moneyInfoVO);
+		moneyInfoVO.setShareMoney("楼" + commission);
 
 		Boolean hasCoupon = goods.getHasCoupon();
 		if (hasCoupon != null && hasCoupon) {
@@ -736,6 +815,35 @@
 			goodsInfo.setCouponInfo(coupon);
 		}
 
+		BigDecimal baseCommisstion = null;
+		if (params.getBaseFanliRate() != null)
+			baseCommisstion = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
+
+		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);
+
+			if (baseCommisstion != null) {
+				String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						commission.subtract(baseCommisstion).setScale(2).toString());
+				String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(),
+						maxCommission.subtract(baseCommisstion).setScale(2).toString());
+				moneyInfoVO.setCompositionInfo(desc);
+				moneyInfoVO.setMaxCompositionInfo(maxDesc);
+			}
+		}
+		goodsInfo.setMoneyInfo(moneyInfoVO);
+
 		// 搴楅摵淇℃伅
 		String mallName = goods.getMallName();
 		if (!StringUtil.isMobile(mallName)) {

--
Gitblit v1.8.0