From 91ec2fe7b1087b18f40bba6ffda07ad601d562ed Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 22 Dec 2022 10:48:15 +0800 Subject: [PATCH] 20221222 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 77 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java index ea09b5f..fde6ad8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java @@ -2,6 +2,8 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; +import cc.mrbird.febs.common.enumerates.StarRatingEnum; import cc.mrbird.febs.mall.conversion.MallGoodsConversion; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; @@ -38,6 +40,7 @@ private final MallGoodsStyleMapper mallGoodsStyleMapper; private final MallGoodsImagesMapper mallGoodsImagesMapper; private final MallShoppingCartMapper mallShoppingCartMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public IPage<AdminMallGoodsVo> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) { @@ -109,10 +112,26 @@ //新增商品 MallGoods mallGoods = MallGoodsConversion.INSTANCE.dtoToEntity(addMallGoodsDto); mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED); + //根据商品现价获取商品星级 + String presentPrice = mallGoods.getPresentPrice(); - if (mallGoods.getHasCarriage() == 2) { - mallGoods.setCarriage(BigDecimal.ZERO); + 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(presentPrice)).setScale(2, BigDecimal.ROUND_DOWN); + mallGoods.setSubsidyAmount(subsidyAmount); +// if (mallGoods.getHasCarriage() == 2) { +// mallGoods.setCarriage(BigDecimal.ZERO); +// } mallGoodsMapper.insert(mallGoods); String thumbs = addMallGoodsDto.getThumbs(); @@ -323,7 +342,7 @@ return new FebsResponse().fail().message("商品规格原价不能小于0"); } BigDecimal presentPrice = addSku.getPresentPrice(); - if (presentPrice.compareTo(BigDecimal.ZERO) <= 0) { + if (presentPrice.compareTo(BigDecimal.ZERO) < 0) { return new FebsResponse().fail().message("商品规格现价不能小于0"); } @@ -341,9 +360,27 @@ } 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 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(presentPrice)).setScale(2, BigDecimal.ROUND_DOWN); + mallGoods.setSubsidyAmount(subsidyAmount); mallGoodsMapper.updateById(mallGoods); @@ -473,5 +510,35 @@ return mallGoodsMapper.getAllGoodsTree(); } + @Override + public FebsResponse goodsHot(Long id) { + MallGoods mallGoods = mallGoodsMapper.selectById(id); + if (ObjectUtil.isEmpty(mallGoods)) { + return new FebsResponse().fail().message("商品不存在,请刷新当前页面"); + } + mallGoods.setIsHot(MallGoods.ISHOT_STATE_YES); + mallGoodsMapper.updateById(mallGoods); + return new FebsResponse().success(); + } + + @Override + public FebsResponse goodsNotHot(Long id) { + MallGoods mallGoods = mallGoodsMapper.selectById(id); + if (ObjectUtil.isEmpty(mallGoods)) { + return new FebsResponse().fail().message("商品不存在,请刷新当前页面"); + } + mallGoods.setIsHot(MallGoods.ISHOT_STATE_NO); + mallGoodsMapper.updateById(mallGoods); + return new FebsResponse().success(); + } + + public static void main(String[] args) { + + //根据商品原价获取商品补贴金额 + BigDecimal subsidyPercent = new BigDecimal("5").multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); + BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal("1")).setScale(2,BigDecimal.ROUND_DOWN); + System.out.println(subsidyAmount); + } + } -- Gitblit v1.9.1