Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. overwrite:
  2.   - condition:
  3.       - value:
  4.           from: request # request ou product
  5.           ref:
  6.             object: App\Spec
  7.             object_id: 12
  8.             # Ou aller dans la requête chercher un champ en dur
  9.             object: App\Request
  10.             object_id: weight
  11.         condition: eq # eq, ne, gt, gte, lt, lte, in, range (avec deux valeurs, équivalent de gte et lte)
  12.         to: # Peut être un tableau si la condition est "in" ou "range"
  13.           ref:
  14.             object: App\SpecValue
  15.             object_id: 133
  16.             # Ou une littérale
  17.             litteral: "Bleu"
  18.     # Définit l'effet sur la requête
  19.     # - set : définit et remplace une ou plusieurs valeurs
  20.     # - unset : supprime une ou plusieurs valeurs
  21.     # - add : ajoute la valeur à la littérale numérique
  22.     # - subtract : soustrait la valeur à la littérale numérique
  23.     # - multiply : multiplie la valeur à la littérale numérique
  24.     # - divide : divise la valeur à la littérale numérique
  25.     # - modulo : garde le reste de la division avec la littérale numérique
  26.     # - add : ajoute la valeur à la littérale numérique
  27.     effect: set
  28.     to:
  29.       ref:
  30.         object: App\Spec
  31.         object_id: 13
  32.     value: # Peut être un tableau pour ajouter de multiples valeurs
  33.       ref:
  34.         object: App\SpecValue
  35.         object_id: 12233
  36.         # Ou une littérale
  37.         litteral: "Rouge"
  38.          
  39.  
  40. algorithm:
  41.   step_slug:
  42.    # Si true et qu'un produit n'a pas la spec liée définie, alors il sera exclus.
  43.     # Default : false
  44.     mustMatch: true
  45.  
  46.     # Nombre de points ajoutés au scoring si il y a un match. Si checkbox, alors
  47.     # les points de chaque match seront ajoutés à cette configuration.
  48.     # Default: 0
  49.     points: 20
  50.  
  51.     # Définit si on a besoin d'au moins une specValue qui matche, ou de toutes les specValues désirées qui matchent
  52.     # Default: AND
  53.     operator: OR
  54.  
  55.     # Définit la référence à une spec
  56.     refersTo:
  57.       object: App\Spec
  58.       object_id: 1
  59.  
  60.     # Condition à utiliser pour vérifier si match :
  61.     #  - eq : est égal à
  62.     #  - ne : n'est pas égal à
  63.     #  - lt : est plus petit que
  64.     #  - gt : est plus grand que
  65.     #  - range : est compris entre ... et ... (inclus)
  66.     # Default: eq
  67.     condition: eq
  68.  
  69.     # Définit la configuration des valeurs en fonction des réponses.
  70.     # Si une valeur n'est pas renseignée, alors elle ne rentrera pas
  71.     # en compte dans l'algo, sauf pour les specs littérales.
  72.     values:
  73.       value_slug:
  74.        # Définit la référence à une spec value, ou une littérale.
  75.         refersTo:
  76.          # Si la référence est une spec value
  77.           object: App\SpecValue
  78.           object_id: 1
  79.  
  80.           # Si la référence est une littérale
  81.           litteral: Bleu
  82.  
  83.         # Écrase la configuration des points
  84.         points: 23
  85.  
  86.         # Ordre de qualité : détermine une échelle définissant la
  87.         # qualité d'un produit par rapport à un autre, en fonction
  88.         # d'une caractéristique. Les points ajoutés au score seront
  89.         # modulés en fonction de l'écart entre la spec désirée et
  90.         # la spec la plus proche.
  91.         # Formule: points *= (1 - (Math.abs(foundQuality - wantedQuality) / (maxQuality - minQuality)))
  92.         # Default: 1
  93.         quality: 20
  94.  
  95.     # Permet de définir les valeurs par défaut de l'ensemble des valeurs
  96.     valuesDefault:
  97.       points: 20
  98.       quality: 23
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement