Crear un mandato de tarea de elemento de regla de precio
Cree una nueva interfaz de mandato de tarea y su clase de implementación asociada para su nuevo elemento de regla de precio. Este mandato de tarea realiza el trabajo del elemento de la regla de precio y valida los parámetros.
Antes de empezar
- Mandatos de tarea de elemento de regla de precio
- Clase com.ibm.commerce.price.rule.commands.element.PriceRuleElementCmdImpl
- Interfaz com.ibm.commerce.price.rule.commands.element.PriceRuleElementCmd
Por qué y cuándo se efectúa esta tarea
El mandato de tarea de elemento de regla de precio debe ser una clase que implemente la interfaz PriceRuleElementCmd y debe ampliar la clase PriceRuleElementCmdImpl.
Procedimiento
- Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
- Cree un paquete para sus archivos de mandatos de tarea:
- En el nuevo paquete, cree una nueva clase de interfaz para su mandato de tarea de elemento de regla de precio que se amplíe de la interfaz PriceRuleElementCmd.
Asegúrese de que este nombre de clase coincide con la información que ha especificado en el XML de ejecución al crear la definición de la plantilla de elementos de regla de precio: consulte el parámetro name para el elemento
<class>
.A continuación se muestra un ejemplo de mandato de tarea para una condición que determina si el cliente se ha registrado en una fecha específica, o antes o después de dicha fecha, y, por consiguiente, si puede beneficiarse de precios especiales:
package com.mycompany.commerce.price.rule.commands.element; import com.ibm.commerce.price.rule.commands.element.PriceRuleElementCmd; public interface RegistrationTimeConditionElementCmd extends PriceRuleElementCmd { public final static String defaultCommandClassName = RegistrationTimeConditionElementCmdImpl.class.getName(); }
- En el nuevo paquete, cree una implementación de mandato de tarea que amplíe la clase PriceRuleElementCmdImpl. Este mandato de tarea debe implementar la interfaz que ha definido en el paso anterior. Asigne a la clase un nombre que utilice la sintaxis: pricerule_element_nameElementCmdImpl; por ejemplo,
RegistrationTimeConditionElementCmdImpl
.Para condiciones y acciones, esta implementación de mandato de tarea debe implementar el método performExecute. La implementación de mandato de tarea también puede implementar el método validateParameters para validar que el elemento tiene todos los parámetros de interfaz de usuario necesarios.
- Para los mensajes de error de lado del servidor en el mandato de tarea, cree una nueva clase de claves de mensaje:
- Cree un archivo de propiedades para definir el texto del mensaje de error de lado del servidor: