From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 六月 2020 19:26:26 +0800 Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复 --- fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java | 290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 290 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..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 @@ -1,7 +1,23 @@ 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.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 { @@ -41,6 +57,280 @@ 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; + } + + 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