diff --git a/src/main/java/com/example/nto/controller/EmployeeController.java b/src/main/java/com/example/nto/controller/EmployeeController.java index f94816d..46defd8 100644 --- a/src/main/java/com/example/nto/controller/EmployeeController.java +++ b/src/main/java/com/example/nto/controller/EmployeeController.java @@ -74,11 +74,9 @@ public class EmployeeController { @PatchMapping("/{login}/open") public ResponseEntity<String> openDoor(@PathVariable String login, @RequestBody Long code) { Optional<Employee> employee = employeeService.findByLogin(login); - - if (employee.isPresent() && !employee.get().isBlocked() && employeeService.openDoor(login, code)) { + if (employee.isPresent() && !employee.get().isBlocked() && employeeService.validateCode(login, code)) { return ResponseEntity.ok("Door opened"); } - return ResponseEntity.status(403).body("Access denied"); } } \ No newline at end of file diff --git a/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java index 79e4f82..032a57d 100644 --- a/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java @@ -46,7 +46,7 @@ public class EmployeeServiceImpl implements EmployeeService { @Override public boolean openDoor(String login, long code) { - if (!validateCode(code)) { // Проверяем, есть ли код в таблице `code` + if (!validateCode(code)) { // Проверяем код без привязки к логину return false; // Код неверный } @@ -54,15 +54,14 @@ public class EmployeeServiceImpl implements EmployeeService { if (employeeOpt.isPresent()) { Employee employee = employeeOpt.get(); - // Обновляем данные входа сотрудника - employee.setLastVisit(LocalDateTime.now()); // Фиксируем время входа - employee.setLastEntryCode(code); // Записываем использованный код - employee.setEntryMethod("QR"); // Фиксируем метод входа + // Обновляем данные входа + employee.setLastVisit(LocalDateTime.now()); // Обновляем время последнего визита + employee.setLastEntryCode(code); // Сохраняем использованный код + employee.setEntryMethod("QR"); // Отмечаем способ входа // Сохраняем изменения employeeRepository.save(employee); - - return true; // Дверь открывается + return true; } return false; }