Guest User

Untitled

a guest
Jun 20th, 2019
83
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 la référence à une spec
  52.     refersTo:
  53.       object: App\Spec
  54.       object_id: 1
  55.  
  56.     # Condition à utiliser pour vérifier si match :
  57.     #  - eq : est égal à
  58.     #  - ne : n'est pas égal à
  59.     #  - lt : est plus petit que
  60.     #  - gt : est plus grand que
  61.     #  - range : est compris entre ... et ... (inclus)
  62.     # Default: eq
  63.     condition: eq
  64.  
  65.     # Définit la configuration des valeurs en fonction des réponses.
  66.     # Si une valeur n'est pas renseignée, alors elle ne rentrera pas
  67.     # en compte dans l'algo, sauf pour les specs littérales.
  68.     values:
  69.       value_slug:
  70.        # Définit la référence à une spec value, ou une littérale.
  71.         refersTo:
  72.          # Si la référence est une spec value
  73.           object: App\SpecValue
  74.           object_id: 1
  75.  
  76.           # Si la référence est une littérale
  77.           litteral: Bleu
  78.  
  79.         # Écrase la configuration des points
  80.         points: 23
  81.  
  82.         # Définit si on a besoin d'au moins une specValue qui matche, ou de toutes les specValues désirées qui matchent
  83.         # Default: AND
  84.         condition: OR
  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