Guest User

Untitled

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