From 1ada7e4868d4821980f674017adbffd67c14402a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 29 六月 2020 11:31:51 +0800
Subject: [PATCH] 智能推荐跳转
---
fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java | 195 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 183 insertions(+), 12 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 05fb1c2..3588346 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,15 +2,22 @@
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.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;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.jd.JDUtil;
public class CommonGoodsFactory {
@@ -50,10 +57,25 @@
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;
}
-
/**
* 娣樺疂鍟嗗搧鏋勯��
*
@@ -65,7 +87,7 @@
return null;
CommonGoods cg = new CommonGoods();
- JDCouponInfo couponInfo = goods.getCouponInfo();
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods);
if (couponInfo != null) {
cg.setCouponStartPrice(couponInfo.getQuota());
BigDecimal discount = couponInfo.getDiscount();
@@ -78,44 +100,65 @@
} 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.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;
@@ -147,8 +190,26 @@
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());
@@ -160,6 +221,116 @@
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;
+ }
+
+ public static CommonGoods create(VIPGoodsInfo goods) {
+ if (goods == null)
+ return null;
+
+ CommonGoods cg = new CommonGoods();
+
+ // 鎶樻墸淇℃伅
+ cg.setCouponInfo(new BigDecimal(goods.getDiscount()) + "");
+ cg.setCouponLeftCount(0);
+ cg.setCouponStartPrice(new BigDecimal(0));
+ cg.setCouponAmount(new BigDecimal(0));
+
+ cg.setCouponTotalCount(0);
+ cg.setGoodsId(Long.parseLong(goods.getGoodsId()));
+ cg.setGoodsType(CommonGoods.GOODS_TYPE_VIP);
+ cg.setPicture(goods.getGoodsThumbUrl());
+ cg.setPictureWhite(null);
+ cg.setPrice(new BigDecimal(goods.getMarketPrice()));
+
+ int totalSales = 0;
+ cg.setSales(totalSales);
+ cg.setRate(new BigDecimal(goods.getCommissionRate()));
+ cg.setSellerId(goods.getBrandId());
+ cg.setSellerName(goods.getBrandName());
+ cg.setShopType(CommonGoods.SHOP_TYPE_VIP);
+ cg.setState(CommonGoods.STATE_NORMAL);
+ cg.setTitle(goods.getGoodsName());
+ // 淇濈暀瀛楁
+ cg.setVideoCover(null);
+ cg.setVideoUrl(null);
+ cg.setState(goods.getStatus() == 1 ? CommonGoods.STATE_NORMAL : CommonGoods.STATE_OFFLINE);
+ cg.setMaterialLibType(1);
+
+ // 鍒嗙被淇℃伅
+ CategoryInfoDTO categoryInfo = new CategoryInfoDTO();
+ categoryInfo.setCid1(goods.getCategoryId());
+ categoryInfo.setCid1Name(goods.getCategoryName());
+ cg.setCategoryInfo(JSONObject.toJSON(categoryInfo).toString());
+ //瀛樻斁鎶樻墸浠�
+ cg.setCouponStartPrice(new BigDecimal(goods.getVipPrice()));
+ cg.setCouponInfo(MoneyBigDecimalUtil.getWithNoZera(MoneyBigDecimalUtil.mul(new BigDecimal(goods.getDiscount()), new BigDecimal(10))) + "鎶�");
+ return cg;
+ }
+
+ public static CommonGoods create(SuningGoodsInfo goods) {
+ if (goods == null)
+ return null;
+
+ CommonGoods cg = new CommonGoods();
+
+ if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {// 鏈夊埜
+ cg.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", goods.getCouponInfo().getBounsLimit(),
+ goods.getCouponInfo().getCouponValue()));
+ cg.setCouponAmount(new BigDecimal(goods.getCouponInfo().getCouponValue()));
+
+ if (goods.getCouponInfo().getCouponCount() == null) {
+ cg.setCouponLeftCount(500000);
+ cg.setCouponTotalCount(500000);
+ } else {
+ cg.setCouponLeftCount(Integer.parseInt(goods.getCouponInfo().getCouponCount()));
+ cg.setCouponTotalCount(Integer.parseInt(goods.getCouponInfo().getCouponCount()));
+ }
+
+ cg.setCouponStartPrice(new BigDecimal(goods.getCouponInfo().getBounsLimit()));
+ } else {
+ cg.setCouponLeftCount(0);
+ cg.setCouponTotalCount(0);
+ cg.setCouponAmount(new BigDecimal(0));
+ }
+
+ cg.setGoodsId(Long.parseLong(goods.getCommodityInfo().getCommodityCode()));
+ cg.setGoodsType(CommonGoods.GOODS_TYPE_SUNING);
+ if (goods.getCommodityInfo().getPictureUrl() != null && goods.getCommodityInfo().getPictureUrl().size() > 0)
+ cg.setPicture(goods.getCommodityInfo().getPictureUrl().get(0).getPicUrl());
+ cg.setPictureWhite(null);
+ cg.setPrice(new BigDecimal(goods.getCommodityInfo().getSnPrice()));
+
+ cg.setSales(Integer.parseInt(goods.getCommodityInfo().getMonthSales()));
+ cg.setRate(new BigDecimal(goods.getCommodityInfo().getRate()));
+ cg.setSellerId(Long.parseLong(goods.getCommodityInfo().getSupplierCode()));
+ cg.setSellerName(goods.getCommodityInfo().getSupplierName());
+ cg.setShopType(CommonGoods.SHOP_TYPE_SUNING);
+ cg.setState(CommonGoods.STATE_NORMAL);
+ cg.setTitle(goods.getCommodityInfo().getCommodityName());
+ // 淇濈暀瀛楁
+ cg.setVideoCover(null);
+ cg.setVideoUrl(null);
+ cg.setState(0);
+ cg.setMaterialLibType(1);
+
+ // 鍒嗙被淇℃伅
+ CategoryInfoDTO categoryInfo = new CategoryInfoDTO();
+ categoryInfo.setCid1(Long.parseLong(goods.getCategoryInfo().getFirstSaleCategoryId()));
+ categoryInfo.setCid1Name(goods.getCategoryInfo().getFirstSaleCategoryName());
+
+ categoryInfo.setCid2(Long.parseLong(goods.getCategoryInfo().getSecondSaleCategoryId()));
+ categoryInfo.setCid2Name(goods.getCategoryInfo().getSecondSaleCategoryName());
+
+ cg.setCategoryInfo(JSONObject.toJSON(categoryInfo).toString());
+
return cg;
}
--
Gitblit v1.8.0