From 3787feee6801e939947029ec8a55855e39ea336d Mon Sep 17 00:00:00 2001 From: truettwo Date: Thu, 20 Feb 2025 13:50:17 +0300 Subject: [PATCH] open work minimum final --- .../example/nto/controller/EmployeeController.java | 4 +++- .../nto/service/impl/EmployeeServiceImpl.java | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/example/nto/controller/EmployeeController.java b/src/main/java/com/example/nto/controller/EmployeeController.java index 46defd8..f94816d 100644 --- a/src/main/java/com/example/nto/controller/EmployeeController.java +++ b/src/main/java/com/example/nto/controller/EmployeeController.java @@ -74,9 +74,11 @@ public class EmployeeController { @PatchMapping("/{login}/open") public ResponseEntity openDoor(@PathVariable String login, @RequestBody Long code) { Optional employee = employeeService.findByLogin(login); - if (employee.isPresent() && !employee.get().isBlocked() && employeeService.validateCode(login, code)) { + + if (employee.isPresent() && !employee.get().isBlocked() && employeeService.openDoor(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 032a57d..79e4f82 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)) { // Проверяем код без привязки к логину + if (!validateCode(code)) { // Проверяем, есть ли код в таблице `code` return false; // Код неверный } @@ -54,14 +54,15 @@ 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; }