秒杀优惠减免

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