From 113f3a5d3b843fba68ce50a3ba3255c66ca1e15f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 17 Jan 2023 20:13:57 +0800
Subject: [PATCH] 20221227 充值归集
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 65 ++++++++++++++++++++++++--------
1 files changed, 48 insertions(+), 17 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 4465519..8c92dbd 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
@@ -112,19 +112,30 @@
//新增商品
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(BigDecimal.ROUND_DOWN,2);
- BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(BigDecimal.ROUND_DOWN, 2);
- mallGoods.setSubsidyAmount(subsidyAmount);
- if (mallGoods.getHasCarriage() == 2) {
- mallGoods.setCarriage(BigDecimal.ZERO);
+ 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);
+ //普通商品只获得一般的补贴金额
+ 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();
@@ -353,18 +364,30 @@
}
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(BigDecimal.ROUND_DOWN,2);
- BigDecimal subsidyAmount = subsidyPercent.multiply(new BigDecimal(originalPrice)).setScale(BigDecimal.ROUND_DOWN, 2);
+ 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);
+ //普通商品只获得一般的补贴金额
+ if(StarRatingEnum.NORMAL.getName().equals(starRating)){
+ subsidyAmount = subsidyAmount.multiply(new BigDecimal(0.5));
+ }
mallGoods.setSubsidyAmount(subsidyAmount);
mallGoodsMapper.updateById(mallGoods);
@@ -517,5 +540,13 @@
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