This commit is contained in:
sidibe
2025-11-19 12:20:37 +00:00
commit 1972c8ff90
86 changed files with 3373 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
package com.pmu.betengine.model.dto;
import lombok.Data;
@Data
public class AgentFamilyMemberDTO {
private Long id;
private String nom;
private String statut;
private String dateNaissance;
private String sexe;
private String sexeLibelle; // Pour l'affichage
}

View File

@@ -0,0 +1,27 @@
package com.pmu.betengine.model.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.time.LocalDate;
@Data
public class AgentFamilyMemberRequestDTO {
@NotBlank(message = "Le nom est obligatoire")
@Size(min = 2, max = 100, message = "Le nom doit contenir entre 2 et 100 caractères")
private String nom;
@NotBlank(message = "Le statut est obligatoire")
@Size(min = 2, max = 50, message = "Le statut doit contenir entre 2 et 50 caractères")
private String statut;
@NotBlank(message = "La date de naissance est obligatoire")
@Pattern(regexp = "^\\d{2}/\\d{2}/\\d{4}$", message = "La date de naissance doit être au format dd/MM/yyyy")
private LocalDate dateNaissance;
@NotBlank(message = "Le sexe est obligatoire")
@Pattern(regexp = "^(M|F)$", message = "Le sexe doit être M (Masculin) ou F (Féminin)")
private String sexe;
}

View File

@@ -0,0 +1,13 @@
package com.pmu.betengine.model.dto;
import lombok.Data;
@Data
public class ChevalDto {
private Long id;
private String nom;
private int numero;
private boolean estNonPartant;
private String nomEcurie;
private Long courseId;
}

View File

@@ -0,0 +1,18 @@
package com.pmu.betengine.model.dto;
import lombok.Data;
@Data
public class HippodromeDTO {
private Long id;
private String nom;
private String ville;
private String pays;
private boolean actif;
private Integer capacite;
private String description;
private Long reunionId;
private String reunionNom;
private String createdAt;
private String updatedAt;
}

View File

@@ -0,0 +1,30 @@
package com.pmu.betengine.model.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
@Data
public class HippodromeRequestDTO {
@NotBlank(message = "Le nom est obligatoire")
@Size(min = 2, max = 100, message = "Le nom doit contenir entre 2 et 100 caractères")
private String nom;
@NotBlank(message = "La ville est obligatoire")
@Size(min = 2, max = 50, message = "La ville doit contenir entre 2 et 50 caractères")
private String ville;
@NotBlank(message = "Le pays est obligatoire")
@Size(min = 2, max = 50, message = "Le pays doit contenir entre 2 et 50 caractères")
private String pays;
@NotNull(message = "Le statut actif est obligatoire")
private boolean actif;
private Integer capacite;
@Size(max = 500, message = "La description ne peut pas dépasser 500 caractères")
private String description;
}

View File

@@ -0,0 +1,17 @@
package com.pmu.betengine.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pmu.betengine.model.Reunion;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class NewCourse {
private String numero;
private Reunion reunion;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", shape = JsonFormat.Shape.STRING)
private LocalDateTime heureCourse;
private String lieu;
}

View File

@@ -0,0 +1,46 @@
package com.pmu.betengine.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pmu.betengine.model.Cheval;
import com.pmu.betengine.model.Course;
import com.pmu.betengine.model.statut.StatutParis;
import com.pmu.betengine.model.type.TypeFormule;
import com.pmu.betengine.model.type.TypeMulti;
import com.pmu.betengine.model.type.TypePari;
import jakarta.persistence.*;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class NewPari {
private String numeroTicket;
private TypePari typePari;
private TypeFormule typeFormule; // GAGNANT ou PLACE
private double mise ;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", shape = JsonFormat.Shape.STRING)
private LocalDateTime datePari;
private Long courseId;
private String idParieur;
private String nomParieur;
///////////////////Cheval////
private Integer cheval;
private Integer cheval1;
private Integer cheval2;
private Integer cheval3;
private Integer premier;
private Integer deuxieme;
private Integer troisieme;
// TRIPLET
private List<Integer> chevauxOrdre;
// QUATRO, QUARTE PLUS, MULTI,
private List<Integer> chevauxSelectionnes;
private List<Integer> ordrePredit;
private Boolean validationOrdreExact;
// MULTI
private TypeMulti typeMulti;
private StatutParis status;
private boolean estPaye;
private boolean estRembourse;
}

View File

@@ -0,0 +1,19 @@
package com.pmu.betengine.model.dto;
import lombok.Data;
import java.util.List;
@Data
public class NewResultat {
private Integer idCourse;
private List<Integer> chevauxPremiers;
private List<Integer> chevauxDeuxiemes;
private List<Integer> chevauxTroisiemes;
private List<Integer> chevauxQuatriemes;
private List<Integer> chevauxCinquiemes;
private List<Integer> ordreArrivee;
private boolean aDeadHeat;
}

View File

@@ -0,0 +1,25 @@
package com.pmu.betengine.model.dto;
import jakarta.persistence.Column;
import lombok.Data;
import java.util.List;
@Data
public class ResultatDto {
private Long idCourse;
private List<Long> chevauxPremiers;
private List<Long> chevauxDeuxiemes;
private List<Long> chevauxTroisiemes;
private List<Long> chevauxQuatriemes;
private List<Long> chevauxCinquiemes;
private boolean aDeadHeat;
private double totalMises;
private double masseAPartager;
private double prelevementsLegaux;
private double montantRembourse;
private double montantCagnotte;
}

View File

@@ -0,0 +1,17 @@
package com.pmu.betengine.model.dto;
import com.pmu.betengine.model.statut.StatutReunion;
import lombok.Data;
@Data
public class ReunionDTO {
private Long id;
private String code;
private String nom;
private String date;
private int numero;
private StatutReunion statut;
private Integer totalCourses;
// Getters/Setters
}

View File

@@ -0,0 +1,16 @@
package com.pmu.betengine.model.dto;
import com.pmu.betengine.model.statut.StatutReunion;
import lombok.Data;
@Data
public class ReunionRequestDTO {
private String code;
private String nom;
private String date;
private int numero;
private StatutReunion statut;
private Integer totalCourses;
// Getters/Setters
}

View File

@@ -0,0 +1,19 @@
package com.pmu.betengine.model.dto;
import com.pmu.betengine.model.statut.StatutTPE;
import com.pmu.betengine.model.type.TypeTPE;
import lombok.Data;
@Data
public class TPEDTO {
private Long id;
private String imei;
private String serial;
private TypeTPE type;
private String marque;
private String modele;
private StatutTPE statut;
private boolean assigne;
private String createdAt;
private String updatedAt;
}

View File

@@ -0,0 +1,36 @@
package com.pmu.betengine.model.dto;
import com.pmu.betengine.model.statut.StatutTPE;
import com.pmu.betengine.model.type.TypeTPE;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;
@Data
public class TPERequestDTO {
@NotBlank(message = "L'IMEI est obligatoire")
@Pattern(regexp = "^[0-9]{15}$", message = "L'IMEI doit contenir exactement 15 chiffres")
private String imei;
@NotBlank(message = "Le numéro de série est obligatoire")
@Size(min = 2, max = 50, message = "Le numéro de série doit contenir entre 2 et 50 caractères")
private String serial;
@NotNull(message = "Le type est obligatoire")
private TypeTPE type;
@NotBlank(message = "La marque est obligatoire")
@Size(min = 2, max = 50, message = "La marque doit contenir entre 2 et 50 caractères")
private String marque;
@NotBlank(message = "Le modèle est obligatoire")
@Size(min = 2, max = 50, message = "Le modèle doit contenir entre 2 et 50 caractères")
private String modele;
@NotNull(message = "Le statut est obligatoire")
private StatutTPE statut;
private boolean assigne;
}

View File

@@ -0,0 +1,18 @@
package com.pmu.betengine.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pmu.betengine.model.statut.StatutParis;
import com.pmu.betengine.model.type.TypeFormule;
import com.pmu.betengine.model.type.TypeMulti;
import com.pmu.betengine.model.type.TypePari;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class updatePari {
private StatutParis status;
private boolean estPaye;
private boolean estRembourse;
}