| | |
| | | |
| | | 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.*; |
| | |
| | | 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) { |
| | |
| | | //新增商品 |
| | | 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(); |
| | |
| | | } |
| | | |
| | | 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); |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |