diff --git a/src/main/java/ru/soune/nocopy/service/payout/PayoutMethodService.java b/src/main/java/ru/soune/nocopy/service/payout/PayoutMethodService.java index 023f9b9..fce8c5e 100644 --- a/src/main/java/ru/soune/nocopy/service/payout/PayoutMethodService.java +++ b/src/main/java/ru/soune/nocopy/service/payout/PayoutMethodService.java @@ -7,10 +7,7 @@ import org.springframework.transaction.annotation.Transactional; import ru.soune.nocopy.dto.payout.AddBankTransferRequest; import ru.soune.nocopy.dto.payout.AddCardRequest; import ru.soune.nocopy.dto.payout.PayoutMethodDTO; -import ru.soune.nocopy.entity.payout.BankTransferPayoutMethod; -import ru.soune.nocopy.entity.payout.CardPayoutMethod; -import ru.soune.nocopy.entity.payout.InternalPayoutMethod; -import ru.soune.nocopy.entity.payout.PayoutMethod; +import ru.soune.nocopy.entity.payout.*; import ru.soune.nocopy.entity.user.User; import ru.soune.nocopy.exception.DuplicateMethodException; import ru.soune.nocopy.repository.PayoutMethodRepository; @@ -90,6 +87,16 @@ public class PayoutMethodService { @Transactional public CardPayoutMethod addCardMethod(Long userId, AddCardRequest request) { + List byUserId = payoutMethodRepository.findByUserId(userId); + + if (!byUserId.isEmpty()) { + for (PayoutMethod payoutMethod : byUserId) { + if (payoutMethod.getMethodType().equals(PayoutType.CARD.getDisplayName())) { + payoutMethodRepository.delete(payoutMethod); + } + } + } + String cardHash = generateCardHash(request.getCardNumber()); if (payoutMethodRepository.existsByCardHash(cardHash)) {