Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @RestController
- @RequestMapping("/")
- @RequiredArgsConstructor
- public class FloristsController {
- private final FlowerRepository flowerRepository;
- private final PriceListRepository priceListRepository;
- //--------------------------------KWIATY--------------------------------------------------------------------
- @GetMapping("/flower")
- public ResponseEntity<List<Flower>> getAllFlowers(){
- return ResponseEntity.ok(flowerRepository.findAll());
- }
- @PostMapping("/")
- public ResponseEntity<Flower> newFlower(@RequestBody @Valid Flower flower){
- return new ResponseEntity<>(flowerRepository.saveAndFlush(flower), HttpStatus.CREATED);
- }
- @GetMapping("/{id}")
- public ResponseEntity<Flower> getFlower(@PathVariable("id") @Valid Long id){
- return ResponseEntity.ok(flowerRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Unknown ID: " + id)));
- }
- @DeleteMapping("/{id}")
- public ResponseEntity<Flower> buyFlower(@PathVariable("id") @Valid Long id){
- if(!flowerRepository.existsById(id)){
- return ResponseEntity.notFound().build();
- }
- flowerRepository.deleteById(id);
- return ResponseEntity.noContent().build();
- }
- @PutMapping("/{id}")
- public Flower editFlowerById(@RequestBody Flower newFlower, @PathVariable("id") @Valid Long id){
- return flowerRepository.findById(id)
- .map(flower -> {
- flower.setName(newFlower.getName());
- flower.setColour(newFlower.getColour());
- return flowerRepository.save(flower);
- }).orElseGet(() -> {
- newFlower.setId(id);
- return flowerRepository.save(newFlower);
- });
- }
- //--------------------------------CENNIK--------------------------------------------------------------------
- @GetMapping("/pricelist")
- public ResponseEntity<List<PriceList>> getAllPriceLists(){
- return ResponseEntity.ok(priceListRepository.findAll());
- }
- @GetMapping("/pricelist/{id}")
- public ResponseEntity <PriceList> getPriceListById(@PathVariable("id") @Valid Long id){
- return ResponseEntity.ok(priceListRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Unknown Price List ID: " + id)));
- }
- @PostMapping("/pricelist")
- public ResponseEntity<PriceList> newPriceList(@RequestBody @Valid PriceList priceList){
- return new ResponseEntity<>(priceListRepository.saveAndFlush(priceList), HttpStatus.CREATED);
- }
- @DeleteMapping("/pricelist/{id}")
- public ResponseEntity<PriceList> deletePriceListById(@PathVariable("id") @Valid long id){
- if(!priceListRepository.existsById(id)){
- return ResponseEntity.notFound().build();
- }
- priceListRepository.deleteById(id);
- return ResponseEntity.noContent().build();
- }
- }
- //--------------------------------REPOSITORY--------------------------------------------------------------------
- public interface FlowerRepository extends JpaRepository <Flower, Long>{
- }
- public interface PriceListRepository extends JpaRepository <PriceList, Long> {
- }
- //--------------------------------MODEL--------------------------------------------------------------------
- @Entity
- @Data
- @AllArgsConstructor
- public class Flower {
- @Id
- @GeneratedValue
- private long id;
- @NotEmpty
- private String name;
- @NotEmpty
- private String colour;
- }
- @Entity
- @Data
- public class PriceList {
- @Id
- @GeneratedValue
- private long id;
- @NotEmpty
- private String name;
- @NotEmpty
- private LocalDateTime dateTimeFrom;
- @NotEmpty
- private LocalDateTime dateTimeTo;
- @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
- @JoinColumn(name = "pricelistpositions_id")
- private List<PriceListPosition> priceListPositions;
- }
- @Data
- @Entity
- public class PriceListPosition {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private long id;
- @Transient
- private Flower flower;
- private double price;
- @ManyToOne
- @JoinColumn(name = "pricelist_id")
- private PriceList priceList;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement