fix apply discounts functions
This commit is contained in:
parent
8433c7adcd
commit
d5f35ed623
@ -6,7 +6,10 @@ export function applyCartDiscount(
|
|||||||
discounts: Discount[],
|
discounts: Discount[],
|
||||||
) {
|
) {
|
||||||
const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts);
|
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(
|
export function findCartDiscount(
|
||||||
|
@ -7,7 +7,10 @@ export function applyLoyaltyDiscount(
|
|||||||
purchasesAmount: number,
|
purchasesAmount: number,
|
||||||
) {
|
) {
|
||||||
const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts);
|
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(
|
export function findLoyaltyDiscount(
|
||||||
|
@ -8,8 +8,15 @@ export function applyPrivilegeDiscounts(
|
|||||||
cartData.services.forEach(service => {
|
cartData.services.forEach(service => {
|
||||||
service.privileges.forEach(privilege => {
|
service.privileges.forEach(privilege => {
|
||||||
const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts);
|
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 => {
|
cartData.services.forEach(service => {
|
||||||
service.privileges.forEach(privilege => {
|
service.privileges.forEach(privilege => {
|
||||||
const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts);
|
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