From 008669c50f804754b1f8d7f7094cfca6c9d780dd Mon Sep 17 00:00:00 2001 From: ExostFlash Date: Wed, 4 Jun 2025 11:38:16 +0200 Subject: [PATCH] Add Exo - 04-06-2025 --- .../archy/controller/exempleController.java | 10 +++-- .../archy/controller/userController.java | 40 +++++++++++++++++++ .../java/fr/teamflash/archy/dto/userDTO.java | 31 +++++++------- .../teamflash/archy/dto/userDisplayDTO.java | 10 ++--- .../fr/teamflash/archy/fonction/calcule.java | 28 +++++++++++++ 5 files changed, 94 insertions(+), 25 deletions(-) create mode 100644 src/main/java/fr/teamflash/archy/fonction/calcule.java diff --git a/src/main/java/fr/teamflash/archy/controller/exempleController.java b/src/main/java/fr/teamflash/archy/controller/exempleController.java index f2acb07..fa5eb8b 100644 --- a/src/main/java/fr/teamflash/archy/controller/exempleController.java +++ b/src/main/java/fr/teamflash/archy/controller/exempleController.java @@ -2,10 +2,7 @@ package fr.teamflash.archy.controller; import org.springframework.http.HttpStatusCode; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -31,5 +28,10 @@ public class exempleController { } return new ResponseEntity(sum, HttpStatusCode.valueOf(200)); } + @GetMapping("details/{id}") + public ResponseEntity detail(@PathVariable("id") String ID){ + return new ResponseEntity("Bonjour " + ID, HttpStatusCode.valueOf(200)); + } + } diff --git a/src/main/java/fr/teamflash/archy/controller/userController.java b/src/main/java/fr/teamflash/archy/controller/userController.java index 78ff147..3028fc0 100644 --- a/src/main/java/fr/teamflash/archy/controller/userController.java +++ b/src/main/java/fr/teamflash/archy/controller/userController.java @@ -1,4 +1,44 @@ package fr.teamflash.archy.controller; +import fr.teamflash.archy.dto.userDTO; +import fr.teamflash.archy.dto.userDisplayDTO; +import fr.teamflash.archy.fonction.calcule; +import org.springframework.http.HttpStatusCode; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDate; +import java.time.Period; +import java.util.List; + +@RestController +@RequestMapping("user") public class userController { + + @PostMapping("add") + public ResponseEntity afficher (@RequestBody userDTO dto){ + // calcule l'age + int age = Period.between(dto.getDate_naissance(), LocalDate.now()).getYears(); + + userDisplayDTO result = new userDisplayDTO(); + result.setDisplay_name(dto.getPrenom() + " " + dto.getNom()); + result.setAge(age); + return new ResponseEntity(result, HttpStatusCode.valueOf(200)); + } + + @GetMapping("info") + public ResponseEntity info(@RequestParam("name") String nom, @RequestParam("firstname") String prenom, @RequestParam("birthdate") LocalDate birthdate, @RequestParam("valeur") List valeurs) { + int sum = calcule.somme(valeurs); + + boolean admis = calcule.admis(valeurs); + + int age = Period.between(birthdate, LocalDate.now()).getYears(); + + String fullName = nom + " " + prenom; + + String respond = fullName + " " + age + " " + sum + " " + admis; + + return new ResponseEntity(respond, HttpStatusCode.valueOf(200)); + } + } diff --git a/src/main/java/fr/teamflash/archy/dto/userDTO.java b/src/main/java/fr/teamflash/archy/dto/userDTO.java index 2f3380a..e6ceb3c 100644 --- a/src/main/java/fr/teamflash/archy/dto/userDTO.java +++ b/src/main/java/fr/teamflash/archy/dto/userDTO.java @@ -3,33 +3,32 @@ package fr.teamflash.archy.dto; import java.time.LocalDate; public class userDTO { - private String name; - private String firstName; - private LocalDate birthDate; + private String prenom; + private String nom; + private LocalDate date_naissance; - - public String getName() { - return name; + public String getPrenom() { + return prenom; } - public void setName(String name) { - this.name = name; + public void setPrenom(String prenom) { + this.prenom = prenom; } - public LocalDate getBirthDate() { - return birthDate; + public String getNom() { + return nom; } - public void setBirthDate(LocalDate birthDate) { - this.birthDate = birthDate; + public void setNom(String nom) { + this.nom = nom; } - public String getFirstName() { - return firstName; + public LocalDate getDate_naissance() { + return date_naissance; } - public void setFirstName(String firstName) { - this.firstName = firstName; + public void setDate_naissance(LocalDate date_naissance) { + this.date_naissance = date_naissance; } } \ No newline at end of file diff --git a/src/main/java/fr/teamflash/archy/dto/userDisplayDTO.java b/src/main/java/fr/teamflash/archy/dto/userDisplayDTO.java index b4a164b..dcc1f99 100644 --- a/src/main/java/fr/teamflash/archy/dto/userDisplayDTO.java +++ b/src/main/java/fr/teamflash/archy/dto/userDisplayDTO.java @@ -1,15 +1,15 @@ package fr.teamflash.archy.dto; public class userDisplayDTO { - private String displayName; + private String display_name; private Integer age; - public String getDisplayName() { - return displayName; + public String getDisplay_name() { + return display_name; } - public void setDisplayName(String name, String firstName) { - this.displayName = name + " " + firstName; + public void setDisplay_name(String display_name) { + this.display_name = display_name; } public Integer getAge() { diff --git a/src/main/java/fr/teamflash/archy/fonction/calcule.java b/src/main/java/fr/teamflash/archy/fonction/calcule.java new file mode 100644 index 0000000..d158936 --- /dev/null +++ b/src/main/java/fr/teamflash/archy/fonction/calcule.java @@ -0,0 +1,28 @@ +package fr.teamflash.archy.fonction; + +import java.util.List; + +public class calcule { + public static int somme(List valeurs) { + int sum = 0; + for (int i = 0; i < valeurs.size(); i++) { + sum += valeurs.get(i); + } + return sum; + } + + public static boolean admis(List valeurs) { + // Vérifie que toutes les notes sont > 8 + for (int note : valeurs) { + if (note <= 8) { + return false; + } + } + + // Calcul de la moyenne + int somme = somme(valeurs); + double moyenne = (double) somme / valeurs.size(); + + return moyenne > 10; + } +}