From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java | 530 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 457 insertions(+), 73 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java index 424397e..edfd68d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java @@ -5,7 +5,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.yeshi.utils.taobao.TbImgUtil; @@ -15,6 +17,9 @@ import com.yeshi.fanli.dto.jd.JDPingouInfo; import com.yeshi.fanli.dto.jd.JDShopInfo; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.suning.SuningGoodsImg; +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; @@ -25,10 +30,13 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; +import com.yeshi.fanli.util.suning.SuningUtil; import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.vipshop.VipShopUtil; import com.yeshi.fanli.vo.goods.CouponInfoVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; import com.yeshi.fanli.vo.goods.MoneyInfoVO; @@ -57,7 +65,7 @@ */ public static GoodsDetailVO convertCommonGoods(CommonGoods goods, ConfigParamsDTO params) { GoodsDetailVO goodsInfo = new GoodsDetailVO(); - goodsInfo.setGoodsId(goods.getGoodsId()); + goodsInfo.setGoodsId(goods.getGoodsId() + ""); goodsInfo.setTitle(goods.getTitle()); Integer shopType = goods.getShopType(); @@ -128,9 +136,19 @@ goodsInfo.setSalesType(4); // 鎬婚攢閲� goodsInfo.setPriceName("鎷煎洟浠�"); goodsInfo.setBaoyou(true); + } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { + goodsInfo.setSalesType(1); + goodsInfo.setGoodsId(SuningUtil.getConcatGoodsIId(SuningUtil.getFullSupplierCode(goods.getSellerId() + ""), + goods.getGoodsId() + "")); } else { goodsInfo.setSalesType(1); // 鏈堥攢閲� goodsInfo.setBaoyou(true); + } + + if (goodsType == Constant.SOURCE_TYPE_VIP) { + goodsInfo.setDiscount(goods.getCouponInfo()); + goodsInfo.setPriceName("鎶樺悗浠�"); + goodsInfo.setCouponPrice(goods.getCouponStartPrice()); } goodsInfo.setGoodsType(goodsType); @@ -157,11 +175,25 @@ // 璧勯噾淇℃伅 MoneyInfoVO moneyInfoVO = new MoneyInfoVO(); moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 - + BigDecimal commission = CommonGoodsUtil.getCommission(goods, params.getFanLiRate()); moneyInfoVO.setFanliMoney("楼" + commission); - moneyInfoVO.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + + BigDecimal maxCommission = CommonGoodsUtil.getCommission(goods, params.getVipFanLiRate()); + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else + moneyInfoVO.setMaxMoney("楼" + maxCommission); + moneyInfoVO.setShareMoney(CommonGoodsUtil.getCommissionInfo(goods, params.getShareRate())); + + moneyInfoVO.setRateInfo("杩斿埄姣� " + MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), + CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%"); + + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), + CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%"); + goodsInfo.setMoneyInfo(moneyInfoVO); // 鍒镐俊鎭� @@ -188,10 +220,10 @@ if (!StringUtil.isNullOrEmpty(goods.getSellerName())) { ShopInfoVO shop = new ShopInfoVO(); shop.setShopName(goods.getSellerName()); - - if( goods.getSellerId() != null) + + if (goods.getSellerId() != null) shop.setId(goods.getSellerId().toString()); - + if (shopType == null || shopType == 0) { shop.setUserType(10); } else if (shopType == 1) { @@ -199,22 +231,26 @@ } else { shop.setUserType(goods.getShopType()); } - + goodsInfo.setShopInfo(shop); } - -// if (Constant.IS_TEST) { -// // 娣诲姞鏍囩 -// List<ClientTextStyleVO> labels = goodsInfo.getLabels(); -// if (labels == null) -// labels = new ArrayList<>(); -// -// labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); -// goodsInfo.setLabels(labels); -// } - + + if (goodsType == Constant.SOURCE_TYPE_VIP) { + goodsInfo.setShopInfo(null); + } + + // if (Constant.IS_TEST) { + // // 娣诲姞鏍囩 + // List<ClientTextStyleVO> labels = goodsInfo.getLabels(); + // if (labels == null) + // labels = new ArrayList<>(); + // + // labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); + // goodsInfo.setLabels(labels); + // } + return goodsInfo; } @@ -232,7 +268,7 @@ GoodsDetailVO goodsInfo = new GoodsDetailVO(); goodsInfo.setBaoyou(true); goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); - goodsInfo.setGoodsId(goods.getAuctionId()); + goodsInfo.setGoodsId(goods.getAuctionId() + ""); goodsInfo.setTitle(goods.getTitle()); goodsInfo.setSalesType(1); // 榛樿鏈堥攢閲� goodsInfo.setZkPrice(goods.getZkPrice()); @@ -240,6 +276,7 @@ goodsInfo.setState(goods.getState() == null ? 0 : goods.getState()); goodsInfo.setSalesCount(goods.getSalesCount()); goodsInfo.setPicUrl(goods.getPictUrl()); + goodsInfo.setDescription(goods.getDescription()); Integer shopType = goods.getUserType(); if (shopType != null && shopType == 1) { @@ -258,12 +295,20 @@ TaoBaoHongBaoInfo taoBaoHongBaoInfo = goods.getTaoBaoHongBaoInfo(); moneyInfoVO.setFanliMoney("楼" + taoBaoHongBaoInfo.getHongbao()); moneyInfoVO.setShareMoney("楼" + taoBaoHongBaoInfo.getHongbao()); - moneyInfoVO.setMaxMoney("楼" + taoBaoHongBaoInfo.getHongbao().add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate()))); + if (params.getMaxRewardRate() != null) + moneyInfoVO.setMaxMoney("楼" + taoBaoHongBaoInfo.getHongbao() + .add(MoneyBigDecimalUtil.mul(taoBaoHongBaoInfo.getHongbao(), params.getMaxRewardRate()))); + else + moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),false)); } else { - BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate()); + BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(),false); moneyInfoVO.setFanliMoney("楼" + commission); - moneyInfoVO.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); - moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate())); + if (params.getMaxRewardRate() != null) + moneyInfoVO.setMaxMoney( + "楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else + moneyInfoVO.setMaxMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),false)); + moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate(),true)); } goodsInfo.setMoneyInfo(moneyInfoVO); @@ -283,21 +328,22 @@ coupon.setStartTime(sdf.format(new Date(Long.parseLong(couponEffectiveStartTime)))); coupon.setLink(taoBaoQuanInfo.getCouponLink()); coupon.setStartFee(taoBaoQuanInfo.getCouponStartFee()); + coupon.setShopCoupon(goods.isShopCoupon()); goodsInfo.setHasCoupon(true); goodsInfo.setCouponInfo(coupon); } // 搴楅摵淇℃伅 String shopTitle = goods.getShopTitle(); - + if (!StringUtil.isNullOrEmpty(shopTitle)) { ShopInfoVO shop = new ShopInfoVO(); shop.setShopName(shopTitle); - + Long sellerId = goods.getSellerId(); - if(sellerId != null) + if (sellerId != null) shop.setId(goods.getSellerId().toString()); - + if (shopType != null && shopType == 1) { shop.setUserType(11); } else { @@ -306,18 +352,18 @@ goodsInfo.setShopInfo(shop); } -// if (Constant.IS_TEST) { -// // 娣诲姞鏍囩 -// List<ClientTextStyleVO> labels = goodsInfo.getLabels(); -// if (labels == null) -// labels = new ArrayList<>(); -// -// labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); -// goodsInfo.setLabels(labels); -// } - + // if (Constant.IS_TEST) { + // // 娣诲姞鏍囩 + // List<ClientTextStyleVO> labels = goodsInfo.getLabels(); + // if (labels == null) + // labels = new ArrayList<>(); + // + // labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); + // goodsInfo.setLabels(labels); + // } + return goodsInfo; } @@ -335,10 +381,11 @@ GoodsDetailVO goodsInfo = new GoodsDetailVO(); goodsInfo.setBaoyou(true); goodsInfo.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); - goodsInfo.setGoodsId(goods.getAuctionId()); + goodsInfo.setGoodsId(goods.getAuctionId() + ""); goodsInfo.setTitle(goods.getTitle()); goodsInfo.setSalesType(1); // 榛樿鏈堥攢閲� goodsInfo.setZkPrice(goods.getZkPrice()); + goodsInfo.setDescription(goods.getDescription()); String provcity = goods.getProvcity(); if (!StringUtil.isNullOrEmpty(provcity)) { @@ -384,10 +431,37 @@ // 璧勯噾淇℃伅 MoneyInfoVO moneyInfoVO = new MoneyInfoVO(); moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 - BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate()); + + BigDecimal commission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(),false); + BigDecimal baseCommisstion = null; + if (params.getBaseFanliRate() != null) + baseCommisstion = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getBaseFanliRate(),false); moneyInfoVO.setFanliMoney("楼" + commission); - moneyInfoVO.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); - moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate())); + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else {// 鍙湁鏈塚IP鍚庣殑鐗堟湰鎵嶄細鏄剧ず杩斿埄姣� + + BigDecimal price = TaoBaoUtil.getAfterUseCouplePrice(goods); + BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%"); + + BigDecimal maxCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),false); + BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%"); + moneyInfoVO.setMaxMoney("楼" + maxCommission); + if (baseCommisstion != null) { + String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + commission.subtract(baseCommisstion).setScale(2).toString()); + String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + maxCommission.subtract(baseCommisstion).setScale(2).toString()); + moneyInfoVO.setCompositionInfo(desc); + moneyInfoVO.setMaxCompositionInfo(maxDesc); + } + } + + moneyInfoVO.setShareMoney(TaoBaoUtil.getGoodsHongBaoInfo(goods, params.getShareRate(),true)); + goodsInfo.setMoneyInfo(moneyInfoVO); // 鍒镐俊鎭� @@ -413,9 +487,13 @@ coupon.setStartTime(goods.getCouponEffectiveStartTime().replace("-", ".")); } - coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + "")); + if (!StringUtil.isNullOrEmpty(goods.getCouponLink())) + coupon.setLink(goods.getCouponLink()); + else + coupon.setLink( + TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + "")); coupon.setStartFee(goods.getCouponStartFee()); - + coupon.setShopCoupon(goods.isShopCoupon()); goodsInfo.setHasCoupon(true); goodsInfo.setCouponInfo(coupon); } @@ -424,16 +502,16 @@ if (!StringUtil.isNullOrEmpty(goods.getShopTitle())) { ShopInfoVO shop = new ShopInfoVO(); shop.setShopName(goods.getShopTitle()); - + if (goods.getSellerId() != null) shop.setId(goods.getSellerId().toString()); - + if (shopType != null && shopType == 1) { shop.setUserType(11); } else { shop.setUserType(10); } - + goodsInfo.setShopInfo(shop); } @@ -444,15 +522,15 @@ if (Constant.IS_TEST) { // 娣诲姞鏍囩 List<ClientTextStyleVO> labels = goodsInfo.getLabels(); - if (labels == null) + if (labels == null) labels = new ArrayList<>(); - + labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); goodsInfo.setLabels(labels); } - + return goodsInfo; } @@ -468,6 +546,51 @@ return goodsInfo; } + private static CouponInfoVO convertJDCouponInfo(JDCouponInfo couponInfo) { + CouponInfoVO coupon = new CouponInfoVO(); + coupon.setAmount(couponInfo.getDiscount()); + coupon.setLink(couponInfo.getLink()); + coupon.setStartFee(couponInfo.getQuota()); + + if (couponInfo.getGetStartTime() != null) { + coupon.setStartTime(TimeUtil.getGernalTime(couponInfo.getGetStartTime(), "yyyy.MM.dd")); + } + + if (couponInfo.getGetEndTime() != null) { + coupon.setEndTime(TimeUtil.getGernalTime(couponInfo.getGetEndTime(), "yyyy.MM.dd")); + } + + return coupon; + } + + private static List<CouponInfoVO> filterCouponInfo(List<CouponInfoVO> couponList) { + if (couponList == null) + return null; + long currentTime = System.currentTimeMillis(); + Set<String> sets = new HashSet<>(); + // 杩囨护鎺夎繃鏈熷埜 + for (int i = 0; i < couponList.size(); i++) { + if (couponList.get(i).getStartTime() != null && couponList.get(i).getEndTime() != null) { + long startTime = TimeUtil.convertToTimeTemp(couponList.get(i).getStartTime(), "yyyy.MM.dd"); + long endTime = TimeUtil.convertToTimeTemp(couponList.get(i).getEndTime(), "yyyy.MM.dd") + + 1000 * 60 * 60 * 24L; + if (currentTime < startTime || currentTime >= endTime) { + couponList.remove(i--); + continue; + } + } + // 杩囨护鎺夐潰鍊肩浉鍚屼笌璧峰閲戦鐩稿悓鐨� + String key = couponList.get(i).getStartFee() + "-" + couponList.get(i).getAmount(); + if (!sets.contains(key)) + sets.add(key); + else { + couponList.remove(i--); + continue; + } + } + return couponList; + } + /** * 娣樺疂鍟嗗搧缁勭粐 * @@ -481,7 +604,7 @@ public static GoodsDetailVO convertJDGoods(JDGoods goods, ConfigParamsDTO params) { GoodsDetailVO goodsInfo = new GoodsDetailVO(); goodsInfo.setGoodsType(Constant.SOURCE_TYPE_JD); - goodsInfo.setGoodsId(goods.getSkuId()); + goodsInfo.setGoodsId(goods.getSkuId() + ""); goodsInfo.setTitle(goods.getSkuName()); goodsInfo.setSalesType(1); // 榛樿鏈堥攢閲� goodsInfo.setPicUrl(goods.getPicUrl()); @@ -504,11 +627,36 @@ moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 BigDecimal commission = JDUtil.getGoodsFanLiMoney(goods, params.getFanLiRate()); moneyInfoVO.setFanliMoney("楼" + commission); - moneyInfoVO.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + BigDecimal baseCommisstion = null; + if (params.getBaseFanliRate() != null) + baseCommisstion = JDUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate()); + + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else { + BigDecimal price = JDUtil.getQuanPrice(goods); + BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%"); + + BigDecimal maxCommission = JDUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()); + BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%"); + moneyInfoVO.setMaxMoney("楼" + maxCommission); + + if (baseCommisstion != null) { + String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + commission.subtract(baseCommisstion).setScale(2).toString()); + String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + maxCommission.subtract(baseCommisstion).setScale(2).toString()); + moneyInfoVO.setCompositionInfo(desc); + moneyInfoVO.setMaxCompositionInfo(maxDesc); + } + } moneyInfoVO.setShareMoney("楼" + JDUtil.getGoodsFanLiMoney(goods, params.getShareRate())); goodsInfo.setMoneyInfo(moneyInfoVO); - JDCouponInfo couponInfo = goods.getCouponInfo(); + JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods); if (couponInfo != null) { BigDecimal discount = couponInfo.getDiscount(); // 璁$畻鍒稿悗浠� @@ -530,6 +678,14 @@ goodsInfo.setHasCoupon(true); goodsInfo.setCouponInfo(coupon); + } + + if (goods.getCouponInfoList() != null && goods.getCouponInfoList().size() > 0) { + List<CouponInfoVO> couponList = new ArrayList<>(); + for (JDCouponInfo jdCoupon : goods.getCouponInfoList()) { + couponList.add(convertJDCouponInfo(jdCoupon)); + } + goodsInfo.setCouponInfoList(filterCouponInfo(couponList)); } List<ClientTextStyleVO> labels = goodsInfo.getLabels(); @@ -572,7 +728,7 @@ ShopInfoVO shop = new ShopInfoVO(); shop.setShopName(shopInfo.getShopName()); shop.setId(shopInfo.getShopId().toString()); - + if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) { shop.setUserType(20); } else { @@ -586,7 +742,7 @@ if (isFreeShipping != null && isFreeShipping == 1) { goodsInfo.setBaoyou(true); } - + return goodsInfo; } @@ -604,7 +760,7 @@ GoodsDetailVO goodsInfo = new GoodsDetailVO(); goodsInfo.setBaoyou(true); goodsInfo.setGoodsType(Constant.SOURCE_TYPE_PDD); - goodsInfo.setGoodsId(goods.getGoodsId()); + goodsInfo.setGoodsId(goods.getGoodsId() + ""); goodsInfo.setTitle(goods.getGoodsName()); goodsInfo.setSalesType(4); // 鎬婚攢閲� goodsInfo.setPriceName("鎷煎洟浠�"); @@ -637,9 +793,7 @@ moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 BigDecimal commission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getFanLiRate()); moneyInfoVO.setFanliMoney("楼" + commission); - moneyInfoVO.setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); - moneyInfoVO.setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getShareRate())); - goodsInfo.setMoneyInfo(moneyInfoVO); + moneyInfoVO.setShareMoney("楼" + commission); Boolean hasCoupon = goods.getHasCoupon(); if (hasCoupon != null && hasCoupon) { @@ -680,6 +834,35 @@ goodsInfo.setCouponInfo(coupon); } + BigDecimal baseCommisstion = null; + if (params.getBaseFanliRate() != null) + baseCommisstion = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate()); + + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else { + BigDecimal price = goodsInfo.getCouponPrice() != null ? goodsInfo.getCouponPrice() : goodsInfo.getZkPrice(); + BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%"); + + BigDecimal maxCommission = PinDuoDuoUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()); + BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%"); + + moneyInfoVO.setMaxMoney("楼" + maxCommission); + + if (baseCommisstion != null) { + String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + commission.subtract(baseCommisstion).setScale(2).toString()); + String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + maxCommission.subtract(baseCommisstion).setScale(2).toString()); + moneyInfoVO.setCompositionInfo(desc); + moneyInfoVO.setMaxCompositionInfo(maxDesc); + } + } + goodsInfo.setMoneyInfo(moneyInfoVO); + // 搴楅摵淇℃伅 String mallName = goods.getMallName(); if (!StringUtil.isMobile(mallName)) { @@ -692,18 +875,219 @@ goodsInfo.setShopInfo(shop); } + // if (Constant.IS_TEST) { + // // 娣诲姞鏍囩 + // List<ClientTextStyleVO> labels = goodsInfo.getLabels(); + // if (labels == null) + // labels = new ArrayList<>(); + // + // labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); + // labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); + // goodsInfo.setLabels(labels); + // } + return goodsInfo; + } + + public static GoodsDetailVO convertVIPGoods(VIPGoodsInfo goods, ConfigParamsDTO params) { + GoodsDetailVO goodsInfo = new GoodsDetailVO(); + goodsInfo.setBaoyou(true); + goodsInfo.setGoodsType(Constant.SOURCE_TYPE_VIP); + goodsInfo.setGoodsId(Long.parseLong(goods.getGoodsId()) + ""); + goodsInfo.setTitle(goods.getGoodsName()); + goodsInfo.setSalesType(5); // 鏃犻攢閲� + goodsInfo.setPriceName("鍘熶环"); + goodsInfo.setPicUrl(goods.getGoodsThumbUrl()); // 缂╃暐鍥� + goodsInfo.setZkPrice(MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMarketPrice()))); + goodsInfo.setCouponPrice(MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getVipPrice()))); + goodsInfo.setShopType(CommonGoods.SHOP_TYPE_VIP); + + goodsInfo.setImgList(goods.getGoodsDetailPictures()); + + Integer state = goods.getStatus(); + if (state == null) { + goodsInfo.setState(0); + } else { + goodsInfo.setState(goods.getStatus() == 1 ? CommonGoods.STATE_OFFLINE : CommonGoods.STATE_NORMAL); + } + + goodsInfo.setSalesCount(""); + + // 璧勯噾淇℃伅 + MoneyInfoVO moneyInfoVO = new MoneyInfoVO(); + moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 + BigDecimal commission = VipShopUtil.getGoodsFanLiMoney(goods, params.getFanLiRate()); + moneyInfoVO.setFanliMoney("楼" + commission); + moneyInfoVO.setShareMoney("楼" + commission); + + BigDecimal baseCommisstion = null; + if (params.getBaseFanliRate() != null) + baseCommisstion = VipShopUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate()); + + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else { + BigDecimal price = new BigDecimal(goods.getVipPrice()); + BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%"); + + BigDecimal maxCommission = VipShopUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()); + BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%"); + + moneyInfoVO.setMaxMoney("楼" + maxCommission); + + if (baseCommisstion != null) { + String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + commission.subtract(baseCommisstion).setScale(2).toString()); + String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + maxCommission.subtract(baseCommisstion).setScale(2).toString()); + moneyInfoVO.setCompositionInfo(desc); + moneyInfoVO.setMaxCompositionInfo(maxDesc); + } + } + goodsInfo.setMoneyInfo(moneyInfoVO); + + // 搴楅摵淇℃伅 + String mallName = goods.getBrandName(); + if (!StringUtil.isNullOrEmpty(mallName)) { + ShopInfoVO shop = new ShopInfoVO(); + shop.setShopName(mallName); + if (goods.getBrandId() != null) { + shop.setId(goods.getBrandId().toString()); + } + shop.setUserType(30); + goodsInfo.setShopInfo(shop); + } + + // 鎶樻墸淇℃伅 + goodsInfo.setDiscount(MoneyBigDecimalUtil + .getWithNoZera(MoneyBigDecimalUtil.mul(new BigDecimal(goods.getDiscount()), new BigDecimal(10))) + "鎶�"); + goodsInfo.setShopInfo(null); + return goodsInfo; + } + + public static GoodsDetailVO convertSuningGoods(SuningGoodsInfo goods, ConfigParamsDTO params) { + GoodsDetailVO goodsInfo = new GoodsDetailVO(); + goodsInfo.setBaoyou(true); + goodsInfo.setGoodsType(Constant.SOURCE_TYPE_SUNING); + goodsInfo.setGoodsId(SuningUtil.getConcatGoodsIId(goods.getCommodityInfo().getSupplierCode(), + goods.getCommodityInfo().getCommodityCode())); + goodsInfo.setTitle(goods.getCommodityInfo().getCommodityName()); + goodsInfo.setSalesType(1); // 鏈堥攢 + goodsInfo.setPriceName("鍘熶环"); + if (goods.getCommodityInfo().getPictureUrl().size() > 0) + goodsInfo.setPicUrl(goods.getCommodityInfo().getPictureUrl().get(0).getPicUrl()); // 缂╃暐鍥� + -// if (Constant.IS_TEST) { -// // 娣诲姞鏍囩 -// List<ClientTextStyleVO> labels = goodsInfo.getLabels(); -// if (labels == null) -// labels = new ArrayList<>(); -// -// labels.add(new ClientTextStyleVO("棰勫敭", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("鐖嗘", "#FF2B4E")); -// labels.add(new ClientTextStyleVO("瓒呯骇鍒掔畻", "#FF2B4E")); -// goodsInfo.setLabels(labels); -// } + String commodityPrice = goods.getCommodityInfo().getCommodityPrice(); + if (StringUtil.isNullOrEmpty(commodityPrice)) { + commodityPrice = goods.getCommodityInfo().getSnPrice(); + } + goodsInfo.setZkPrice(MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice))); + goodsInfo.setShopType(CommonGoods.SHOP_TYPE_SUNING); + + List<String> imgList = new ArrayList<>(); + for (SuningGoodsImg img : goods.getCommodityInfo().getPictureUrl()) { + imgList.add(img.getPicUrl()); + } + + goodsInfo.setImgList(imgList); + goodsInfo.setState(0); + + String salesCountMidea = ""; + Integer count = Integer.parseInt(goods.getCommodityInfo().getMonthSales()); + if (count < 10000) { + salesCountMidea = count + ""; + } else { + double sales = count; + salesCountMidea = String.format("%.1f", sales / 10000); + salesCountMidea = salesCountMidea + "涓�"; + } + goodsInfo.setSalesCount(salesCountMidea); + + // 鍒镐俊鎭� + if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {// 鏈夊埜 + CouponInfoVO coupon = new CouponInfoVO(); + coupon.setAmount(new BigDecimal(goods.getCouponInfo().getCouponValue())); + coupon.setStartFee(new BigDecimal(goods.getCouponInfo().getBounsLimit())); + + if (goods.getCouponInfo().getCouponStartTime() != null) { + coupon.setStartTime(goods.getCouponInfo().getCouponStartTime()); + } + + if (goods.getCouponInfo().getCouponEndTime() != null) { + coupon.setEndTime(goods.getCouponInfo().getCouponEndTime()); + } + + if (goods.getCouponInfo().getCouponCount() != null) + coupon.setTotalCount(Integer.parseInt(goods.getCouponInfo().getCouponCount())); + + if (goods.getCouponInfo().getCouponCount() != null) + coupon.setLeftCount(Integer.parseInt(goods.getCouponInfo().getCouponCount())); + + goodsInfo.setHasCoupon(true); + goodsInfo.setCouponInfo(coupon); + + if (goodsInfo.getZkPrice().compareTo(coupon.getStartFee()) >= 0) { + goodsInfo.setCouponPrice(goodsInfo.getZkPrice().subtract(coupon.getAmount())); + }else{ + goodsInfo.setCouponPrice(goodsInfo.getZkPrice()); + } + + } else { + goodsInfo.setHasCoupon(false); + } + + // 璧勯噾淇℃伅 + MoneyInfoVO moneyInfoVO = new MoneyInfoVO(); + moneyInfoVO.setMoneyType(1); // 榛樿鏄剧ず锛氳繑 楼6.6 + BigDecimal commission = SuningUtil.getGoodsFanLiMoney(goods, params.getFanLiRate()); + moneyInfoVO.setFanliMoney("楼" + commission); + moneyInfoVO.setShareMoney("楼" + commission); + + BigDecimal baseCommisstion = null; + if (params.getBaseFanliRate() != null) + baseCommisstion = SuningUtil.getGoodsFanLiMoney(goods, params.getBaseFanliRate()); + + if (params.getMaxRewardRate() != null) + moneyInfoVO + .setMaxMoney("楼" + commission.add(MoneyBigDecimalUtil.mul(commission, params.getMaxRewardRate()))); + else { + BigDecimal price = new BigDecimal(commodityPrice); + BigDecimal rate = MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setRateInfo("杩斿埄姣� " + rate + "%"); + + BigDecimal maxCommission = SuningUtil.getGoodsFanLiMoney(goods, params.getVipFanLiRate()); + BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price); + moneyInfoVO.setMaxRateInfo("杩斿埄姣� " + maxRate + "%"); + + moneyInfoVO.setMaxMoney("楼" + maxCommission); + + if (baseCommisstion != null) { + String desc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + commission.subtract(baseCommisstion).setScale(2).toString()); + String maxDesc = String.format("浣i噾楼 %s+骞冲彴琛ヨ创楼 %s", baseCommisstion.setScale(2).toString(), + maxCommission.subtract(baseCommisstion).setScale(2).toString()); + moneyInfoVO.setCompositionInfo(desc); + moneyInfoVO.setMaxCompositionInfo(maxDesc); + } + } + goodsInfo.setMoneyInfo(moneyInfoVO); + + // 搴楅摵淇℃伅 + String mallName = goods.getCommodityInfo().getSupplierName(); + if (!StringUtil.isMobile(mallName)) { + ShopInfoVO shop = new ShopInfoVO(); + shop.setShopName(mallName); + if (goods.getCommodityInfo().getSupplierCode() != null) { + shop.setId(goods.getCommodityInfo().getSupplierCode()); + } + shop.setUserType(30); + goodsInfo.setShopInfo(shop); + } + return goodsInfo; } -- Gitblit v1.8.0