|
@@ -504,11 +504,17 @@ public class SubmitServiceImpl implements SubmitService {
|
|
|
// 直接优惠价
|
|
|
discountPrice = svipProductPo.getSvipDiscountPrice();
|
|
|
}
|
|
|
- BigDecimal svipReduction = MathUtil.mul(MathUtil.sub(productPrice, discountPrice), productNum, 2);
|
|
|
+ // 商品超级会员优惠
|
|
|
+ BigDecimal svipReduction = MathUtil.sub(productPrice, discountPrice);
|
|
|
+ if (taxFlag) {
|
|
|
+ // 商品税费超级会员优惠
|
|
|
+ BigDecimal svipTaxReduction = MathUtil.div(MathUtil.mul(svipReduction, product.getTaxRate()), 100, 2);
|
|
|
+ svipReduction = MathUtil.add(svipReduction, svipTaxReduction);
|
|
|
+ }
|
|
|
// 统计超级会员优惠
|
|
|
product.setSvipReduction(svipReduction.doubleValue());
|
|
|
- svipShopReduction.set(MathUtil.add(svipShopReduction, svipReduction).doubleValue());
|
|
|
- svipFullReduction.set(MathUtil.add(svipFullReduction, svipReduction).doubleValue());
|
|
|
+ svipShopReduction.set(MathUtil.add(svipShopReduction, MathUtil.mul(svipReduction, productNum)).doubleValue());
|
|
|
+ svipFullReduction.set(MathUtil.add(svipFullReduction, MathUtil.mul(svipReduction, productNum)).doubleValue());
|
|
|
// 保存订单商品svip数据
|
|
|
product.setSvipPriceFlag(1);
|
|
|
product.setSvipPriceType(svipProductPo.getSvipPriceType());
|
|
@@ -625,6 +631,10 @@ public class SubmitServiceImpl implements SubmitService {
|
|
|
product.setDiscountPrice(discountPrice);
|
|
|
// 折扣率 = 折后单价/机构价
|
|
|
product.setDiscount(discountRate);
|
|
|
+ if (svipPriceFlag || (null != promotions && promotions.getType() == 1 && promotions.getMode() == 1)) {
|
|
|
+ // 超级会员价/单品优惠折扣率设置为100%
|
|
|
+ product.setDiscount(100d);
|
|
|
+ }
|
|
|
// 单个商品的金额
|
|
|
product.setTotalAmount(productAmount);
|
|
|
// 单个商品的折后金额
|