From a21eb899b33ae973410abc9107ac2e38d7b2f06c Mon Sep 17 00:00:00 2001 From: vladp Date: Thu, 26 Mar 2026 11:40:32 +0700 Subject: [PATCH] dev add new status fo file --- .../nocopy/controller/PayoutController.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/controller/PayoutController.java b/src/main/java/ru/soune/nocopy/controller/PayoutController.java index ba8b827..39246f5 100644 --- a/src/main/java/ru/soune/nocopy/controller/PayoutController.java +++ b/src/main/java/ru/soune/nocopy/controller/PayoutController.java @@ -14,13 +14,16 @@ import ru.soune.nocopy.entity.payout.PayoutRequest; import ru.soune.nocopy.entity.payout.PayoutType; import ru.soune.nocopy.entity.user.AuthToken; import ru.soune.nocopy.entity.user.User; +import ru.soune.nocopy.exception.InsufficientFundsException; import ru.soune.nocopy.exception.NotFoundAuthToken; +import ru.soune.nocopy.exception.PendingPayoutExistsException; import ru.soune.nocopy.repository.AuthTokenRepository; import ru.soune.nocopy.service.payout.PayoutMethodService; import ru.soune.nocopy.service.payout.PayoutRequestService; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; @@ -40,8 +43,8 @@ public class PayoutController { Create payout */ @PostMapping("/create-request") - public ResponseEntity createPayoutRequest(@RequestHeader("Authorization") String tokenHeader, - @Valid @RequestBody PayoutRequestDTO request) { + public ResponseEntity createPayoutRequest(@RequestHeader("Authorization") String tokenHeader, + @Valid @RequestBody PayoutRequestDTO request) { String token = tokenHeader.replace("Bearer ", ""); Optional tokenOptional = authTokenRepository.findByToken(token); @@ -50,9 +53,12 @@ public class PayoutController { User user = authToken.getUser(); - PayoutRequest payoutRequest = payoutRequestService.createPayoutRequest(user.getId(), request); - - return ResponseEntity.status(HttpStatus.CREATED).body(payoutRequest); + try { + PayoutRequest payoutRequest = payoutRequestService.createPayoutRequest(user.getId(), request); + return ResponseEntity.status(HttpStatus.CREATED).body(payoutRequest); + } catch (InsufficientFundsException | PendingPayoutExistsException e) { + return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage()); + } } /*