Done updating data when qr was scanned

This commit is contained in:
A1pha 2024-11-25 19:24:29 +03:00
parent f7c4e0a23a
commit dba8a9d00d
2 changed files with 22 additions and 1 deletions

View File

@ -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);
}

View File

@ -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<Employee> 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<Code> codeOptional = codeRepository.findById(employeeId);
if (codeOptional.isEmpty()) throw new RuntimeException("Code with id " + employeeId + "is not found");