Advertisement
Guest User

Untitled

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