yujian
2020-06-09 554de444b87aab5f93cb1593a8095612cf9479a7
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -17,6 +17,9 @@
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.suning.SuningGoodsImg;
import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
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;
@@ -30,8 +33,10 @@
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
import com.yeshi.fanli.util.suning.SuningUtil;
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;
@@ -60,7 +65,7 @@
    */
   public static GoodsDetailVO convertCommonGoods(CommonGoods goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setGoodsId(goods.getGoodsId());
      goodsInfo.setGoodsId(goods.getGoodsId() + "");
      goodsInfo.setTitle(goods.getTitle());
      Integer shopType = goods.getShopType();
@@ -131,9 +136,19 @@
         goodsInfo.setSalesType(4); // 总销量
         goodsInfo.setPriceName("拼团价");
         goodsInfo.setBaoyou(true);
      } else if (goodsType == Constant.SOURCE_TYPE_SUNING) {
         goodsInfo.setSalesType(1);
         goodsInfo.setGoodsId(SuningUtil.getConcatGoodsIId(SuningUtil.getFullSupplierCode(goods.getSellerId() + ""),
               goods.getGoodsId() + ""));
      } else {
         goodsInfo.setSalesType(1); // 月销量
         goodsInfo.setBaoyou(true);
      }
      if (goodsType == Constant.SOURCE_TYPE_VIP) {
         goodsInfo.setDiscount(goods.getCouponInfo());
         goodsInfo.setPriceName("折后价");
         goodsInfo.setCouponPrice(goods.getCouponStartPrice());
      }
      goodsInfo.setGoodsType(goodsType);
@@ -163,8 +178,22 @@
      BigDecimal commission = CommonGoodsUtil.getCommission(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      BigDecimal maxCommission = CommonGoodsUtil.getCommission(goods, params.getVipFanLiRate());
      if (params.getMaxRewardRate() != null)
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      else
         moneyInfoVO.setMaxMoney("¥" + maxCommission);
      moneyInfoVO.setShareMoney(CommonGoodsUtil.getCommissionInfo(goods, params.getShareRate()));
      moneyInfoVO.setRateInfo("返利比 " + MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)),
            CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
      moneyInfoVO.setMaxRateInfo("返利比 " + MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)),
            CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
      goodsInfo.setMoneyInfo(moneyInfoVO);
      // 券信息
@@ -206,6 +235,10 @@
         goodsInfo.setShopInfo(shop);
      }
      if (goodsType == Constant.SOURCE_TYPE_VIP) {
         goodsInfo.setShopInfo(null);
      }
      // if (Constant.IS_TEST) {
      // // 添加标签
      // List<ClientTextStyleVO> labels = goodsInfo.getLabels();
@@ -235,7 +268,7 @@
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
      goodsInfo.setGoodsId(goods.getAuctionId());
      goodsInfo.setGoodsId(goods.getAuctionId() + "");
      goodsInfo.setTitle(goods.getTitle());
      goodsInfo.setSalesType(1); // 默认月销量
      goodsInfo.setZkPrice(goods.getZkPrice());
@@ -243,6 +276,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) {
@@ -261,14 +295,20 @@
         TaoBaoHongBaoInfo taoBaoHongBaoInfo = goods.getTaoBaoHongBaoInfo();
         moneyInfoVO.setFanliMoney("¥" + taoBaoHongBaoInfo.getHongbao());
         moneyInfoVO.setShareMoney("¥" + taoBaoHongBaoInfo.getHongbao());
         moneyInfoVO.setMaxMoney("¥" + taoBaoHongBaoInfo.getHongbao()
               .add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate())));
         if (params.getMaxRewardRate() != null)
            moneyInfoVO.setMaxMoney("¥" + taoBaoHongBaoInfo.getHongbao()
                  .add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate())));
         else
            moneyInfoVO.setMaxMoney("¥" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),false));
      } else {
         BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
         BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(),false);
         moneyInfoVO.setFanliMoney("¥" + commission);
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
         moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
         if (params.getMaxRewardRate() != null)
            moneyInfoVO.setMaxMoney(
                  "¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
         else
            moneyInfoVO.setMaxMoney("¥" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),false));
         moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate(),true));
      }
      goodsInfo.setMoneyInfo(moneyInfoVO);
@@ -288,6 +328,7 @@
         coupon.setStartTime(sdf.format(new Date(Long.parseLong(couponEffectiveStartTime))));
         coupon.setLink(taoBaoQuanInfo.getCouponLink());
         coupon.setStartFee(taoBaoQuanInfo.getCouponStartFee());
         coupon.setShopCoupon(goods.isShopCoupon());
         goodsInfo.setHasCoupon(true);
         goodsInfo.setCouponInfo(coupon);
      }
@@ -340,10 +381,11 @@
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
      goodsInfo.setGoodsId(goods.getAuctionId());
      goodsInfo.setGoodsId(goods.getAuctionId() + "");
      goodsInfo.setTitle(goods.getTitle());
      goodsInfo.setSalesType(1); // 默认月销量
      goodsInfo.setZkPrice(goods.getZkPrice());
      goodsInfo.setDescription(goods.getDescription());
      String provcity = goods.getProvcity();
      if (!StringUtil.isNullOrEmpty(provcity)) {
@@ -389,10 +431,37 @@
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate());
      BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(),false);
      BigDecimal baseCommisstion = null;
      if (params.getBaseFanliRate() != null)
         baseCommisstion = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getBaseFanliRate(),false);
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate()));
      if (params.getMaxRewardRate() != null)
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      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(),false);
         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);
         }
      }
      moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate(),true));
      goodsInfo.setMoneyInfo(moneyInfoVO);
      // 券信息
@@ -418,9 +487,13 @@
            coupon.setStartTime(goods.getCouponEffectiveStartTime().replace("-", "."));
         }
         coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
         if (!StringUtil.isNullOrEmpty(goods.getCouponLink()))
            coupon.setLink(goods.getCouponLink());
         else
            coupon.setLink(
                  TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
         coupon.setStartFee(goods.getCouponStartFee());
         coupon.setShopCoupon(goods.isShopCoupon());
         goodsInfo.setHasCoupon(true);
         goodsInfo.setCouponInfo(coupon);
      }
@@ -531,7 +604,7 @@
   public static GoodsDetailVO convertJDGoods(JDGoods goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_JD);
      goodsInfo.setGoodsId(goods.getSkuId());
      goodsInfo.setGoodsId(goods.getSkuId() + "");
      goodsInfo.setTitle(goods.getSkuName());
      goodsInfo.setSalesType(1); // 默认月销量
      goodsInfo.setPicUrl(goods.getPicUrl());
@@ -554,7 +627,32 @@
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      BigDecimal commission = JDUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      BigDecimal baseCommisstion = null;
      if (params.getBaseFanliRate() != null)
         baseCommisstion = JDUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
      if (params.getMaxRewardRate() != null)
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      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);
         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);
         }
      }
      moneyInfoVO.setShareMoney("¥" + JDUtil.getGoodsFanLiMoney(goods, params.getShareRate()));
      goodsInfo.setMoneyInfo(moneyInfoVO);
@@ -662,7 +760,7 @@
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_PDD);
      goodsInfo.setGoodsId(goods.getGoodsId());
      goodsInfo.setGoodsId(goods.getGoodsId() + "");
      goodsInfo.setTitle(goods.getGoodsName());
      goodsInfo.setSalesType(4); // 总销量
      goodsInfo.setPriceName("拼团价");
@@ -695,9 +793,7 @@
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      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);
      moneyInfoVO.setShareMoney("¥" + commission);
      Boolean hasCoupon = goods.getHasCoupon();
      if (hasCoupon != null && hasCoupon) {
@@ -738,6 +834,35 @@
         goodsInfo.setCouponInfo(coupon);
      }
      BigDecimal baseCommisstion = null;
      if (params.getBaseFanliRate() != null)
         baseCommisstion = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
      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);
         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.getMallName();
      if (!StringUtil.isMobile(mallName)) {
@@ -764,4 +889,206 @@
      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.getMarketPrice())));
      goodsInfo.setCouponPrice(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.isNullOrEmpty(mallName)) {
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(mallName);
         if (goods.getBrandId() != null) {
            shop.setId(goods.getBrandId().toString());
         }
         shop.setUserType(30);
         goodsInfo.setShopInfo(shop);
      }
      // 折扣信息
      goodsInfo.setDiscount(MoneyBigDecimalUtil
            .getWithNoZera(MoneyBigDecimalUtil.mul(new BigDecimal(goods.getDiscount()), new BigDecimal(10))) + "折");
      goodsInfo.setShopInfo(null);
      return goodsInfo;
   }
   public static GoodsDetailVO convertSuningGoods(SuningGoodsInfo goods, ConfigParamsDTO params) {
      GoodsDetailVO goodsInfo = new GoodsDetailVO();
      goodsInfo.setBaoyou(true);
      goodsInfo.setGoodsType(Constant.SOURCE_TYPE_SUNING);
      goodsInfo.setGoodsId(SuningUtil.getConcatGoodsIId(goods.getCommodityInfo().getSupplierCode(),
            goods.getCommodityInfo().getCommodityCode()));
      goodsInfo.setTitle(goods.getCommodityInfo().getCommodityName());
      goodsInfo.setSalesType(1); // 月销
      goodsInfo.setPriceName("原价");
      if (goods.getCommodityInfo().getPictureUrl().size() > 0)
         goodsInfo.setPicUrl(goods.getCommodityInfo().getPictureUrl().get(0).getPicUrl()); // 缩略图
      String commodityPrice = goods.getCommodityInfo().getCommodityPrice();
      if (StringUtil.isNullOrEmpty(commodityPrice)) {
         commodityPrice = goods.getCommodityInfo().getSnPrice();
      }
      goodsInfo.setZkPrice(MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice)));
      goodsInfo.setShopType(CommonGoods.SHOP_TYPE_SUNING);
      List<String> imgList = new ArrayList<>();
      for (SuningGoodsImg img : goods.getCommodityInfo().getPictureUrl()) {
         imgList.add(img.getPicUrl());
      }
      goodsInfo.setImgList(imgList);
      goodsInfo.setState(0);
      String salesCountMidea = "";
      Integer count = Integer.parseInt(goods.getCommodityInfo().getMonthSales());
      if (count < 10000) {
         salesCountMidea = count + "";
      } else {
         double sales = count;
         salesCountMidea = String.format("%.1f", sales / 10000);
         salesCountMidea = salesCountMidea + "万";
      }
      goodsInfo.setSalesCount(salesCountMidea);
      // 券信息
      if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {// 有券
         CouponInfoVO coupon = new CouponInfoVO();
         coupon.setAmount(new BigDecimal(goods.getCouponInfo().getCouponValue()));
         coupon.setStartFee(new BigDecimal(goods.getCouponInfo().getBounsLimit()));
         if (goods.getCouponInfo().getCouponStartTime() != null) {
            coupon.setStartTime(goods.getCouponInfo().getCouponStartTime());
         }
         if (goods.getCouponInfo().getCouponEndTime() != null) {
            coupon.setEndTime(goods.getCouponInfo().getCouponEndTime());
         }
         if (goods.getCouponInfo().getCouponCount() != null)
            coupon.setTotalCount(Integer.parseInt(goods.getCouponInfo().getCouponCount()));
         if (goods.getCouponInfo().getCouponCount() != null)
            coupon.setLeftCount(Integer.parseInt(goods.getCouponInfo().getCouponCount()));
         goodsInfo.setHasCoupon(true);
         goodsInfo.setCouponInfo(coupon);
         if (goodsInfo.getZkPrice().compareTo(coupon.getStartFee()) >= 0) {
            goodsInfo.setCouponPrice(goodsInfo.getZkPrice().subtract(coupon.getAmount()));
         }else{
            goodsInfo.setCouponPrice(goodsInfo.getZkPrice());
         }
      } else {
         goodsInfo.setHasCoupon(false);
      }
      // 资金信息
      MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
      moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
      BigDecimal commission = SuningUtil.getGoodsFanLiMoney(goods, params.getFanLiRate());
      moneyInfoVO.setFanliMoney("¥" + commission);
      moneyInfoVO.setShareMoney("¥" + commission);
      BigDecimal baseCommisstion = null;
      if (params.getBaseFanliRate() != null)
         baseCommisstion = SuningUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate());
      if (params.getMaxRewardRate() != null)
         moneyInfoVO
               .setMaxMoney("¥" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate())));
      else {
         BigDecimal price = new BigDecimal(commodityPrice);
         BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price);
         moneyInfoVO.setRateInfo("返利比 " + rate + "%");
         BigDecimal maxCommission = SuningUtil.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.getCommodityInfo().getSupplierName();
      if (!StringUtil.isMobile(mallName)) {
         ShopInfoVO shop = new ShopInfoVO();
         shop.setShopName(mallName);
         if (goods.getCommodityInfo().getSupplierCode() != null) {
            shop.setId(goods.getCommodityInfo().getSupplierCode());
         }
         shop.setUserType(30);
         goodsInfo.setShopInfo(shop);
      }
      return goodsInfo;
   }
}