From dba8a9d00df2a1c70268ff05c91d796d921ada6f Mon Sep 17 00:00:00 2001 From: A1pha Date: Mon, 25 Nov 2024 19:24:29 +0300 Subject: [PATCH] Done updating data when qr was scanned --- .../example/nto/service/EmployeeService.java | 1 + .../nto/service/impl/EmployeeServiceImpl.java | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/nto/service/EmployeeService.java b/src/main/java/com/example/nto/service/EmployeeService.java index b140c24..750e9c4 100644 --- a/src/main/java/com/example/nto/service/EmployeeService.java +++ b/src/main/java/com/example/nto/service/EmployeeService.java @@ -4,6 +4,7 @@ import com.example.nto.entity.Employee; public interface EmployeeService { + Employee updateEmployee(long id, Employee newEmployee); Employee findByLogin(String login); Boolean findExistByLogin(String login); } 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 a2e0f01..637b2d8 100644 --- a/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java @@ -9,6 +9,7 @@ import com.example.nto.service.EmployeeService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Optional; @Service @@ -18,6 +19,21 @@ public class EmployeeServiceImpl implements EmployeeService, CodeService { private final EmployeeRepository employeeRepository; private final CodeRepository codeRepository; + @Override + public Employee updateEmployee(long id, Employee newEmployee) { + Optional optionalEmployee = employeeRepository.findById(id); + if (optionalEmployee.isEmpty()) throw new RuntimeException("No such user with id" + id); + + Employee employee = optionalEmployee.get(); + employee.setName(newEmployee.getName()); + employee.setLogin(newEmployee.getLogin()); + employee.setPhoto(newEmployee.getPhoto()); + employee.setPosition(newEmployee.getPosition()); + employee.setLastVisit(newEmployee.getLastVisit()); + + return employeeRepository.save(employee); + } + @Override public Employee findByLogin(String login) { return employeeRepository.findByLogin(login); @@ -30,7 +46,11 @@ public class EmployeeServiceImpl implements EmployeeService, CodeService { @Override public Code update(String login, Code newCode) { - long employeeId = findByLogin(login).getId(); + Employee employee = findByLogin(login); + long employeeId = employee.getId(); + + employee.setLastVisit(LocalDateTime.now()); + updateEmployee(employeeId, employee); Optional codeOptional = codeRepository.findById(employeeId); if (codeOptional.isEmpty()) throw new RuntimeException("Code with id " + employeeId + "is not found");