Crear el mandato de tarea de elemento de campaña

Cree una nueva interfaz de mandato de tarea y su clase de implementación asociada para su nuevo elemento de campaña. El mandato de tarea realiza el trabajo para el elemento de campaña y también puede validar parámetros si es necesario.

Antes de empezar

Revise los temas siguientes para asegurarse de que comprende los mandatos de tarea para los elementos de campaña, así como la clase de interfaz relevantes:

Por qué y cuándo se efectúa esta tarea

El mandato de tarea de elemento de campaña debe ser una clase que implemente la interfaz MarketingCampaignElementTaskCmd y debe ampliar la clase MarketingCampaignElementTaskCmdImpl.

Procedimiento

  1. Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
  2. Cree un paquete para sus archivos de mandatos de tarea:
    1. Vaya a WebSphereCommerceServerExtensionsLogic > src.
    2. Pulse con el botón derecho del ratón en la carpeta src y luego pulse Nuevo > Paquete.
    3. En el campo Nombre, escriba:

      com.your_company_name.marketing.commands.elements

    4. Pulse Finalizar.
  3. En el nuevo paquete, cree una nueva clase de interfaz para su mandato de tarea de elemento de campaña que se amplíe de la interfaz MarketingCampaignElementTaskCmd.
    Asigne a la clase el nombre que ha especificado en la definición de implementación, por ejemplo CustomLevelOfSupportTargetTaskCmd.

    El siguiente es un ejemplo de un mandato de tarea para un destino que se dirige a los clientes que han pagado por un nivel de soporte específico:

    public interface CustomLevelOfSupportTargetTaskCmd extends MarketingCampaignElementTaskCmd {
    
    public final static String defaultCommandClassName =
    CustomLevelOfSupportTargetTaskCmdImpl.class.getName();
    
    }
  4. En el nuevo paquete, cree una implementación de mandato de tarea que se amplíe de la clase MarketingCampaignElementTaskCmdImpl. Asigne a la clase un nombre que utilice la sintaxis: campaign_element_nameTaskCmdImpl; por ejemplo, CustomLevelOfSupportTargetTaskCmdImpl.
    • Para destinos 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 desencadenantes, esta implementación de mandato de tarea puede implementar cualquiera de los métodos siguientes, si es necesario:
      • Método forwardTriggersForProcessing: si el desencadenante es un desencadenante de comprobación diaria, este método busca todos los clientes que cumplen los criterios del desencadenante y luego reenvía el desencadenante para cada cliente.
      • Método validateParameters: este método verifica que el elemento tiene todos los parámetros de interfaz de usuario necesarios.
    Como punto de partida, revise el ejemplo que sea relevante para su personalización:
  5. Para los mensajes de error de lado del servidor en el mandato de tarea, cree una nueva clase de claves de mensaje:
    1. Vaya a WebSphereCommerceServerExtensionsLogic > src.
    2. Pulse con el botón derecho del ratón en la carpeta src y luego pulse Nuevo > Paquete.
    3. En el campo Nombre, escriba:

      com.your_company_name.marketing.logging

    4. Pulse Finalizar.
    5. En el nuevo paquete, cree un archivo de clase que contenga las claves de mensaje, por ejemplo, CustomMarketingMessageKeys.java.
      A continuación se muestra un ejemplo de este tipo de clase; el ejemplo contiene claves de mensaje para los cuatro elementos de campaña de ejemplo enlazados en el paso anterior:
      package com.mycompany.commerce.marketing.logging;
      
      public class CustomMarketingMessageKeys {
      
       public final static String _APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_MISSING = "_APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_MISSING";
       public final static String _APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_INVALID = "_APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_INVALID";
       public final static String _APP_ACTIVITY_GIFT_REGISTRY_MISSING_NUMBER_OF_DAYS = "_APP_ACTIVITY_GIFT_REGISTRY_MISSING_NUMBER_OF_DAYS";
       public final static String _APP_ACTIVITY_LEVEL_OF_SUPPORT_TYPE_IS_MISSING = "_APP_ACTIVITY_LEVEL_OF_SUPPORT_TYPE_IS_MISSING";
       public final static String _APP_ACTIVITY_SEND_CATALOG_NAME_IS_MISSING = "_APP_ACTIVITY_SEND_CATALOG_NAME_IS_MISSING";
      }
    6. Guarde el archivo de clase.
  6. Cree un archivo de propiedades para definir el texto del mensaje de error de lado del servidor:
    1. Vaya a WebSphereCommerceServerExtensionsLogic > src.
    2. Pulse con el botón derecho del ratón en la carpeta src y luego pulse Nuevo > Paquete.
    3. En el campo Nombre, escriba:

      com.your_company_name.marketing.logging.properties

    4. Pulse Finalizar.
    5. En el nuevo paquete, cree un archivo de propiedades para definir el texto del mensaje, por ejemplo, WcMarketingMessages.properties.
      A continuación se muestra un archivo de propiedades de ejemplo, que contiene el texto del mensaje para los cuatro elementos de campaña de ejemplo :
      _APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_MISSING=Specify a value for the Event type field.
      _APP_ACTIVITY_FRAUD_EVENT_TYPE_IS_INVALID=The value in the Event type is not valid.
      _APP_ACTIVITY_GIFT_REGISTRY_MISSING_NUMBER_OF_DAYS=Specify a value for the Number of days field.
      _APP_ACTIVITY_LEVEL_OF_SUPPORT_TYPE_IS_MISSING=Specify a value for the Level of support field.
      _APP_ACTIVITY_SEND_CATALOG_NAME_IS_MISSING=Specify a value for the Catalog name field.
    6. Guarde el archivo de propiedades.