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 )
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
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.