dev add api for payment
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-02-18 18:26:11 +07:00
parent 3d5856d302
commit d7e3afb4dc
8 changed files with 111 additions and 4 deletions
@@ -10,13 +10,15 @@ import ru.soune.nocopy.entity.tarif.Tariff;
import ru.soune.nocopy.entity.tarif.TariffInfo;
import ru.soune.nocopy.entity.tarif.TariffStatus;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.exception.PaymentNotFoundException;
import ru.soune.nocopy.exception.UserNotFoundException;
import ru.soune.nocopy.repository.PaymentRepository;
import ru.soune.nocopy.repository.TariffInfoRepository;
import ru.soune.nocopy.repository.TariffRepository;
import ru.soune.nocopy.repository.UserRepository;
import ru.soune.nocopy.service.tariff.TariffInfoService;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@Service
@@ -28,8 +30,6 @@ public class PaymentService {
private final TariffRepository tariffRepository;
private final TariffInfoRepository tariffInfoRepository;
private final TariffInfoService tariffInfoService;
@Transactional
@@ -88,6 +88,21 @@ public class PaymentService {
paymentRepository.save(payment);
}
public List<Payment> userPayments(String email) {
User user = userRepository.findByEmail(email);
if (user == null) {
throw new UserNotFoundException("User not found");
}
return paymentRepository.findByUserId(user.getId());
}
public Payment paymentInfo(String uuid) {
return paymentRepository.findByPaymentUuid(uuid).orElseThrow(() ->
new PaymentNotFoundException("Payment not found"));
}
private void activateTariffForUser(User user, Tariff tariff) {
TariffInfo tariffInfo = new TariffInfo();
tariffInfo.setStatus(TariffStatus.ACTIVE);