URL OrderCalculate

Determina una lista de artículos de catálogo que se incluirán en un pedido, los añade al pedido llamando a OrderItemAdd si todavía no se han incluido y vuelve a calcular los usos de cálculo (CalculationUsages) especificados.

URL

OrderCalculate

Mandato de controlador

com.ibm.commerce.order.commands.OrderCalculateCmd

Clase de implementación

com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl ( predeterminado )

com.ibm.commerce.order.commands.OrderCalculateCmdImpl ( opcional )

Nota: OrderCalculateCmdImpl reduce las operaciones de inventario para eliminar y añadir regalos gratuitos al volver a calcular los pedidos. Se recomienda OrderCalculateCmdImpl como la clase de implementación si el número de operaciones de regalos gratuitos ocasiona algún problema de rendimiento. Si se ha llevado a cabo una personalización en la PromotionEngineOrderCalculateCmdImpl predeterminada, siga utilizando la clase de implementación predeterminada para mantener la personalización.

Mandatos llamados

ResolveOrderItemPricecmd

CalculateOrderCmd

Estructura de URL

http:// host_name/path/
El nombre completo de Transaction server y la vía de acceso de configuración.

Valores de parámetros

orderId
Ofrece el número de referencia del pedido que se debe visualizar. Si se omite este parámetro, el mandato OrderCalculate se comporta como si se hubieran incluido todos los pedidos del cliente para la tienda especificada. Se pueden utilizar abreviaturas, pero solo con los pedidos pendientes. Consulte Abreviaturas de pedidos para obtener una descripción de las abreviaturas. Este parámetro puede repetirse.
calculationUsageId
Se necesita: Proporciona códigos predefinidos para calcular descuentos (-1), coste de envío (-2), impuesto sobre la venta (-3), impuesto sobre el envío (-4), cupones (-5), recargo (-6) y ajuste de envío (-7). Este parámetro puede repetirse.
outOrderName
Especifica las parejas nombre-valor que se han de pasar a un archivo JSP. El valor de cada par nombre-valor añadido es el número de referencia del pedido que se va a visualizar. Si no se proporciona el nombre, por omisión se utilizará orderId.
keepAutoAddedOrderItemsBeforeCalculate
Indica si los artículos de pedido que se han añadido automáticamente al pedido se han de conservar (true) o eliminar (false) antes de que se deba volver a calcular el pedido. El valor predeterminado es false.
updatePrices
Especifica si debe renovarse el precio de los artículos durante OrderCalculate. Si el valor es 1, significa que el precio se renovará. El precio no se renueva de forma predeterminada si el valor es distinto de uno.
doPrice
Especifica si el mandato debe realizar las subtareas de cálculo de precios. Establézcalo para que realice las tareas de precios (Y) o no (N). Desactivar estas tareas puede dar como resultado un mejor rendimiento, pero es posible que los usuarios no obtengan el precio más reciente o la autorización para el producto cuando se produzcan los cambios.

Ejemplo 1

En el ejemplo siguiente OrderCalculate actualiza un artículo de pedido con cualquier descuento aplicable antes de visualizarlo mediante una redirección a OrderItemDisplay):

http://
myhostname/webapp/wcs/stores/servlet/OrderCalculate?calculationUsageId=-1
&URL=OrderItemDisplay&storeId=10101&catalogId=10101

Ejemplo 2

En el ejemplo siguiente, se utiliza el parámetro opcional doPrice. Puesto que el valor es N, el precio para cada artículo de pedido en el pedido no se renueva hasta que caduca el artículo.
http://
myhostname/webapp/wcs/stores/servlet/OrderCalculate?calculationUsageId=-1
&orderId=123&updatePrices=1&doPrice=N&URL=OrderItemDisplay&storeId=10101&catalogId=10101

Comportamiento

Si updatePrices = 1:

Llamar a ResolveOrderItemPriceCmd para calcular el mejor precio y actualizar el total del pedido

Pasar el parámetro doPrice a ResolveOrderItemPriceCmd para controlar si los artículos de pedido pueden saltarse de nuevo el cálculo de precio

Llamar a CalculateOrderCmd para que realice el cálculo basándose en los identificadores de uso de cálculo (calUsageId) que se han pasado

Condiciones de excepción

CalculationUsageId es un parámetro obligatorio. Si no se proporciona, se genera una excepción debido a que falta un parámetro.