Saltar al contenido principal

Gaia_Core

Descripción General

El módulo Gaia_Core implementa la lógica central para el cálculo y manejo de los días de entrega de productos en función de stock, tipo de producto, código postal y otras reglas de negocio. Su principal objetivo es determinar y formatear los rangos de entrega para productos, considerando zonas extendidas, productos sobredimensionados y entregas internacionales.

Features

Cálculo de Días de Entrega

  • Descripción: Calcula el rango de días de entrega para un producto, considerando stock, agrupaciones, tipo de paquete, zonas extendidas y si la entrega es nacional o internacional. Permite obtener un objeto formateador (DeliveryDatesRenderer) que representa el rango de entrega y puede ser utilizado en bloques, vistas o APIs.
  • Tipo de modificación: Modelo personalizado.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Model/DeliveryDates.php: Implementa toda la lógica de cálculo y formateo de días de entrega.
  • Notas importantes:
    • Depende de la interfaz ProductInterface para obtener información de productos.
    • Utiliza un modelo de cross-docking si está disponible para calcular días adicionales en caso de falta de stock.
    • Lanza excepciones personalizadas (DeliveryDatesException, NoDeliveryException, NoRangeException) en casos de error o reglas de negocio no cumplidas.
    • Es utilizado por otros módulos como Gaia_Product para exponer la funcionalidad en bloques, observers y view models.
    • El objeto DeliveryDatesRenderer es clave para la integración con el frontend y otras capas del sistema.

CLI Commands

Este módulo no define comandos CLI personalizados.

APIs

Este módulo no expone directamente endpoints REST o GraphQL, pero su funcionalidad es consumida por otros módulos (como Gaia_Product) que sí exponen APIs para consultar días de entrega.

Consideraciones para Mantenimiento

  • La lógica de días de entrega depende de configuraciones almacenadas en la base de datos (por ejemplo, rangos de entrega y etiquetas de región).
  • Es fundamental revisar las dependencias con otros módulos, especialmente Gaia_Product, que utiliza intensivamente este modelo.
  • Para modificar reglas de negocio (por ejemplo, cómo se calculan los días en zonas extendidas o productos sobredimensionados), es necesario revisar y testear exhaustivamente el archivo Model/DeliveryDates.php.
  • No modifica archivos core, por lo que su desinstalación no afecta el core de Magento, pero puede romper funcionalidades de otros módulos que dependan de él.

Estructura del Módulo

Gaia_Core/
├── Model/
│ └── DeliveryDates.php
├── etc/
│ ├── module.xml
│ └── di.xml
├── registration.php
└── composer.json

Archivos de Configuración Principales

  • etc/module.xml: Define el módulo y sus dependencias
  • etc/di.xml: Configuración de inyección de dependencias

Modelos Principales

  • Model/DeliveryDates.php: Implementa toda la lógica de cálculo y formateo de días de entrega (9.2KB, 318 líneas)

Funcionalidades Clave

  • Cálculo de días de entrega: Lógica central para determinar rangos de entrega
  • Formateo de fechas: Renderizado de fechas de entrega
  • Gestión de excepciones: Manejo de casos especiales y errores
  • Integración con productos: Uso de ProductInterface para obtener información