diff --git a/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java b/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java index 4883162..7195019 100644 --- a/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java +++ b/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java @@ -249,18 +249,10 @@ public class PaymentService { user.setPersonalTariffInfo(tariffInfo); - Company company = user.getCompany(); - if (company != null) { - company.setTariffInfo(tariffInfo); - } + TariffInfo addedTariffInfo = tariffInfoService.addTariffInfo(tariffInfo); - tariffInfoService.addTariffInfo(tariffInfo); - - userRepository.save(user); - - if (company != null) { - companyRepository.save(company); - } + tariffInfoService.linkUserTariffInfo(user, addedTariffInfo); + tariffInfoService.linkCompanyTariffInfo(user.getId(), addedTariffInfo); } } } diff --git a/src/main/java/ru/soune/nocopy/service/tariff/TariffInfoService.java b/src/main/java/ru/soune/nocopy/service/tariff/TariffInfoService.java index 6d615a7..e82335c 100644 --- a/src/main/java/ru/soune/nocopy/service/tariff/TariffInfoService.java +++ b/src/main/java/ru/soune/nocopy/service/tariff/TariffInfoService.java @@ -165,10 +165,11 @@ public class TariffInfoService { } @Transactional - public void linkCompanyTariffInfo(User user, TariffInfo tariffInfo) { - Company company = user.getCompany(); + public void linkCompanyTariffInfo(Long userId, TariffInfo tariffInfo) { + User user = userRepository.findById(userId).orElse(null); - if (company != null) { + if (user != null && user.getCompany() != null) { + Company company = user.getCompany(); company.setTariffInfo(tariffInfo); companyRepository.save(company);