This commit is contained in:
@@ -13,6 +13,8 @@ public class RegRequest {
|
||||
|
||||
private String companyName;
|
||||
|
||||
private String inn;
|
||||
|
||||
@NotEmpty(message = "Need account type")
|
||||
private String accountType;
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@ public class Company {
|
||||
@Column(name = "phone")
|
||||
private String phone;
|
||||
|
||||
@Column(name = "inn", unique = true)
|
||||
private String inn;
|
||||
|
||||
@CreatedDate
|
||||
@Column(name = "register_date", updatable = false, nullable = false)
|
||||
private LocalDateTime registerDate = LocalDateTime.now();
|
||||
|
||||
@@ -13,6 +13,8 @@ import java.util.Optional;
|
||||
public interface CompanyRepository extends JpaRepository<Company, String> {
|
||||
Optional<Company> findByCompanyName(String companyName);
|
||||
|
||||
Optional<Company> findByInn(String companyName);
|
||||
|
||||
boolean existsByCompanyName(String companyName);
|
||||
|
||||
List<Company> findByCompanyNameContainingIgnoreCase(String name);
|
||||
|
||||
@@ -17,7 +17,6 @@ import ru.soune.nocopy.entity.tarif.TariffType;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.Permission;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.MaxUserCountIsOver;
|
||||
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
@@ -26,7 +25,6 @@ import ru.soune.nocopy.repository.TariffInfoRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.file.CheckCounterService;
|
||||
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
||||
import ru.soune.nocopy.service.tariff.TariffService;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -153,8 +151,15 @@ public class AuthService {
|
||||
}
|
||||
|
||||
private void createCompanyAccount(RegRequest request, User user) {
|
||||
Optional<Company> byInn = companyRepository.findByInn(request.getInn());
|
||||
|
||||
if (byInn.isPresent()) {
|
||||
throw new IllegalStateException("Company was already created");
|
||||
}
|
||||
|
||||
Company company = new Company();
|
||||
company.setCompanyName(request.getCompanyName());
|
||||
company.setInn(request.getInn());
|
||||
|
||||
TariffInfo companyTariff = tariffInfoService.createTariffInfo(TariffType.DEMO);
|
||||
company.setTariffInfo(companyTariff);
|
||||
|
||||
Reference in New Issue
Block a user