Deprecated feature

Mandato de tarea CalculateOrderCmd

El mandato de tarea CalculateOrderCmd maneja los regalos gratuitos e implementa la lógica base de cálculo.

Mandato de tarea

com.ibm.commerce.order.commands.CalculateOrderCmd

Clase de implementación

com.ibm.commerce.order.commands.CalculateOrderCmdImpl

Mandatos llamados

DoInventoryActionCmd

OrderItemUpdateCmd

OrderItemAddCmd

OrderItemDeleteCmd

Posibles llamantes

OrderCalculateCmdImpl

PrepareOrderCmdImpl

OrderProcessingHelper

Comportamiento

Si doFreeGift es true:

Si el componente PromotionsEngine está habilitado y el regalo se debe renovar:
  • Llamar a PromotionEngine para obtener una lista de entradas de catálogo para añadir al pedido.
Para cada entrada de catálogo que se va a añadir al pedido, si ATP está inhabilitado y no hay inventario suficiente:
  • Eliminar esa entrada de catálogo de la lista
  • Añadir el identificador de entrada de catálogo a la lista outOfInventoryCatalogEntryId
  • Para cada artículo de pedido que se va a añadir o actualizar, compararlo con la lista de regalos gratuitos obtenida por PromotionEngine:
    • Si el CatentryId es el mismo pero la cantidad es diferente:
      • Añadirlo a la lista de actualización
    • Si no se encuentra el CatentryId en una entrada de catálogo existente:
      • Añadirlo a la lista de adición
    • Si los regalos gratuitos que se han almacenado antes en memoria caché no están incluidos en la nueva lista devuelta:
      • Añadirlo a la lista de supresión

Eliminar los regalos gratuitos incluidos en la lista de supresión

Actualizar las cantidades de los regalos gratuitos incluidos en la lista de actualización

Añadir los nuevos regalos gratuitos incluidos en la lista de adición

Calcular el total de productos del pedido

Inicializar los usos de cálculo (CalculationUsages) especificados que están habilitados

Aplicar los CalculationUsages especificados que están habilitados

Actualizar los subpedidos del pedido a menos que esa característica esté inhabilitada

Resumir los CalculationUsages especificados que están habilitados