From 148af6b2f57be264c84d0991237fbd7ddea491a4 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 04 十一月 2019 09:55:55 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 98 insertions(+), 3 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java index bcf29cf..ad88ebb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java @@ -2,10 +2,17 @@ import java.math.BigDecimal; +import com.alibaba.fastjson.JSONObject; +import com.yeshi.fanli.dto.common.GoodsOtherInfoDTO; +import com.yeshi.fanli.dto.jd.JDCommissionInfo; +import com.yeshi.fanli.dto.jd.JDCouponInfo; +import com.yeshi.fanli.dto.jd.JDShopInfo; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.goods.CommonGoods; +import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.StringUtil; public class CommonGoodsFactory { @@ -48,6 +55,76 @@ return cg; } + + /** + * 娣樺疂鍟嗗搧鏋勯�� + * + * @param goods + * @return + */ + public static CommonGoods create(JDGoods goods) { + if (goods == null) + return null; + + CommonGoods cg = new CommonGoods(); + JDCouponInfo couponInfo = goods.getCouponInfo(); + if (couponInfo != null) { + cg.setCouponStartPrice(couponInfo.getQuota()); + BigDecimal discount = couponInfo.getDiscount(); + if (discount != null && discount.compareTo(new BigDecimal(0)) > 0) { + cg.setCouponAmount(discount); + if (cg.getCouponStartPrice().compareTo(new BigDecimal(0)) > 0) + cg.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", couponInfo.getQuota() + "", cg.getCouponAmount() + "")); + else + cg.setCouponInfo(String.format("%s鍏冩棤鏉′欢鍒�", cg.getCouponAmount() + "")); + } else { + cg.setCouponAmount(new BigDecimal(0)); + } + } + + JDCommissionInfo commissionInfo = goods.getCommissionInfo(); + if (commissionInfo != null) { + cg.setRate(commissionInfo.getCommissionShare()); + } else { + cg.setRate(new BigDecimal(0)); + } + + JDShopInfo shopInfo = goods.getShopInfo(); + if (shopInfo != null) { + cg.setSellerId(Long.parseLong(shopInfo.getShopId().toString())); + cg.setSellerName(shopInfo.getShopName()== null? "" : shopInfo.getShopName()); + } + + cg.setGoodsId(goods.getSkuId()); + cg.setTitle(goods.getSkuName()); + cg.setGoodsType(CommonGoods.GOODS_TYPE_JD); + cg.setPicture(goods.getPicUrl()); + cg.setPrice(goods.getPrice()); + cg.setSales(Integer.parseInt(goods.getInOrderCount30Days().toString())); + + String owner = goods.getOwner(); + if (StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) { + cg.setShopType(CommonGoods.SHOP_TYPE_JD_SELF); // 浜笢鑷惀 + } else { + cg.setShopType(CommonGoods.SHOP_TYPE_JD); // 浜笢 + } + + cg.setState(CommonGoods.STATE_NORMAL); + + // 鍏朵粬淇℃伅 + GoodsOtherInfoDTO other = new GoodsOtherInfoDTO(); + other.setOwner(owner); // 鏄惁鑷惀 + other.setPinGouInfo( goods.getPinGouInfo()); // 鎷艰喘淇℃伅 + other.setIsFreeShipping(goods.getIsFreeShipping()); // 鏄惁鍖呴偖 + cg.setOtherInfo(JSONObject.toJSON(other).toString()); + + // 淇濈暀瀛楁 + cg.setVideoCover(null); + cg.setVideoUrl(null); + return cg; + } + + public static CommonGoods create(PDDGoodsDetail goods) { if (goods == null) return null; @@ -79,12 +156,30 @@ cg.setGoodsType(CommonGoods.GOODS_TYPE_PDD); cg.setPicture(goods.getGoodsThumbnailUrl()); cg.setPictureWhite(null); - cg.setPrice(MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinNormalPrice()), new BigDecimal(100))); - cg.setSales(Integer.parseInt(goods.getSoldQuantity() + "")); + cg.setPrice(MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), new BigDecimal(100))); + + String salesTip = goods.getSalesTip(); + if (StringUtil.isNullOrEmpty(salesTip)) { + salesTip = "0"; + } else { + int indexOf = salesTip.indexOf("+"); + if (indexOf > 0) { + salesTip = salesTip.substring(0, indexOf); + } + } + + int totalSales = 0; + if (salesTip.contains("涓�")) { + salesTip = salesTip.substring(0, salesTip.indexOf("涓�")); + totalSales= (int) (Float.parseFloat(salesTip) * 10000); + } else { + totalSales = Integer.parseInt(salesTip); + } + cg.setSales(totalSales); cg.setRate(MoneyBigDecimalUtil.div(new BigDecimal(goods.getPromotionRate()), new BigDecimal(10))); cg.setSellerId(goods.getMallId()); cg.setSellerName(goods.getMallName()); - cg.setShopType(goods.getMerchantType()); + cg.setShopType(CommonGoods.SHOP_TYPE_PDD); cg.setState(CommonGoods.STATE_NORMAL); cg.setTitle(goods.getGoodsName()); // 淇濈暀瀛楁 -- Gitblit v1.8.0