Règles de priorité
Conception du modèle Priority
Une règle de priorité :
- Est le modèle parent du module, il sert à configurer les priorités de vente
- Fais le lien entre une règle (déclencheur) et des cibles (portée)
- Génère des
PriorityItemquand unArticlecorrespondant à la règle est acheté - Peut aussi générer un item si appliquée manuellement
- Sert aussi à gérer les limites/l'état global (états, dates ...)
classDiagram
class Priority {
+bigint club_id
+bigint saison_id
+bigint id
+int status
+int priority_type
+int articles_count
+datetime start_date
+datetime end_date
}
Priority "0..1" <--> "1" PriorityRule : déclencheur
Priority "1" <--> "1" PriorityRange : portée
Priority "1" <--> "0..n" PriorityDisponibility
Priority "0..n" <--> "0..n" FiliereVente
Priority "0..n" <--> "0..n" CategoriePublic
Statut et type
-
Statut
status:draft: état brouillon, ignoré dans les jobsactive: état actif, utilisé dans les jobs, limité par club si automatiqueinactive: état archivé, équivalent à un soft delete mais toujours visible dans les listes
-
Type
priority_type:manual: Règle manuelle, utilisable directement par un gestionnaire, pas de déclencheurautomated: Règle automatique, avec déclencheur
Dates de début et de fin
Pour les règles automatiques, délimite dans le temps l'usage de la règle (une règle, même active, est ignorée si on se trouve en dehors de sa fenêtre d'activation).
Nombre d'articles
articles_count : Défini le nombre d'articles auxquels pes PriorityItems donnent droit.
Si la règle bloque des places, alors articles_count est forcement 1. Sinon articles_count >= 1.
Déclencheurs PriorityRule
Optionnel.
Ensemble de filtres permettant de définir les articles qui, à l'achat, peuvent créer une priorité de vente (PriorityItem).
Évolutions possibles : différentes classes de déclencheurs. Prévoir une CTI.
Portées PriorityRange
Obligatoire.
Ensemble de filtres déterminant les produits rendus accessibles par les priorités de vente (PriorityItem) générés.
Évolutions possibles : différentes classes de portées. Prévoir une CTI.
Priorités de vente.
Modèle enfant des règles.
Disponibilités PriorityDisponibility
Modèle servant à la gestion des ouvertures des priorités à la vente. Pour chaque règle, on a une
disponibilité par couple [FiliereVente, CategoriePublic].
Pour le fonctionnement général, cf ArticleDisponibilite.
Autres règles et observations
- Chaque
Clubaura un attribut administrable de limite de règles automatiques actives en même temps, afin d'éviter la surcharge de règle à vérifier à chaque achat. - Pour le moment, pas d'édition de règle une fois cette dernière activée.