代金券调整

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

View File

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