|
@@ -145,34 +145,27 @@ public class PriceUtilService {
|
|
skus.forEach(s -> {
|
|
skus.forEach(s -> {
|
|
s.setOriginalPrice(s.getPrice());
|
|
s.setOriginalPrice(s.getPrice());
|
|
s.setPriceGrade(getPriceGrade(s.getPrice()));
|
|
s.setPriceGrade(getPriceGrade(s.getPrice()));
|
|
- if (1 == price.getSvipProductFlag()) {
|
|
|
|
|
|
+ if (setFlag && 1 == price.getSvipProductFlag()) {
|
|
// 超级会员优惠商品,不参与促销活动(普通机构购买该商品可参与店铺促销)/阶梯价/复购价
|
|
// 超级会员优惠商品,不参与促销活动(普通机构购买该商品可参与店铺促销)/阶梯价/复购价
|
|
s.setLadderPriceFlag(0);
|
|
s.setLadderPriceFlag(0);
|
|
// 超级会员优惠价
|
|
// 超级会员优惠价
|
|
- BigDecimal svipDiscountPrice = BigDecimal.valueOf(skus.get(0).getDiscountPrice());
|
|
|
|
- if (1 == skus.get(0).getPriceType()) {
|
|
|
|
|
|
+ BigDecimal svipDiscountPrice = BigDecimal.valueOf(null == s.getDiscountPrice() ? 0 : s.getDiscountPrice());
|
|
|
|
+ if (1 == s.getPriceType()) {
|
|
// 折扣价
|
|
// 折扣价
|
|
- price.setSvipPriceTag(MathUtil.div(skus.get(0).getDiscount(), 10, 1) + "折");
|
|
|
|
- if (isSuperVip) {
|
|
|
|
- // 超级会员用户设置优惠价
|
|
|
|
- svipDiscountPrice = MathUtil.div(MathUtil.mul(s.getPrice(), skus.get(0).getDiscount()), 100, 2);
|
|
|
|
- s.setPrice(svipDiscountPrice.doubleValue());
|
|
|
|
- price.setPrice(svipDiscountPrice.doubleValue());
|
|
|
|
- }
|
|
|
|
- } else if (2 == skus.get(0).getPriceType()) {
|
|
|
|
|
|
+ // 超级会员用户设置优惠价
|
|
|
|
+ svipDiscountPrice = MathUtil.div(MathUtil.mul(s.getPrice(), s.getDiscount()), 100, 2);
|
|
|
|
+ s.setSvipPriceTag(MathUtil.div(s.getDiscount(), 10, 1) + "折");
|
|
|
|
+ } else if (2 == s.getPriceType()) {
|
|
// 直接优惠价
|
|
// 直接优惠价
|
|
- if (isSuperVip) {
|
|
|
|
- // 超级会员用户设置优惠价
|
|
|
|
- s.setPrice(svipDiscountPrice.doubleValue());
|
|
|
|
- price.setPrice(svipDiscountPrice.doubleValue());
|
|
|
|
- }
|
|
|
|
|
|
+ // 超级会员用户设置优惠价
|
|
|
|
+ s.setSvipPriceTag("¥" + svipDiscountPrice.doubleValue());
|
|
}
|
|
}
|
|
if (taxFlag) {
|
|
if (taxFlag) {
|
|
//添加税费
|
|
//添加税费
|
|
BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(svipDiscountPrice, price.getTaxRate()), 100, 2);
|
|
BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(svipDiscountPrice, price.getTaxRate()), 100, 2);
|
|
svipDiscountPrice = MathUtil.add(svipDiscountPrice, thisTaxFee);
|
|
svipDiscountPrice = MathUtil.add(svipDiscountPrice, thisTaxFee);
|
|
|
|
+ s.setPrice(svipDiscountPrice.doubleValue());
|
|
}
|
|
}
|
|
- price.setSvipPriceTag("¥" + svipDiscountPrice);
|
|
|
|
} else if (null != promotions) {
|
|
} else if (null != promotions) {
|
|
// 促销活动
|
|
// 促销活动
|
|
price.setActStatus(1);
|
|
price.setActStatus(1);
|
|
@@ -254,7 +247,6 @@ public class PriceUtilService {
|
|
s.setOriginalPrice(MathUtil.add(s.getOriginalPrice(), originalTaxFee).doubleValue());
|
|
s.setOriginalPrice(MathUtil.add(s.getOriginalPrice(), originalTaxFee).doubleValue());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- price.setOriginalPrice(skus.get(0).getOriginalPrice());
|
|
|
|
// price添加税费
|
|
// price添加税费
|
|
if (taxFlag) {
|
|
if (taxFlag) {
|
|
BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(price.getPrice(), price.getTaxRate()), 100, 2);
|
|
BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(price.getPrice(), price.getTaxRate()), 100, 2);
|
|
@@ -262,6 +254,11 @@ public class PriceUtilService {
|
|
BigDecimal originalTaxFee = MathUtil.div(MathUtil.mul(price.getOriginalPrice(), price.getTaxRate()), 100, 2);
|
|
BigDecimal originalTaxFee = MathUtil.div(MathUtil.mul(price.getOriginalPrice(), price.getTaxRate()), 100, 2);
|
|
price.setOriginalPrice(MathUtil.add(price.getOriginalPrice(), originalTaxFee).doubleValue());
|
|
price.setOriginalPrice(MathUtil.add(price.getOriginalPrice(), originalTaxFee).doubleValue());
|
|
}
|
|
}
|
|
|
|
+ if (1 == price.getSvipProductFlag() && setFlag) {
|
|
|
|
+ price.setPrice(skus.get(0).getPrice());
|
|
|
|
+ price.setSvipPriceTag(skus.get(0).getSvipPriceTag());
|
|
|
|
+ }
|
|
|
|
+ price.setOriginalPrice(skus.get(0).getOriginalPrice());
|
|
price.setSkus(skus);
|
|
price.setSkus(skus);
|
|
// 身份不对
|
|
// 身份不对
|
|
if (!setFlag && 1 != ind) {
|
|
if (!setFlag && 1 != ind) {
|