/
ZufarFaiz
/
SberProject
Обзор
Документация
Войти
/
ZufarFaiz
/
SberProject
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/main/java/com/example/JobExchange_app/service/impl/AuthServiceImpl.java
63 строки
2 KB
Семейный
Добавил логи
06 июн 2025, 23:26
06 июн 2025, 23:26
145678e
Код
Авторство
О чём код?
package com.example.JobExchange_app.service.impl; import com.example.JobExchange_app.dto.UserDto; import com.example.JobExchange_app.model.*; import com.example.JobExchange_app.repository.CompanyRepository; import com.example.JobExchange_app.repository.RecruiterRepository; import com.example.JobExchange_app.repository.UserRepository; import com.example.JobExchange_app.service.AuthService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import com.example.JobExchange_app.repository.ApplicantRepository; @Slf4j @Service @RequiredArgsConstructor public class AuthServiceImpl implements AuthService { private final UserRepository userRepository; private final ApplicantRepository applicantRepository; private final RecruiterRepository recruiterRepository; private final PasswordEncoder passwordEncoder; private final CompanyRepository companyRepository; public void registerUser(UserDto registrationDto) { if (userRepository.findByUserName(registrationDto.getUserName()).isPresent()) { throw new IllegalArgumentException("Имя пользователя уже занято"); } if (userRepository.findByEmail(registrationDto.getEmail()).isPresent()) { throw new IllegalArgumentException("Email уже зарегистрирован"); } User user = new User(); user.setUserName(registrationDto.getUserName()); user.setEmail(registrationDto.getEmail()); user.setPassword(passwordEncoder.encode(registrationDto.getPassword())); user.setRole(registrationDto.getRole()); User savedUser = userRepository.save(user); if (user.getRole() == Role.APPLICANT) { Applicant applicant = new Applicant(); applicant.setUser(savedUser); applicantRepository.save(applicant); } else if (user.getRole() == Role.RECRUITER) { Company company = companyRepository.findById(registrationDto.getCompanyId()) .orElseThrow(() -> new IllegalArgumentException("Компания не найдена")); Recruiter recruiter = new Recruiter(); recruiter.setUser(savedUser); recruiter.setCompany(company); recruiterRepository.save(recruiter); } log.info("Зарегестирован новый пользователь. ID: "); } }