package com.yeshi.fanli.util.factory;
|
|
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 {
|
|
/**
|
* 淘宝商品构造
|
*
|
* @param goods
|
* @return
|
*/
|
public static CommonGoods create(TaoBaoGoodsBrief goods) {
|
if (goods == null)
|
return null;
|
|
CommonGoods cg = new CommonGoods();
|
cg.setCouponAmount(goods.getCouponAmount());
|
cg.setCouponInfo(goods.getCouponInfo());
|
cg.setCouponLeftCount(goods.getCouponLeftCount());
|
cg.setCouponStartPrice(goods.getCouponStartFee());
|
cg.setCouponTotalCount(goods.getCouponTotalCount());
|
cg.setGoodsId(goods.getAuctionId());
|
cg.setGoodsType(CommonGoods.GOODS_TYPE_TB);
|
cg.setPicture(goods.getPictUrl());
|
cg.setPictureWhite(goods.getPictUrlWhite());
|
cg.setPrice(goods.getZkPrice());
|
cg.setSales(goods.getBiz30day());
|
cg.setRate(goods.getTkRate());
|
cg.setSellerId(goods.getSellerId());
|
cg.setSellerName(goods.getShopTitle());
|
if (goods.getUserType() == 0)
|
cg.setShopType(CommonGoods.SHOP_TYPE_TB);
|
else
|
cg.setShopType(CommonGoods.SHOP_TYPE_TM);
|
cg.setState(CommonGoods.STATE_NORMAL);
|
cg.setTitle(goods.getTitle());
|
// 保留字段
|
cg.setVideoCover(null);
|
cg.setVideoUrl(null);
|
cg.setState(goods.getState());
|
cg.setMaterialLibType(goods.getMaterialLibType());
|
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()); // 拼购信息
|
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;
|
|
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";
|
}
|
|
if (salesTip.contains("万")) {
|
salesTip = salesTip.replace("万", "") + "0000";
|
}
|
cg.setSales(Integer.parseInt(salesTip));
|
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);
|
return cg;
|
}
|
|
}
|