|  |  |  | 
|---|
|  |  |  | //新增商品 | 
|---|
|  |  |  | MallGoods mallGoods = MallGoodsConversion.INSTANCE.dtoToEntity(addMallGoodsDto); | 
|---|
|  |  |  | mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED); | 
|---|
|  |  |  | //根据商品原价获取商品星级 | 
|---|
|  |  |  | String originalPrice = mallGoods.getOriginalPrice(); | 
|---|
|  |  |  | String starRating = StarRatingEnum.NORMAL.belongStarRating(originalPrice); | 
|---|
|  |  |  | //根据商品现价获取商品星级 | 
|---|
|  |  |  | String presentPrice = mallGoods.getPresentPrice(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer minValue = StarRatingEnum.NORMAL.getMinValue(); | 
|---|
|  |  |  | Integer maxValue = StarRatingEnum.NORMAL.getMaxValue(); | 
|---|
|  |  |  | if(new BigDecimal(presentPrice).compareTo(new BigDecimal(minValue)) < 0 | 
|---|
|  |  |  | || new BigDecimal(presentPrice).compareTo(new BigDecimal(maxValue)) > 0){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("商品现价不能小于"+ minValue + "不能大于" + maxValue); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String starRating = StarRatingEnum.NORMAL.belongStarRating(presentPrice); | 
|---|
|  |  |  | mallGoods.setStarRating(starRating); | 
|---|
|  |  |  | //根据商品原价获取商品补贴金额 | 
|---|
|  |  |  | //根据商品现价获取商品补贴金额 | 
|---|
|  |  |  | DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SUBSIDY_PERCENT.getType() | 
|---|
|  |  |  | , DataDictionaryEnum.SUBSIDY_PERCENT.getCode()); | 
|---|
|  |  |  | BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | mallGoods.setSubsidyAmount(subsidyAmount); | 
|---|
|  |  |  | if (mallGoods.getHasCarriage() == 2) { | 
|---|
|  |  |  | mallGoods.setCarriage(BigDecimal.ZERO); | 
|---|
|  |  |  | BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(presentPrice)).setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | //普通商品只获得一般的补贴金额 | 
|---|
|  |  |  | if(StarRatingEnum.NORMAL.getName().equals(starRating)){ | 
|---|
|  |  |  | subsidyAmount = subsidyAmount.multiply(new BigDecimal(0.5)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallGoods.setSubsidyAmount(subsidyAmount); | 
|---|
|  |  |  | //        if (mallGoods.getHasCarriage() == 2) { | 
|---|
|  |  |  | //            mallGoods.setCarriage(BigDecimal.ZERO); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | mallGoodsMapper.insert(mallGoods); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String thumbs = addMallGoodsDto.getThumbs(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods); | 
|---|
|  |  |  | if (mallGoods.getHasCarriage() == 2) { | 
|---|
|  |  |  | mallGoods.setCarriage(BigDecimal.ZERO); | 
|---|
|  |  |  | //        if (mallGoods.getHasCarriage() == 2) { | 
|---|
|  |  |  | //            mallGoods.setCarriage(BigDecimal.ZERO); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //根据商品现价获取商品星级 | 
|---|
|  |  |  | String presentPrice = mallGoods.getPresentPrice(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer minValue = StarRatingEnum.NORMAL.getMinValue(); | 
|---|
|  |  |  | Integer maxValue = StarRatingEnum.NORMAL.getMaxValue(); | 
|---|
|  |  |  | if(new BigDecimal(presentPrice).compareTo(new BigDecimal(minValue)) < 0 | 
|---|
|  |  |  | || new BigDecimal(presentPrice).compareTo(new BigDecimal(maxValue)) > 0){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("商品现价不能小于"+ minValue + "不能大于" + maxValue); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //根据商品原价获取商品星级 | 
|---|
|  |  |  | String originalPrice = mallGoods.getOriginalPrice(); | 
|---|
|  |  |  | String starRating = StarRatingEnum.NORMAL.belongStarRating(originalPrice); | 
|---|
|  |  |  | String starRating = StarRatingEnum.NORMAL.belongStarRating(presentPrice); | 
|---|
|  |  |  | mallGoods.setStarRating(starRating); | 
|---|
|  |  |  | //根据商品原价获取商品补贴金额 | 
|---|
|  |  |  | //根据商品现价获取商品补贴金额 | 
|---|
|  |  |  | DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SUBSIDY_PERCENT.getType() | 
|---|
|  |  |  | , DataDictionaryEnum.SUBSIDY_PERCENT.getCode()); | 
|---|
|  |  |  | BigDecimal subsidyPercent = new BigDecimal(subsidyPercentDic.getValue()).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(presentPrice)).setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | //普通商品只获得一般的补贴金额 | 
|---|
|  |  |  | if(StarRatingEnum.NORMAL.getName().equals(starRating)){ | 
|---|
|  |  |  | subsidyAmount = subsidyAmount.multiply(new BigDecimal(0.5)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallGoods.setSubsidyAmount(subsidyAmount); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mallGoodsMapper.updateById(mallGoods); | 
|---|