From dd6a31aae79b35ccf0e006704a4d9e1d950c57d6 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:55:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 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 b73c90b..4a6a2cd 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
@@ -17,6 +17,7 @@
 import com.yeshi.fanli.dto.jd.JDPingouInfo;
 import com.yeshi.fanli.dto.jd.JDShopInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -32,6 +33,7 @@
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.vipshop.VipShopUtil;
 import com.yeshi.fanli.vo.goods.CouponInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.goods.MoneyInfoVO;
@@ -870,4 +872,78 @@
 		return goodsInfo;
 	}
 
+	public static GoodsDetailVO convertVIPGoods(VIPGoodsInfo goods, ConfigParamsDTO params) {
+		GoodsDetailVO goodsInfo = new GoodsDetailVO();
+		goodsInfo.setBaoyou(true);
+		goodsInfo.setGoodsType(Constant.SOURCE_TYPE_VIP);
+		goodsInfo.setGoodsId(Long.parseLong(goods.getGoodsId()));
+		goodsInfo.setTitle(goods.getGoodsName());
+		goodsInfo.setSalesType(5); // 鏃犻攢閲�
+		goodsInfo.setPriceName("鎷煎洟浠�");
+		goodsInfo.setPicUrl(goods.getGoodsThumbUrl()); // 缂╃暐鍥�
+		goodsInfo.setZkPrice(MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getVipPrice())));
+		goodsInfo.setShopType(CommonGoods.SHOP_TYPE_VIP);
+
+		goodsInfo.setImgList(goods.getGoodsDetailPictures());
+
+		Integer state = goods.getStatus();
+		if (state == null) {
+			goodsInfo.setState(0);
+		} else {
+			goodsInfo.setState(goods.getStatus() == 1 ? CommonGoods.STATE_OFFLINE : CommonGoods.STATE_NORMAL);
+		}
+
+		goodsInfo.setSalesCount("");
+
+		// 璧勯噾淇℃伅
+		MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
+		moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6
+		BigDecimal commission = VipShopUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
+		moneyInfoVO.setFanliMoney("楼" + commission);
+		moneyInfoVO.setShareMoney("楼" + commission);
+
+		BigDecimal baseCommisstion = null;
+		if (params.getBaseFanliRate() != null)
+			baseCommisstion = VipShopUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
+
+		if (params.getMaxRewardRate() != null)
+			moneyInfoVO
+					.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
+		else {
+			BigDecimal price = new BigDecimal(goods.getVipPrice());
+			BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price);
+			moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%");
+
+			BigDecimal maxCommission = VipShopUtil.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.getBrandName();
+		if (!StringUtil.isMobile(mallName)) {
+			ShopInfoVO shop = new ShopInfoVO();
+			shop.setShopName(mallName);
+			if (goods.getBrandId() != null) {
+				shop.setId(goods.getBrandId().toString());
+			}
+			shop.setUserType(30);
+			goodsInfo.setShopInfo(shop);
+		}
+
+		return goodsInfo;
+	}
+
 }

--
Gitblit v1.8.0