Commande de la commande de tâche d'un élément de campagne

Créez une interface de commande de tâche et sa classe d'implémentation associée pour votre nouvel élément de campagne. La tâche de commande réalise le travail pour l'élément de campagne et peut également valider, en cas de besoin, des paramètres.

Avant de commencer

Consultez les rubriques suivantes pour vous assurer de bien comprendre les commandes de tâche des éléments de campagne, ainsi que la classe et l'interface appropriées :

Pourquoi et quand exécuter cette tâche

La commande de tâche de l'élément de campagne doit être une classe qui implémente l'interface MarketingCampaignElementTaskCmd et doit étendre la classe MarketingCampaignElementTaskCmdImpl.

Procédure

  1. Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
  2. Créez un module pour les fichiers de votre commande de tâche :
    1. Naviguez jusqu'à WebSphereCommerceServerExtensionsLogic > src.
    2. Cliquez avec le bouton droit sur le dossier src, puis cliquez sur Nouveau > Package.
    3. Dans la zone Nom, entrez :

      com.your_company_name.marketing.commands.elements

    4. Cliquez sur Terminer.
  3. Dans le nouveau module, créez une classe d'interface pour votre commande de tâche d'élément de campagne étendant l'interface MarketingCampaignElementTaskCmd.
    Attribuez à la classe le nom spécifié dans la définition de l'implémentation (par exemple, CustomLevelOfSupportTargetTaskCmd).

    Ci-dessous figure un exemple de commande de tâche pour une cible visant les clients ayant souscrit à un niveau de support spécifique :

    public interface CustomLevelOfSupportTargetTaskCmd extends MarketingCampaignElementTaskCmd {
    
    public final static String defaultCommandClassName =
    CustomLevelOfSupportTargetTaskCmdImpl.class.getName();
    
    }
  4. Dans le nouveau module, créez une implémentation de commande de tâche étendant la classe MarketingCampaignElementTaskCmdImpl. Donnez à la classe un nom qui utilise cette syntaxe : campaign_element_nameTaskCmdImple; par exemple, CustomLevelOfSupportTargetTaskCmdImpl.
    • Pour les cibles et les actions, cette implémentation de commande de tâche doit implémenter la méthode performExecute. Elle peut également implémenter la méthode validateParameters afin de valider que l'élément comporte tous les paramètres d'interface utilisateur requis.
    • Pour les déclencheurs, cette implémentation de commande de tâche peut implémenter l'une des méthodes suivantes, si nécessaire :
      • Méthode forwardTriggersForProcessing : Si le déclencheur est un déclencheur de vérification quotidienne, cette méthode recherche tous les clients qui remplissent les critères du déclencheur, puis transmet le déclencheur à chaque client.
      • Méthode validateParameters : cette méthode vérifie que l'élément contient tous les paramètres d'interface utilisateur requis.
    Pour commencer, examinez l'exemple correspondant à votre personnalisation :
  5. Pour tout message d'erreur côté serveur dans la commande de tâche, créez une classe de clé de message :
    1. Naviguez jusqu'à WebSphereCommerceServerExtensionsLogic > src.
    2. Cliquez avec le bouton droit sur le dossier src, puis cliquez sur Nouveau > Package.
    3. Dans la zone Nom, entrez :

      com.your_company_name.marketing.logging

    4. Cliquez sur Terminer.
    5. Dans le nouveau module, créez un fichier de classe qui contiendra les clés de message. Par exemple, CustomMarketingMessageKeys.java.
      Voici un exemple de ce type de classe ; cet exemple contient les clés de message des quatre exemples d'élément de campagne associés à partir de l'étape précédente :
      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. Sauvegardez le fichier de classe.
  6. Créez un fichier de propriétés pour définir le texte du message d'erreur côté serveur :
    1. Naviguez jusqu'à WebSphereCommerceServerExtensionsLogic > src.
    2. Cliquez avec le bouton droit sur le dossier src, puis cliquez sur Nouveau > Package.
    3. Dans la zone Nom, entrez :

      com.your_company_name.marketing.logging.properties

    4. Cliquez sur Terminer.
    5. Dans le nouveau module, créez un fichier de propriétés pour définir le texte du message. Par exemple, WcMarketingMessages.properties.
      Voici un exemple de fichier de propriétés ; cet exemple contient le texte du message des quatre exemples d'élément de campagne :
      _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. Enregistrez le fichier des propriétés.