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 11cae5f..4883162 100644 --- a/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java +++ b/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java @@ -10,6 +10,7 @@ import ru.soune.ReferralRepo; import ru.soune.ReferralService; import ru.soune.nocopy.client.YooKassaClient; import ru.soune.nocopy.dto.payment.PaymentMethodDTO; +import ru.soune.nocopy.entity.company.Company; import ru.soune.nocopy.entity.notification.NotificationType; import ru.soune.nocopy.entity.payment.Payment; import ru.soune.nocopy.entity.payment.PaymentMethod; @@ -57,6 +58,8 @@ public class PaymentService { private final NotificationService notificationService; + private final CompanyRepository companyRepository; + @Transactional public Payment createPayment(String email, Long tariffId, String operationType, String paymentUuid) { User user = userRepository.findByEmail(email); @@ -244,10 +247,20 @@ public class PaymentService { activeTariffInfo.setAutoRenewal(autoRenewal); tariffInfo.setPaymentMethodId(paymentMethodId); - TariffInfo saveTariffInfo = tariffInfoService.addTariffInfo(tariffInfo); + user.setPersonalTariffInfo(tariffInfo); - tariffInfoService.linkUserTariffInfo(user, saveTariffInfo); - tariffInfoService.linkCompanyTariffInfo(user, saveTariffInfo); + Company company = user.getCompany(); + if (company != null) { + company.setTariffInfo(tariffInfo); + } + + tariffInfoService.addTariffInfo(tariffInfo); + + userRepository.save(user); + + if (company != null) { + companyRepository.save(company); + } } } }