yujian
2020-05-23 dd6a31aae79b35ccf0e006704a4d9e1d950c57d6
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("佣金¥ %s+平台补贴¥ %s", baseCommisstion.setScale(2).toString(),
                  commission.subtract(baseCommisstion).setScale(2).toString());
            String maxDesc = String.format("佣金¥ %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;
   }
}