fix apply discounts functions
This commit is contained in:
parent
8433c7adcd
commit
d5f35ed623
@ -6,7 +6,10 @@ export function applyCartDiscount(
|
||||
discounts: Discount[],
|
||||
) {
|
||||
const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts);
|
||||
if (cartDiscount) cartData.priceAfterDiscounts *= cartDiscount.factor;
|
||||
if (cartDiscount.discount) {
|
||||
cartData.priceAfterDiscounts *= cartDiscount.factor;
|
||||
cartData.envolvedDiscounts.push(cartDiscount.discount);
|
||||
}
|
||||
}
|
||||
|
||||
export function findCartDiscount(
|
||||
|
@ -7,7 +7,10 @@ export function applyLoyaltyDiscount(
|
||||
purchasesAmount: number,
|
||||
) {
|
||||
const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts);
|
||||
if (loyalDiscount) cartData.priceAfterDiscounts *= loyalDiscount.factor;
|
||||
if (loyalDiscount.discount) {
|
||||
cartData.priceAfterDiscounts *= loyalDiscount.factor;
|
||||
cartData.envolvedDiscounts.push(loyalDiscount.discount);
|
||||
}
|
||||
}
|
||||
|
||||
export function findLoyaltyDiscount(
|
||||
|
@ -8,8 +8,15 @@ export function applyPrivilegeDiscounts(
|
||||
cartData.services.forEach(service => {
|
||||
service.privileges.forEach(privilege => {
|
||||
const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts);
|
||||
if (privilegeDiscount) privilege.price *= privilegeDiscount.factor;
|
||||
if (privilegeDiscount.discount) {
|
||||
privilege.price *= privilegeDiscount.factor;
|
||||
cartData.envolvedDiscounts.push(privilegeDiscount.discount);
|
||||
}
|
||||
});
|
||||
|
||||
cartData.priceAfterDiscounts -= service.price;
|
||||
service.price = service.privileges.reduce((sum, privilege) => privilege.price + sum, 0);
|
||||
cartData.priceAfterDiscounts += service.price;
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -8,8 +8,15 @@ export function applyServiceDiscounts(
|
||||
cartData.services.forEach(service => {
|
||||
service.privileges.forEach(privilege => {
|
||||
const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts);
|
||||
if (privilegeDiscount) privilege.price *= privilegeDiscount.factor;
|
||||
if (privilegeDiscount.discount) {
|
||||
privilege.price *= privilegeDiscount.factor;
|
||||
cartData.envolvedDiscounts.push(privilegeDiscount.discount);
|
||||
}
|
||||
});
|
||||
|
||||
cartData.priceAfterDiscounts -= service.price;
|
||||
service.price = service.privileges.reduce((sum, privilege) => privilege.price + sum, 0);
|
||||
cartData.priceAfterDiscounts += service.price;
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user