3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
1
2
|
package etunicorn.controller;
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
3
|
import etunicorn.RestrictedTo;
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
4
|
import etunicorn.entity.Consommation;
|
2cc8026e
Geoffrey PREUD'HOMME
WIP Achat
|
5
|
import etunicorn.entity.Personne;
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
6
|
import etunicorn.generated.model.UpdateAcheteRequest;
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
7
8
9
|
import etunicorn.generated.model.UpdateConsommationByIdRequest;
import etunicorn.generated.model.UpdateConsommationRequest;
import etunicorn.repository.ConsommationRepository;
|
2cc8026e
Geoffrey PREUD'HOMME
WIP Achat
|
10
|
import etunicorn.service.PersonneService;
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
11
12
13
14
15
16
17
18
|
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
|
2cc8026e
Geoffrey PREUD'HOMME
WIP Achat
|
19
|
import java.util.LinkedHashMap;
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
20
21
22
23
24
25
26
27
28
29
30
|
/**
* etunicorn-server
* Copyright © 2017 Le Club Info Polytech Lille
* Tous droits réservés
*/
@RestController
public class ConsommationController extends BaseController implements etunicorn.generated.ConsommationController {
@Autowired
ConsommationRepository consommationRepository;
|
2cc8026e
Geoffrey PREUD'HOMME
WIP Achat
|
31
32
33
|
@Autowired
PersonneService personneService;
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
34
|
@Override
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
35
|
@RestrictedTo("CONSO_LIST")
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
36
37
38
39
40
|
public ResponseEntity<?> getConsommation() {
return new ResponseEntity<Object>(this.consommationRepository.findAll(), HttpStatus.OK);
}
private ResponseEntity<?> mergeConsommation(Consommation consommation, UpdateConsommationRequest updateConsommationRequest) {
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
41
42
43
44
45
46
47
48
|
if (updateConsommationRequest.getNom() != null) {
consommation.setNom(updateConsommationRequest.getNom());
}
if (updateConsommationRequest.getPrix() != null) {
consommation.setPrix(updateConsommationRequest.getPrix());
}
consommationRepository.save(consommation);
return new ResponseEntity(consommation, HttpStatus.CREATED);
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
49
50
51
|
}
@Override
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
52
|
@RestrictedTo("CONSO_ADD")
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
53
|
public ResponseEntity<?> updateConsommation(@Valid @RequestBody UpdateConsommationRequest updateConsommationRequest) {
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
54
55
|
Consommation consommation = new Consommation();
return mergeConsommation(consommation, updateConsommationRequest);
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
56
57
58
|
}
@Override
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
59
|
@RestrictedTo("CONSO_EDIT")
|
4ceffe1e
Geoffrey PREUD'HOMME
Correction /conso...
|
60
61
|
public ResponseEntity<?> updateConsommationById(@PathVariable Long idConsommation, @Valid @RequestBody UpdateConsommationByIdRequest updateConsommationByIdRequest) {
Consommation consommation = consommationRepository.findById(idConsommation.intValue());
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
62
63
64
65
66
67
68
|
if (consommation == null) {
return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
}
UpdateConsommationRequest updateConsommationRequest = new UpdateConsommationRequest();
updateConsommationRequest.setNom(updateConsommationByIdRequest.getNom());
updateConsommationRequest.setPrix(updateConsommationByIdRequest.getPrix());
return mergeConsommation(consommation, updateConsommationRequest);
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
69
70
71
|
}
@Override
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
72
|
@RestrictedTo("CONSO_GET")
|
4ceffe1e
Geoffrey PREUD'HOMME
Correction /conso...
|
73
74
|
public ResponseEntity<?> getConsommationById(@PathVariable Long idConsommation) {
Consommation consommation = consommationRepository.findById(idConsommation.intValue());
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
75
76
77
78
|
if (consommation == null) {
return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
}
return new ResponseEntity(consommation, HttpStatus.OK);
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
79
80
81
|
}
@Override
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
82
|
@RestrictedTo("CONSO_REMOVE")
|
4ceffe1e
Geoffrey PREUD'HOMME
Correction /conso...
|
83
84
|
public ResponseEntity<?> deleteConsommationById(@PathVariable Long idConsommation) {
Consommation consommation = consommationRepository.findById(idConsommation.intValue());
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
85
86
87
88
|
if (consommation == null) {
return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
}
consommationRepository.delete(consommation);
|
ce758498
Geoffrey PREUD'HOMME
Retourne quelque ...
|
89
|
return new ResponseEntity<Object>(HttpStatus.NO_CONTENT);
|
0fd5cbb2
Geoffrey PREUD'HOMME
Changements API &...
|
90
91
92
93
|
}
@Override
@RestrictedTo("CONSO_ACHAT")
|
4ceffe1e
Geoffrey PREUD'HOMME
Correction /conso...
|
94
|
public ResponseEntity<?> updateAchete(@PathVariable Long idConsommation, @Valid @RequestBody UpdateAcheteRequest updateAcheteRequest) {
|
2cc8026e
Geoffrey PREUD'HOMME
WIP Achat
|
95
96
97
98
99
100
101
102
103
104
105
106
|
Consommation consommation = consommationRepository.findById(idConsommation.intValue());
if (consommation == null) {
return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
}
if (!(updateAcheteRequest.getParticipant() instanceof LinkedHashMap)) {
return generateError(HttpStatus.BAD_REQUEST, "Participant doit être un objet");
}
Personne personne = personneService.getFromObject((LinkedHashMap<String, Object>) updateAcheteRequest.getParticipant());
if (personne == null) {
return generateError(HttpStatus.NOT_FOUND, "Personne inconnue");
}
// TODO To be continued...
|
3c4951b9
Geoffrey PREUD'HOMME
Date & Avancement...
|
107
108
109
|
return null;
}
}
|