admin
2019-11-23 51a4ff5d777028d52a19c314a99f796334cb7b51
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -9,6 +9,7 @@
import org.yeshi.utils.taobao.TbImgUtil;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.common.GoodsOtherInfoDTO;
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.dto.jd.JDPingouInfo;
@@ -54,8 +55,7 @@
    *            返利比例
    * @return
    */
   public static GoodsDetailVO convertCommonGoods(CommonGoods goods, String pid, BigDecimal fanLiRate,
         BigDecimal shareRate) {
   public static GoodsDetailVO convertCommonGoods(CommonGoods goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setGoodsId(goods.getGoodsId());
      goodsInfo.setTitle(goods.getTitle());
@@ -157,8 +157,11 @@
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      moneyInfoVO.setFanliMoney(CommonGoodsUtil.getCommissionInfo(goods, fanLiRate));
      moneyInfoVO.setShareMoney(CommonGoodsUtil.getCommissionInfo(goods, shareRate));
      BigDecimal commission = CommonGoodsUtil.getCommission(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      moneyInfoVO.setShareMoney(CommonGoodsUtil.getCommissionInfo(goods, params.getShareRate()));
      goodsInfo.setMoneyInfo(moneyInfoVO);
      // 券信息
@@ -181,16 +184,37 @@
         goodsInfo.setCouponInfo(coupon);
      }
      if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
         // 店铺信息
         if (!StringUtil.isNullOrEmpty(goods.getSellerName()) && goods.getSellerId() != null) {
            ShopInfoVO shop = new ShopInfoVO();
            shop.setShopName(goods.getSellerName());
      // 店铺信息
      if (!StringUtil.isNullOrEmpty(goods.getSellerName())) {
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(goods.getSellerName());
         if (goods.getSellerId() != null)
            shop.setId(goods.getSellerId().toString());
            goodsInfo.setShopInfo(shop);
         if (shopType == null || shopType == 0) {
            shop.setUserType(10);
         } else if (shopType == 1) {
            shop.setUserType(11);
         } else {
            shop.setUserType(goods.getShopType());
         }
         goodsInfo.setShopInfo(shop);
      }
      // if (Constant.IS_TEST) {
      // // 添加标签
      // List<ClientTextStyleVO> labels = goodsInfo.getLabels();
      // if (labels == null)
      // labels = new ArrayList<>();
      //
      // labels.add(new ClientTextStyleVO("预售", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("爆款", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("超级划算", "#FF2B4E"));
      // goodsInfo.setLabels(labels);
      // }
      return goodsInfo;
   }
@@ -204,8 +228,7 @@
    *            返利比例
    * @return
    */
   public static GoodsDetailVO convertTaoBaoGoodsBriefExtra(TaoBaoGoodsBriefExtra goods, BigDecimal fanLiRate,
         BigDecimal shareRate) {
   public static GoodsDetailVO convertTaoBaoGoodsBriefExtra(TaoBaoGoodsBriefExtra goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
@@ -235,9 +258,14 @@
         TaoBaoHongBaoInfo taoBaoHongBaoInfo = goods.getTaoBaoHongBaoInfo();
         moneyInfoVO.setFanliMoney("¥" + taoBaoHongBaoInfo.getHongbao());
         moneyInfoVO.setShareMoney("¥" + taoBaoHongBaoInfo.getHongbao());
         moneyInfoVO.setMaxMoney("¥" + taoBaoHongBaoInfo.getHongbao()
               .add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate())));
      } else {
         moneyInfoVO.setFanliMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, fanLiRate));
         moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, shareRate));
         BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
         moneyInfoVO.setFanliMoney("¥" + commission);
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
         moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
      }
      goodsInfo.setMoneyInfo(moneyInfoVO);
@@ -263,13 +291,34 @@
      // 店铺信息
      String shopTitle = goods.getShopTitle();
      Long sellerId = goods.getSellerId();
      if (!StringUtil.isNullOrEmpty(shopTitle) && sellerId != null) {
      if (!StringUtil.isNullOrEmpty(shopTitle)) {
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(shopTitle);
         shop.setId(goods.getSellerId().toString());
         Long sellerId = goods.getSellerId();
         if (sellerId != null)
            shop.setId(goods.getSellerId().toString());
         if (shopType != null && shopType == 1) {
            shop.setUserType(11);
         } else {
            shop.setUserType(10);
         }
         goodsInfo.setShopInfo(shop);
      }
      // if (Constant.IS_TEST) {
      // // 添加标签
      // List<ClientTextStyleVO> labels = goodsInfo.getLabels();
      // if (labels == null)
      // labels = new ArrayList<>();
      //
      // labels.add(new ClientTextStyleVO("预售", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("爆款", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("超级划算", "#FF2B4E"));
      // goodsInfo.setLabels(labels);
      // }
      return goodsInfo;
   }
@@ -284,8 +333,7 @@
    *            返利比例
    * @return
    */
   public static GoodsDetailVO convertTaoBao(TaoBaoGoodsBrief goods, String pid, BigDecimal fanLiRate,
         BigDecimal shareRate) {
   public static GoodsDetailVO convertTaoBao(TaoBaoGoodsBrief goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
@@ -338,8 +386,10 @@
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      moneyInfoVO.setFanliMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, fanLiRate));
      moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, shareRate));
      BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
      goodsInfo.setMoneyInfo(moneyInfoVO);
      // 券信息
@@ -365,7 +415,7 @@
            coupon.setStartTime(goods.getCouponEffectiveStartTime().replace("-", "."));
         }
         coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), pid, goods.getAuctionId() + ""));
         coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
         coupon.setStartFee(goods.getCouponStartFee());
         goodsInfo.setHasCoupon(true);
@@ -373,29 +423,38 @@
      }
      // 店铺信息
      if (!StringUtil.isNullOrEmpty(goods.getShopTitle()) && goods.getSellerId() != null) {
      if (!StringUtil.isNullOrEmpty(goods.getShopTitle())) {
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(goods.getShopTitle());
         shop.setId(goods.getSellerId().toString());
         if (goods.getSellerId() != null)
            shop.setId(goods.getSellerId().toString());
         if (shopType != null && shopType == 1) {
            shop.setUserType(11);
         } else {
            shop.setUserType(10);
         }
         goodsInfo.setShopInfo(shop);
      }
      if (TaoBaoUtil.isYUShou(goods)) {// 预售商品
         goodsInfo = loadYuShouInfo(goodsInfo, goods, pid, fanLiRate, shareRate);
         goodsInfo = loadYuShouInfo(goodsInfo, goods, null, params.getFanLiRate(), params.getShareRate());
      }
      if (Constant.IS_TEST) {
         // 添加标签
         List<ClientTextStyleVO> labels = goodsInfo.getLabels();
         if (labels == null)
         if (labels == null)
            labels = new ArrayList<>();
         labels.add(new ClientTextStyleVO("预售", "#FF2B4E"));
         labels.add(new ClientTextStyleVO("爆款", "#FF2B4E"));
         labels.add(new ClientTextStyleVO("超级划算", "#FF2B4E"));
         goodsInfo.setLabels(labels);
      }
      return goodsInfo;
   }
@@ -407,7 +466,6 @@
         if (goodsInfo.getLabels() == null)
            goodsInfo.setLabels(new ArrayList<>());
         goodsInfo.getLabels().add(new ClientTextStyleVO("预售", "#FF2B4E"));
      }
      return goodsInfo;
   }
@@ -422,7 +480,7 @@
    *            返利比例
    * @return
    */
   public static GoodsDetailVO convertJDGoods(JDGoods goods, BigDecimal fanLiRate, BigDecimal shareRate) {
   public static GoodsDetailVO convertJDGoods(JDGoods goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_JD);
      goodsInfo.setGoodsId(goods.getSkuId());
@@ -446,11 +504,13 @@
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      moneyInfoVO.setFanliMoney("¥" + JDUtil.getGoodsFanLiMoney(goods, fanLiRate));
      moneyInfoVO.setShareMoney("¥" + JDUtil.getGoodsFanLiMoney(goods, shareRate));
      BigDecimal commission = JDUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      moneyInfoVO.setShareMoney("¥" + JDUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
      goodsInfo.setMoneyInfo(moneyInfoVO);
      JDCouponInfo couponInfo = goods.getCouponInfo();
      JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods);
      if (couponInfo != null) {
         BigDecimal discount = couponInfo.getDiscount();
         // 计算券后价
@@ -514,6 +574,7 @@
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(shopInfo.getShopName());
         shop.setId(shopInfo.getShopId().toString());
         if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) {
            shop.setUserType(20);
         } else {
@@ -527,6 +588,7 @@
      if (isFreeShipping != null && isFreeShipping == 1) {
         goodsInfo.setBaoyou(true);
      }
      return goodsInfo;
   }
@@ -540,7 +602,7 @@
    *            返利比例
    * @return
    */
   public static GoodsDetailVO convertPDDGoods(PDDGoodsDetail goods, BigDecimal fanLiRate, BigDecimal shareRate) {
   public static GoodsDetailVO convertPDDGoods(PDDGoodsDetail goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_PDD);
@@ -575,8 +637,10 @@
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      moneyInfoVO.setFanliMoney("¥" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, fanLiRate));
      moneyInfoVO.setShareMoney("¥" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, shareRate));
      BigDecimal commission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      moneyInfoVO.setShareMoney("¥" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
      goodsInfo.setMoneyInfo(moneyInfoVO);
      Boolean hasCoupon = goods.getHasCoupon();
@@ -626,9 +690,21 @@
         if (goods.getMallId() != null) {
            shop.setId(goods.getMallId().toString());
         }
         shop.setUserType(30);
         goodsInfo.setShopInfo(shop);
      }
      // if (Constant.IS_TEST) {
      // // 添加标签
      // List<ClientTextStyleVO> labels = goodsInfo.getLabels();
      // if (labels == null)
      // labels = new ArrayList<>();
      //
      // labels.add(new ClientTextStyleVO("预售", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("爆款", "#FF2B4E"));
      // labels.add(new ClientTextStyleVO("超级划算", "#FF2B4E"));
      // goodsInfo.setLabels(labels);
      // }
      return goodsInfo;
   }