代金券调整

This commit is contained in:
曹磊 2024-07-12 18:43:11 +08:00
parent 5539f8c638
commit a29d611b69
2 changed files with 10 additions and 11 deletions

View File

@ -665,18 +665,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return Result.error("优惠券不满足使用条件!");
}
}
couponMinMoney = couponMinMoney.add(couponUser.getMoney());
couponMinMoney = couponMinMoney.add(couponUser.getMinMoney());
CouponUserList.add(couponUser);
BigDecimal money= couponUser.getMoney();
BigDecimal money = couponUser.getMoney();
couponMoney = couponMoney.add(money);
couponNameSb.append(couponUser.getCouponName());
couponNameSb.append(",");
}
}
if(couponMoney.compareTo(couponMinMoney) < 0){
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
}
orders.setCouponName(couponNameSb.toString());
orders.setCouponMoney(couponMoney);
}else{
@ -761,7 +757,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setEntryName(massageTypeName);
//判断金额是否满足代金券金额最少消费额度
if(price.compareTo(couponMinMoney) < 0){
if(orders.getMassagePrice().compareTo(couponMinMoney) < 0){
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
}
@ -1732,7 +1728,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return Result.error("优惠券不满足使用条件!");
}
}
couponMinMoney = couponMinMoney.add(couponUser.getMoney());
couponMinMoney = couponMinMoney.add(couponUser.getMinMoney());
CouponUserList.add(couponUser);
BigDecimal money = couponUser.getMoney();
couponMoney = couponMoney.add(money);
@ -1785,7 +1781,10 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
BigDecimal artificerPrice = new BigDecimal("0.00");
for (OrdersMassage ordersMassage : ordersMassageList) {
orders.setDuration(massageType.getDuration());
orders.setMassageNum(ordersMassage.getNum());
price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum()));
orders.setMassagePrice(price);
BigDecimal massagePrice = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)).add(price);//技师等级加成金额
massagePrice = massagePrice.multiply(orders.getVipRate()).divide(new BigDecimal(100));//会员优惠后金额
massageTypeName = massageType.getTitle();
@ -1797,12 +1796,11 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setMassageTypeId(massageType.getMassageTypeId());
}
//保存现价
orders.setMassagePrice(price);
orders.setPrice(price);
orders.setEntryName(massageTypeName);
//判断金额是否满足代金券金额最少消费额度
if (payMoney.compareTo(couponMinMoney) < 0) {
if (orders.getMassagePrice().compareTo(couponMinMoney) < 0) {
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
}

View File

@ -190,7 +190,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
return Result.error("优惠券不满足使用条件!");
}
}
couponMinMoney = couponMinMoney.add(couponUser.getMoney());
couponMinMoney = couponMinMoney.add(couponUser.getMinMoney());
CouponUserList.add(couponUser);
BigDecimal money= couponUser.getMoney();
couponMoney = couponMoney.add(money);
@ -235,6 +235,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额
canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠
canVipMoney = canVipMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额