Minipigs-Back/src/main/java/com/example/nto/service/impl/EmployeeServiceImpl.java

107 lines
3.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.nto.service.impl;
import com.example.nto.entity.Code;
import com.example.nto.entity.Employee;
import com.example.nto.repository.CodeRepository;
import com.example.nto.repository.EmployeeRepository;
import com.example.nto.service.EmployeeService;
import org.hibernate.sql.Update;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Optional;
@Service
public class EmployeeServiceImpl implements EmployeeService {
private final EmployeeRepository employeeRepository;
private final CodeRepository codeRepository;
@Autowired
public EmployeeServiceImpl(EmployeeRepository employeeRepository, CodeRepository codeRepository){
this.employeeRepository = employeeRepository;
this.codeRepository = codeRepository;
}
/**
* Проверить существование логина в базе данных
* @param login логин убзера
* @return Существует ли запись в бд
*/
@Override
public boolean checkEmployeeExists(String login) {
return employeeRepository.existsByLogin(login);
}
/**
* Получить информацию о юбзере по логину
* @param login логин юбзера
* @return всю инфу по юзеру
*/
@Override
public Optional<Employee> getEmployeeInfo(String login) {
return employeeRepository.getByLogin(login);
}
/**
* Попытка открыть дверь
* @param login Логин юзера
* @return true если дверь открыта, иначе false
*/
@Override
public boolean doorIsOpen(String login, long code) {
if (employeeRepository.existsByLogin(login)) {
Code codeObject = new Code();
codeObject.setValue(code);
codeRepository.save(codeObject);
return true;
}
return false;
}
/**
* Эта темка обновит время последнего визита до текущего момента
* @param login логин пользователя
*/
@Override
public void updateLastVisit(String login) {
Employee employee = employeeRepository.getByLogin(login).get();
employee.setLastVisit(LocalDateTime.now());
}
@Override
public Employee getEmployeeInfoById(Long id) {
return employeeRepository.findById(id).get();
}
@Override
public void deleteEmployee(Long id) {
employeeRepository.deleteById(id);
}
@Override
public Employee updateEmployeeLogin(Long id, String newLogin) {
Employee employee = employeeRepository.getById(id);
employee.setLogin(newLogin);
employeeRepository.save(employee);
return employee;
}
@Override
public Employee updateEmployeeAvatar(Long id, String newAvatar) {
Employee employee = employeeRepository.getById(id);
employee.setPhoto(newAvatar);
employeeRepository.save(employee);
return employee;
}
@Override
public Employee updateEmployeePosition(Long id, String newPosition) {
Employee employee = employeeRepository.getById(id);
employee.setPosition(newPosition);
employeeRepository.save(employee);
return employee; }
}