套餐会员减免

This commit is contained in:
曹磊 2024-08-12 21:12:30 +08:00
parent 08e9bd1d01
commit 60e01f35ad
1 changed files with 24 additions and 18 deletions

View File

@ -265,15 +265,18 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
} }
} }
userPackageOrder.setVipRate(vipRate); userPackageOrder.setVipRate(vipRate);
BigDecimal vipMoney = canVipMoney; if(vipRate.compareTo(new BigDecimal(100))==0){
BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额 userPackageOrder.setVipReductionMoney(BigDecimal.ZERO);//会员减免金额
canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠 }else {
canVipMoney = canVipMoney.setScale(0,BigDecimal.ROUND_HALF_UP); BigDecimal vipMoney = canVipMoney;
BigDecimal vipReductionMoney = vipMoney.subtract(canVipMoney); BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额
userPackageOrder.setVipReductionMoney(vipReductionMoney);//会员减免金额 canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额 canVipMoney = canVipMoney.setScale(0, BigDecimal.ROUND_HALF_UP);
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额 BigDecimal vipReductionMoney = vipMoney.subtract(canVipMoney);
userPackageOrder.setVipReductionMoney(vipReductionMoney);//会员减免金额
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额
}
userPackageOrder.setPayMoney(totalMoney); userPackageOrder.setPayMoney(totalMoney);
userPackageOrder.setCreateTime(simpleDateFormat.format(new Date())); userPackageOrder.setCreateTime(simpleDateFormat.format(new Date()));
userPackageOrder.setStatus(0); userPackageOrder.setStatus(0);
@ -397,15 +400,18 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
} }
} }
userPackageOrder.setVipRate(vipRate); userPackageOrder.setVipRate(vipRate);
BigDecimal vipMoney = canVipMoney; if(vipRate.compareTo(new BigDecimal(100))==0){
BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额 userPackageOrder.setVipReductionMoney(BigDecimal.ZERO);//会员减免金额
canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠 }else{
canVipMoney = canVipMoney.setScale(0,BigDecimal.ROUND_HALF_UP); BigDecimal vipMoney = canVipMoney;
BigDecimal vipReductionMoney = vipMoney.subtract(canVipMoney); BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额
userPackageOrder.setVipReductionMoney(vipReductionMoney);//会员减免金额 canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额 canVipMoney = canVipMoney.setScale(0,BigDecimal.ROUND_HALF_UP);
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额 BigDecimal vipReductionMoney = vipMoney.subtract(canVipMoney);
userPackageOrder.setVipReductionMoney(vipReductionMoney);//会员减免金额
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额
}
userPackageOrder.setPayMoney(totalMoney); userPackageOrder.setPayMoney(totalMoney);
userPackageOrder.setCreateTime(simpleDateFormat.format(new Date())); userPackageOrder.setCreateTime(simpleDateFormat.format(new Date()));
userPackageOrder.setStatus(0); userPackageOrder.setStatus(0);