ajout temps limite

Springboot
Victor SOULIER 1 year ago
parent 5cb6e5c108
commit 0391f7c75f

@ -17,6 +17,8 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
@RestController @RestController
@ -97,11 +99,16 @@ public class PartieKahootController {
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public PartieKahootStatusDTO demarrerPartie(@PathVariable String codeInvitation){ public PartieKahootStatusDTO demarrerPartie(@PathVariable String codeInvitation){
PartieKahoot partieKahoot = this.partieKahootService.getPartieKahootByIdOrCodeInvitation(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){ if(partieKahoot.getStatus() == Status.Started){
throw new PartyAlreadyStartedException(); throw new PartyAlreadyStartedException();
} }
partieKahoot.setStatus(Status.Started); partieKahoot.setStatus(Status.Started);
partieKahoot.setQuestionActuel(partieKahoot.getQuestions().getFirst().getQuestion()); partieKahoot.setQuestionActuel(partieKahoot.getQuestions().getFirst().getQuestion());
partieKahoot.setTempsLimiteReponse(tempsLimiteReponse);
partieKahoot = this.partieKahootService.update(partieKahoot); partieKahoot = this.partieKahootService.update(partieKahoot);
return this.modelMapper.map(partieKahoot, PartieKahootStatusDTO.class); return this.modelMapper.map(partieKahoot, PartieKahootStatusDTO.class);
} }

@ -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.joueur.JoueurSimpleDTO;
import fr.iut.sciencequest.sae.dto.question.QuestionDTO; import fr.iut.sciencequest.sae.dto.question.QuestionDTO;
import fr.iut.sciencequest.sae.dto.thematique.ThematiqueSimpleDTO; import fr.iut.sciencequest.sae.dto.thematique.ThematiqueSimpleDTO;
import fr.iut.sciencequest.sae.entities.Question;
import fr.iut.sciencequest.sae.entities.Status; import fr.iut.sciencequest.sae.entities.Status;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.*; import lombok.*;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
@ -39,4 +40,6 @@ public class PartieKahootDTO extends RepresentationModel<PartieKahootDTO> {
private QuestionDTO questionActuel; private QuestionDTO questionActuel;
private List<QuestionDTO> questions; private List<QuestionDTO> questions;
private Calendar tempsLimiteReponse;
} }

@ -7,7 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Calendar;
import java.util.List; import java.util.List;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -23,7 +23,9 @@ public class PartieKahoot extends Partie {
@JoinColumn(name="idquestionactuel") @JoinColumn(name="idquestionactuel")
private Question questionActuel; private Question questionActuel;
//private Date tempsLimiteReponse; @Column(name = "tempslimitereponse")
@Temporal(TemporalType.TIMESTAMP)
private Calendar tempsLimiteReponse;
@JsonManagedReference @JsonManagedReference
@OneToMany(mappedBy = "partie", fetch = FetchType.EAGER) @OneToMany(mappedBy = "partie", fetch = FetchType.EAGER)

@ -127,7 +127,8 @@ CREATE TABLE Partie(
-- Partie Kahoot -- Partie Kahoot
CREATE TABLE PartieKahoot( CREATE TABLE PartieKahoot(
idPartie integer PRIMARY KEY REFERENCES Partie(id), idPartie integer PRIMARY KEY REFERENCES Partie(id),
idQuestionActuel integer REFERENCES Question(id) idQuestionActuel integer REFERENCES Question(id),
tempsLimiteReponse TIMESTAMP
); );
-- JOUEUR -- JOUEUR

Loading…
Cancel
Save