秒杀优惠减免

This commit is contained in:
曹磊 2024-08-12 21:33:12 +08:00
parent 996a2276b3
commit acbfa87dbe
1 changed files with 25 additions and 17 deletions

View File

@ -782,14 +782,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(DateUtils.format(new Date())); userPackageOrder.setCreateTime(DateUtils.format(new Date()));
userPackageOrder.setStatus(0); userPackageOrder.setStatus(0);
@ -1064,15 +1068,19 @@ 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.setPayMoney(totalMoney); userPackageOrder.setVipReductionMoney(vipReductionMoney);//会员减免金额
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额
}
userPackageOrder.setPayMoney(totalMoney);
userPackageOrder.setCreateTime(DateUtils.format(new Date())); userPackageOrder.setCreateTime(DateUtils.format(new Date()));
userPackageOrder.setStatus(0); userPackageOrder.setStatus(0);
userPackageOrder.setOrdersNo(getGeneralOrder()); userPackageOrder.setOrdersNo(getGeneralOrder());