change types to include applied discounts
rename fields
This commit is contained in:
parent
19cfdbd74e
commit
40c598ce9b
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@frontend/kitui",
|
"name": "@frontend/kitui",
|
||||||
"version": "1.0.15",
|
"version": "1.0.16",
|
||||||
"description": "test",
|
"description": "test",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
@ -2,19 +2,20 @@ import { Discount } from "./discount";
|
|||||||
|
|
||||||
|
|
||||||
export type PrivilegeCartData = {
|
export type PrivilegeCartData = {
|
||||||
|
tariffName: string;
|
||||||
tariffId: string;
|
tariffId: string;
|
||||||
serviceKey: string;
|
serviceKey: string;
|
||||||
privilegeId: string;
|
privilegeId: string;
|
||||||
description: string;
|
description: string;
|
||||||
/** Цена с учетом скидок на привелегию и сервис */
|
|
||||||
price: number;
|
price: number;
|
||||||
|
appliedPrivilegeDiscount: Discount | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ServiceCartData = {
|
export type ServiceCartData = {
|
||||||
serviceKey: string;
|
serviceKey: string;
|
||||||
privileges: PrivilegeCartData[];
|
privileges: PrivilegeCartData[];
|
||||||
/** Цена с учетом скидок на привелегию и сервис */
|
|
||||||
price: number;
|
price: number;
|
||||||
|
appliedServiceDiscount: Discount | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type CartData = {
|
export type CartData = {
|
||||||
@ -22,5 +23,7 @@ export type CartData = {
|
|||||||
priceBeforeDiscounts: number;
|
priceBeforeDiscounts: number;
|
||||||
priceAfterDiscounts: number;
|
priceAfterDiscounts: number;
|
||||||
itemCount: number;
|
itemCount: number;
|
||||||
envolvedDiscounts: Discount[];
|
appliedCartPurchasesDiscount: Discount | null;
|
||||||
|
appliedLoyaltyDiscount: Discount | null;
|
||||||
|
allAppliedDiscounts: Discount[];
|
||||||
};
|
};
|
||||||
|
@ -8,7 +8,8 @@ export function applyCartDiscount(
|
|||||||
const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts);
|
const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts);
|
||||||
if (cartDiscount.discount) {
|
if (cartDiscount.discount) {
|
||||||
cartData.priceAfterDiscounts *= cartDiscount.factor;
|
cartData.priceAfterDiscounts *= cartDiscount.factor;
|
||||||
cartData.envolvedDiscounts.push(cartDiscount.discount);
|
cartData.allAppliedDiscounts.push(cartDiscount.discount);
|
||||||
|
cartData.appliedCartPurchasesDiscount = cartDiscount.discount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@ export function applyLoyaltyDiscount(
|
|||||||
const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts);
|
const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts);
|
||||||
if (loyalDiscount.discount) {
|
if (loyalDiscount.discount) {
|
||||||
cartData.priceAfterDiscounts *= loyalDiscount.factor;
|
cartData.priceAfterDiscounts *= loyalDiscount.factor;
|
||||||
cartData.envolvedDiscounts.push(loyalDiscount.discount);
|
cartData.allAppliedDiscounts.push(loyalDiscount.discount);
|
||||||
|
cartData.appliedLoyaltyDiscount = loyalDiscount.discount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,8 @@ export function applyPrivilegeDiscounts(
|
|||||||
const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts);
|
const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts);
|
||||||
if (privilegeDiscount.discount) {
|
if (privilegeDiscount.discount) {
|
||||||
privilege.price *= privilegeDiscount.factor;
|
privilege.price *= privilegeDiscount.factor;
|
||||||
cartData.envolvedDiscounts.push(privilegeDiscount.discount);
|
cartData.allAppliedDiscounts.push(privilegeDiscount.discount);
|
||||||
|
privilege.appliedPrivilegeDiscount = privilegeDiscount.discount;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -10,7 +10,8 @@ export function applyServiceDiscounts(
|
|||||||
const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts);
|
const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts);
|
||||||
if (privilegeDiscount.discount) {
|
if (privilegeDiscount.discount) {
|
||||||
privilege.price *= privilegeDiscount.factor;
|
privilege.price *= privilegeDiscount.factor;
|
||||||
cartData.envolvedDiscounts.push(privilegeDiscount.discount);
|
cartData.allAppliedDiscounts.push(privilegeDiscount.discount);
|
||||||
|
service.appliedServiceDiscount = privilegeDiscount.discount;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user