diff --git a/src/main/java/com/example/nto/controller/BookingController.java b/src/main/java/com/example/nto/controller/BookingController.java index 6c90218..e0b2af4 100644 --- a/src/main/java/com/example/nto/controller/BookingController.java +++ b/src/main/java/com/example/nto/controller/BookingController.java @@ -3,6 +3,7 @@ package com.example.nto.controller; import com.example.nto.entity.Booking; import com.example.nto.service.BookingService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -31,7 +32,17 @@ public class BookingController { public ResponseEntity>> getAvailablePlaces( @PathVariable String code ) { - Map> response = bookingService.getAvailablePlaces(code); - return ResponseEntity.ok(response); + try { + if (!bookingService.isEmployeeExists(code)) { + return ResponseEntity + .status(401).build(); + } + Map> response = bookingService.getAvailablePlaces(code); + + return ResponseEntity.ok(response); + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).build(); + + } } } diff --git a/src/main/java/com/example/nto/service/BookingService.java b/src/main/java/com/example/nto/service/BookingService.java index 3488d55..0fc3edc 100644 --- a/src/main/java/com/example/nto/service/BookingService.java +++ b/src/main/java/com/example/nto/service/BookingService.java @@ -18,4 +18,6 @@ public interface BookingService { Optional getBookingById(Long id); Map> getAvailablePlaces(String code); + + boolean isEmployeeExists(String code); } diff --git a/src/main/java/com/example/nto/service/impl/BookingServiceImpl.java b/src/main/java/com/example/nto/service/impl/BookingServiceImpl.java index 450a603..09dbf12 100644 --- a/src/main/java/com/example/nto/service/impl/BookingServiceImpl.java +++ b/src/main/java/com/example/nto/service/impl/BookingServiceImpl.java @@ -46,6 +46,9 @@ public class BookingServiceImpl implements BookingService { this.placeRepository = placeRepository; this.employeeRepository = employeeRepository; } + public boolean isEmployeeExists(String code) { + return employeeRepository.findByCode(code).isPresent(); + } public Map> getAvailablePlaces(String employeeCode) { // 1. Получаем сотрудника (для контекста) Employee employee = employeeRepository.findByCode(employeeCode)