某平台做活动,除去不能参加活动的菜品外,当订单金额超过一定数量就可以享受相应的满减活动;
比如:活动 满100-10 满200-25 满300-50
请计算订单优惠之后应付的金额,注意一笔订单可能同时参加多个优惠,比如 550元可以享受 300-50 还剩200元再参加 200-25,优惠后是 475
-------------------------
请实现方法calculateToPay 计算最终要支付的金额,calculateToPay方法定义如下:
public static BigDecimal calculateToPay(Order order, List<Sku> excludeSkus, Map<BigDecimal,BigDecimal> discountConfig) {
return null;
}
order: 订单信息
excludeSkus:不参与活动的菜品
discountConfig:满减活动配置 key是活动阈值,value 是优惠金额;比如 满100-10, key是100,value是10
-----------------以下为订单、订单子项、菜品定义---------------
public class Order {
// 订单子项
private List<OrderItem> orderItems;
public Order() {
}
public Order(List<OrderItem> orderItems) {
this.orderItems = orderItems;
}
public