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