From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java | 190 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 190 insertions(+), 0 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 eb3ce8b..9c01dc5 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 @@ -1,7 +1,21 @@ package com.yeshi.fanli.util.factory; +import java.math.BigDecimal; + +import com.alibaba.fastjson.JSONObject; +import com.yeshi.fanli.dto.common.CategoryInfoDTO; +import com.yeshi.fanli.dto.common.GoodsOtherInfoDTO; +import com.yeshi.fanli.dto.jd.JDCategoryInfo; +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; +import com.yeshi.fanli.util.jd.JDUtil; public class CommonGoodsFactory { @@ -41,6 +55,182 @@ cg.setVideoUrl(null); cg.setState(goods.getState()); cg.setMaterialLibType(goods.getMaterialLibType()); + + + // 鍒嗙被淇℃伅 + CategoryInfoDTO categoryInfo = new CategoryInfoDTO(); + Integer rootCatId = goods.getRootCatId(); + if (rootCatId != null) { + categoryInfo.setCid1(Long.parseLong(rootCatId.toString())); + } + categoryInfo.setCid1Name(goods.getRootCategoryName()); + + Integer leafCatId = goods.getLeafCatId(); + if (leafCatId != null) { + categoryInfo.setCid2(Long.parseLong(leafCatId.toString())); + } + categoryInfo.setCid2Name(goods.getLeafName()); + cg.setCategoryInfo(JSONObject.toJSON(categoryInfo).toString()); + + return cg; + } + + + /** + * 娣樺疂鍟嗗搧鏋勯�� + * + * @param goods + * @return + */ + public static CommonGoods create(JDGoods goods) { + if (goods == null) + return null; + + CommonGoods cg = new CommonGoods(); + JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods); + 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)); + } + cg.setCouponLeftCount(1); + cg.setCouponTotalCount(1); + } + + 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()); + + + // 鍒嗙被淇℃伅 + JDCategoryInfo categoryJD = goods.getCategoryInfo(); + if (categoryJD != null) { + CategoryInfoDTO categoryInfo = new CategoryInfoDTO(); + categoryInfo.setCid1(categoryJD.getCid1()); + categoryInfo.setCid1Name(categoryJD.getCid1Name()); + categoryInfo.setCid2(categoryJD.getCid2()); + categoryInfo.setCid2Name(categoryJD.getCid2Name()); + categoryInfo.setCid3(categoryJD.getCid3()); + categoryInfo.setCid3Name(categoryJD.getCid3Name()); + cg.setCategoryInfo(JSONObject.toJSON(categoryInfo).toString()); + } + + // 淇濈暀瀛楁 + cg.setVideoCover(null); + cg.setVideoUrl(null); + return cg; + } + + + public static CommonGoods create(PDDGoodsDetail goods) { + if (goods == null) + return null; + + CommonGoods cg = new CommonGoods(); + + if (goods.getCouponRemainQuantity() != null) + cg.setCouponLeftCount(Integer.parseInt(goods.getCouponRemainQuantity() + "")); + else + cg.setCouponLeftCount(0); + if (goods.getCouponMinOrderAmount() != null) + cg.setCouponStartPrice( + MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponMinOrderAmount()), new BigDecimal(100))); + else + cg.setCouponStartPrice(new BigDecimal(0)); + + if (goods.getCouponDiscount() != null && goods.getCouponDiscount() > 0) { + cg.setCouponAmount(MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), new BigDecimal(100))); + if (cg.getCouponStartPrice().compareTo(new BigDecimal(0)) > 0) + cg.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", cg.getCouponStartPrice() + "", cg.getCouponAmount() + "")); + else + cg.setCouponInfo(String.format("%s鍏冩棤鏉′欢鍒�", cg.getCouponAmount() + "")); + } else { + cg.setCouponAmount(new BigDecimal(0)); + } + + cg.setCouponTotalCount(Integer.parseInt(goods.getCouponTotalQuantity() + "")); + cg.setGoodsId(goods.getGoodsId()); + cg.setGoodsType(CommonGoods.GOODS_TYPE_PDD); + cg.setPicture(goods.getGoodsThumbnailUrl()); + cg.setPictureWhite(null); + 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(CommonGoods.SHOP_TYPE_PDD); + cg.setState(CommonGoods.STATE_NORMAL); + cg.setTitle(goods.getGoodsName()); + // 淇濈暀瀛楁 + cg.setVideoCover(null); + cg.setVideoUrl(null); + cg.setState(goods.getState()); + cg.setMaterialLibType(1); + + // 鍒嗙被淇℃伅 + CategoryInfoDTO categoryInfo = new CategoryInfoDTO(); + categoryInfo.setCid1(goods.getCategoryId()); + categoryInfo.setCid1Name(goods.getCategoryName()); + cg.setCategoryInfo(JSONObject.toJSON(categoryInfo).toString()); + + return cg; } -- Gitblit v1.8.0