yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -4,6 +4,8 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -29,6 +31,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;
@@ -249,6 +252,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) {
@@ -356,6 +360,7 @@
      goodsInfo.setTitle(goods.getTitle());
      goodsInfo.setSalesType(1); // 默认月销量
      goodsInfo.setZkPrice(goods.getZkPrice());
      goodsInfo.setDescription(goods.getDescription());
      String provcity = goods.getProvcity();
      if (!StringUtil.isNullOrEmpty(provcity)) {
@@ -401,13 +406,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 {// 只有有VIP后的版本才会显示返利比
         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 +589,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 +739,7 @@
      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);
      moneyInfoVO.setShareMoney("¥" + commission);
      Boolean hasCoupon = goods.getHasCoupon();
      if (hasCoupon != null && hasCoupon) {
@@ -762,6 +780,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)) {
@@ -788,4 +822,5 @@
      return goodsInfo;
   }
}