Cenové politiky

Cenové politiky

Cenové politiky jsou nástrojem, pomocí kterého lze upřesnit cenu produktů, cenu dopravy nebo celkovou cenu pro konkrétní košík. To znamená, že cena nemůže být vypočtena bez znalosti obsahu košíku. Například, kredit lze uplatnit v rámci košíku, cena dopravy zdarma se odvíjí od výše objednávky, nebo uplatněné slevové akce platí pouze tehdy, pokud zákazník zadá slevový kód.

Mezi politiky implementované základně patří:

  • Kredity
  • Slevové poukazy, dárkové poukazy
  • Bonusové produkty
  • Cenové politiky dopravy

Zkopírovat odkaz na sekciVytvoření nové cenové politiky

V rámci projektu je možné definovat další cenové politiky. Pro vytvoření nové cenové politiky je potřeba:

  1. Implementovat strategii pro vyhodnocení politiky (konkrétně implementaci rozhraní com.fg.cps.eshop.cart.service.pricepolicy.AdjustedPricePolicyStrategy).

  2. Zaregistrovat politiku pomocí metody PricePolicyCartResolver#registerAdjustedPricePolicyStrategy.

  3. Vytvořit samotnou cenovou politiku. Například:

    java
    1 final AdjustedPricePolicy pricePolicy = adjustedPricePolicyService.getAdjustedPricePolicyByCatalogAndCode(2            catalogCode,3            CREDIT_PRICE_POLICY_CODE4);5if (pricePolicy == null) {6    pricePolicy = adjustedPricePolicyService.createNewAdjustedPricePolicy(catalogCode,7            CREDIT_PRICE_POLICY_CODE,8            CREDIT_PRICE_POLICY_CODE,9            new CreditPricePolicyParameters());10    pricePolicy.setStatus(CatalogEntityStatus.ACTIVE);11    pricePolicy.setGroup(CREDIT_PRICE_POLICY_CODE);12    adjustedPricePolicyService.storeAdjustedPricePolicy(pricePolicy);13}
  4. Volitelně, v případě, že má cenová politika administrační rozhraní, může být implementováno PricePolicyParamsDataExtractor, které zajišťuje ukládání a načítání parametrů politiky.

Pro danou strategii lze vytvořit více cenových politik s různými parametry (například každá slevová akce má svou cenovou politiku).

Zkopírovat odkaz na sekciVýpočet finální ceny

Politiky se uplatňují dle své priority. Dříve uplatněné cenové politiky mohou ovlivnit následující politiky. Například, pokud je možné získat dopravu zdarma při nákupu nad 1000 Kč, ale dříve je aplikována sleva, která sníží celkovou hodnotu objednávky pod 1000 Kč, podmínka pro dopravu zdarma není splněna a tato politika se nepoužije.