/
irazabav
/
software-design
Обзор
Документация
Войти
/
irazabav
/
software-design
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
finalProject/src/main/java/ru/sbrf/controller/HotelController.java
82 строки
3 KB
Irina Zbavnikova
fix comments
22 июн 2025, 12:28
22 июн 2025, 12:28
87a6e82
Код
Авторство
О чём код?
package ru.sbrf.controller; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import ru.sbrf.model.pet.Pet; import ru.sbrf.model.room.Room; import ru.sbrf.services.HotelService; import java.util.List; import java.util.Map; import java.util.Objects; @RestController @RequestMapping("/api") @RequiredArgsConstructor public class HotelController { private final HotelService service; @GetMapping("/rooms/and/pets") public Map<Room, List<Pet>> listRoomsWithPets() { return service.getAllRoomsWithPets(); } @GetMapping("/pets") public List<Pet> listPets() { return service.getAllPets(); } @PostMapping("/pets/auto") public ResponseEntity<?> addPetAuto(@RequestBody Pet pet) { Map<Pet, Room> map; try { map = service.checkInPetAutoAssign(pet); } catch (Exception e) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("error", e.getMessage())); } return ResponseEntity.ok(Map.of("message", map)); } @PostMapping("/pets") public Pet addPet(@RequestBody Pet pet) { return service.addPet(pet); } @DeleteMapping("/pets/{id}") public ResponseEntity<?> removePet(@PathVariable Long id) { try { service.checkOutPet(id); } catch (Exception e) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("error", e.getMessage())); } return ResponseEntity.ok(Map.of("message", "Питомец удален")); } @PostMapping("/assign") public ResponseEntity<?> assignPet(@RequestParam Long petId, @RequestParam Long roomId) { Pet pet; try { pet = service.checkInPet(petId, roomId); } catch (Exception e) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("error", e.getMessage())); } return ResponseEntity.ok(Map.of("message", pet)); } @PostMapping("/rooms") public Room addRoom(@RequestBody Room room) { return service.addRoom(room); } @DeleteMapping("/rooms/{id}") public ResponseEntity<?> removeRoom(@PathVariable Long id) { try { service.removeRoom(id); } catch (Exception e) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("error", e.getMessage())); } return ResponseEntity.ok(Map.of("message", "Комната удалена")); } }