Class RegularPricing
- All Implemented Interfaces:
PricingStrategy
Esta implementación de PricingStrategy se aplica cuando el
evento tiene una ocupación media, definida por
PricingContext como un porcentaje de entradas vendidas dentro
del rango (50 %, 80 %] sobre el aforo máximo.
Su objetivo de negocio es monetizar la demanda creciente: cuando ya se ha vendido más de la mitad del aforo se considera que la disponibilidad empieza a ser un valor en sí mismo y se aplica un recargo moderado sobre el precio base.
Multiplicador
precioFinal = precioBase × 1.25 (redondeo HALF_UP a 2 decimales)
El resultado se redondea a céntimos mediante
RoundingMode.HALF_UP para evitar precios con más de dos
decimales que serían incompatibles con la representación monetaria de
la pasarela de pago.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalcularPrecio(BigDecimal precioBase, int entradasVendidas, int aforoMaximo) Calcula el precio final aplicando un recargo del 25 % sobre el precio base.
-
Constructor Details
-
RegularPricing
public RegularPricing()
-
-
Method Details
-
calcularPrecio
Calcula el precio final aplicando un recargo del 25 % sobre el precio base.Los parámetros
entradasVendidasyaforoMaximono intervienen en el cálculo de esta estrategia porque el porcentaje de recargo es fijo dentro de su rango de aplicación; la selección del rango la realizaPricingContextantes de delegar en esta clase. Se mantienen en la firma para respetar el contrato del patrón Strategy.- Specified by:
calcularPrecioin interfacePricingStrategy- Parameters:
precioBase- precio base del evento, en euros.entradasVendidas- número de entradas vendidas (no utilizado).aforoMaximo- aforo total del evento (no utilizado).- Returns:
- el precio base multiplicado por
1.25y redondeado a 2 decimales conRoundingMode.HALF_UP.
-