From 0391f7c75f7141beb5109c133d2116c1673a2850 Mon Sep 17 00:00:00 2001 From: visoulier Date: Sun, 31 Mar 2024 13:57:56 +0200 Subject: [PATCH] ajout temps limite --- .../sae/controllers/PartieKahootController.java | 7 +++++++ .../sciencequest/sae/dto/partieKahoot/PartieKahootDTO.java | 5 ++++- .../fr/iut/sciencequest/sae/entities/PartieKahoot.java | 6 ++++-- SpringBootProject/src/main/resources/schema.sql | 3 ++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/PartieKahootController.java b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/PartieKahootController.java index 02c4578..d1f9351 100644 --- a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/PartieKahootController.java +++ b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/PartieKahootController.java @@ -17,6 +17,8 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.List; @RestController @@ -97,11 +99,16 @@ public class PartieKahootController { @ResponseStatus(HttpStatus.OK) public PartieKahootStatusDTO demarrerPartie(@PathVariable String codeInvitation){ PartieKahoot partieKahoot = this.partieKahootService.getPartieKahootByIdOrCodeInvitation(codeInvitation); + Calendar tempsLimiteReponse = Calendar.getInstance(); + tempsLimiteReponse.setTime(new Date()); + tempsLimiteReponse.add(Calendar.MINUTE, 1); + if(partieKahoot.getStatus() == Status.Started){ throw new PartyAlreadyStartedException(); } partieKahoot.setStatus(Status.Started); partieKahoot.setQuestionActuel(partieKahoot.getQuestions().getFirst().getQuestion()); + partieKahoot.setTempsLimiteReponse(tempsLimiteReponse); partieKahoot = this.partieKahootService.update(partieKahoot); return this.modelMapper.map(partieKahoot, PartieKahootStatusDTO.class); } diff --git a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/dto/partieKahoot/PartieKahootDTO.java b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/dto/partieKahoot/PartieKahootDTO.java index 4f95f19..2dd53a8 100644 --- a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/dto/partieKahoot/PartieKahootDTO.java +++ b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/dto/partieKahoot/PartieKahootDTO.java @@ -5,13 +5,14 @@ import fr.iut.sciencequest.sae.dto.jeu.JeuDTO; import fr.iut.sciencequest.sae.dto.joueur.JoueurSimpleDTO; import fr.iut.sciencequest.sae.dto.question.QuestionDTO; import fr.iut.sciencequest.sae.dto.thematique.ThematiqueSimpleDTO; -import fr.iut.sciencequest.sae.entities.Question; import fr.iut.sciencequest.sae.entities.Status; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.*; import org.springframework.hateoas.RepresentationModel; +import java.util.Calendar; +import java.util.Date; import java.util.List; @@ -39,4 +40,6 @@ public class PartieKahootDTO extends RepresentationModel { private QuestionDTO questionActuel; private List questions; + + private Calendar tempsLimiteReponse; } diff --git a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/entities/PartieKahoot.java b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/entities/PartieKahoot.java index 92dc090..250967c 100644 --- a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/entities/PartieKahoot.java +++ b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/entities/PartieKahoot.java @@ -7,7 +7,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import java.util.Date; +import java.util.Calendar; import java.util.List; @EqualsAndHashCode(callSuper = true) @@ -23,7 +23,9 @@ public class PartieKahoot extends Partie { @JoinColumn(name="idquestionactuel") private Question questionActuel; - //private Date tempsLimiteReponse; + @Column(name = "tempslimitereponse") + @Temporal(TemporalType.TIMESTAMP) + private Calendar tempsLimiteReponse; @JsonManagedReference @OneToMany(mappedBy = "partie", fetch = FetchType.EAGER) diff --git a/SpringBootProject/src/main/resources/schema.sql b/SpringBootProject/src/main/resources/schema.sql index e3a279c..92f8343 100644 --- a/SpringBootProject/src/main/resources/schema.sql +++ b/SpringBootProject/src/main/resources/schema.sql @@ -127,7 +127,8 @@ CREATE TABLE Partie( -- Partie Kahoot CREATE TABLE PartieKahoot( idPartie integer PRIMARY KEY REFERENCES Partie(id), - idQuestionActuel integer REFERENCES Question(id) + idQuestionActuel integer REFERENCES Question(id), + tempsLimiteReponse TIMESTAMP ); -- JOUEUR