Class PromocionCantidad
java.lang.Object
model.Promocion
model.PromocionCantidad
- All Implemented Interfaces:
IPromocionable
Clase que representa una promocion basada en cantidad minima de productos.
Aplica un porcentaje de descuento si se alcanza una cantidad minima de productos
especificos o de una categoria determinada.
Implementa la interfaz IPromocionable.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
Fields inherited from class Promocion
activa, diasAplicable, fechaFin, fechaInicio, horarioAplicable, idPromocion, maximoAplicaciones, nombrePromocion -
Constructor Summary
ConstructorsConstructorDescriptionPromocionCantidad(int idPromocion, String nombrePromocion) Constructor para crear una promocion por cantidad. -
Method Summary
Modifier and TypeMethodDescriptiondoubleAplicarPromocion(Pedido pedido) Aplica la promocion al pedido (implementacion de IPromocionable).CalcularDescuento(BigDecimal subtotal) Calcula el descuento basado en el subtotal y el porcentaje.intvoidsetCantidadMinima(int cantidadMinima) voidsetCategoriaRequerida(String categoriaRequerida) voidsetPorcentajeDescuento(BigDecimal porcentajeDescuento) voidsetProductoRequerido(Integer productoRequerido) booleanValidarPromocion(Pedido pedido) Valida si la promocion es aplicable al pedido.booleanVerificarCantidad(Collection<DetallePedido> productos) Verifica si la cantidad de productos cumple el minimo requerido.Methods inherited from class Promocion
EsAplicable, getDiasAplicable, getFechaFin, getFechaInicio, getHorarioAplicable, getIdPromocion, getMaximoAplicaciones, getNombrePromocion, isActiva, setActiva, setDiasAplicable, setFechaFin, setFechaInicio, setHorarioAplicable, setIdPromocion, setMaximoAplicaciones, setNombrePromocion
-
Constructor Details
-
PromocionCantidad
Constructor para crear una promocion por cantidad.- Parameters:
idPromocion- Identificador unico de la promocionnombrePromocion- Nombre descriptivo de la promocion
-
-
Method Details
-
VerificarCantidad
Verifica si la cantidad de productos cumple el minimo requerido.- Parameters:
productos- Lista de detalles del pedido- Returns:
- true si la cantidad total alcanza el minimo
-
CalcularDescuento
Calcula el descuento basado en el subtotal y el porcentaje.- Specified by:
CalcularDescuentoin classPromocion- Parameters:
subtotal- Subtotal del pedido- Returns:
- Monto del descuento
-
AplicarPromocion
Aplica la promocion al pedido (implementacion de IPromocionable).- Specified by:
AplicarPromocionin interfaceIPromocionable- Parameters:
pedido- Pedido al que aplicar la promocion- Returns:
- Monto del descuento como double
-
ValidarPromocion
Valida si la promocion es aplicable al pedido. Verifica vigencia y cantidad minima de productos.- Specified by:
ValidarPromocionin interfaceIPromocionable- Parameters:
pedido- Pedido a validar- Returns:
- true si la promocion aplica
-
getCantidadMinima
public int getCantidadMinima()- Returns:
- Cantidad minima requerida
-
setCantidadMinima
public void setCantidadMinima(int cantidadMinima) - Parameters:
cantidadMinima- Nueva cantidad minima
-
getPorcentajeDescuento
- Returns:
- Porcentaje de descuento
-
setPorcentajeDescuento
- Parameters:
porcentajeDescuento- Nuevo porcentaje
-
getProductoRequerido
- Returns:
- Identificador del producto requerido
-
setProductoRequerido
- Parameters:
productoRequerido- Nuevo producto requerido
-
getCategoriaRequerida
- Returns:
- Categoria requerida
-
setCategoriaRequerida
- Parameters:
categoriaRequerida- Nueva categoria requerida
-