This commit is contained in:
@@ -14,13 +14,16 @@ import ru.soune.nocopy.entity.payout.PayoutRequest;
|
|||||||
import ru.soune.nocopy.entity.payout.PayoutType;
|
import ru.soune.nocopy.entity.payout.PayoutType;
|
||||||
import ru.soune.nocopy.entity.user.AuthToken;
|
import ru.soune.nocopy.entity.user.AuthToken;
|
||||||
import ru.soune.nocopy.entity.user.User;
|
import ru.soune.nocopy.entity.user.User;
|
||||||
|
import ru.soune.nocopy.exception.InsufficientFundsException;
|
||||||
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
||||||
|
import ru.soune.nocopy.exception.PendingPayoutExistsException;
|
||||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||||
import ru.soune.nocopy.service.payout.PayoutMethodService;
|
import ru.soune.nocopy.service.payout.PayoutMethodService;
|
||||||
import ru.soune.nocopy.service.payout.PayoutRequestService;
|
import ru.soune.nocopy.service.payout.PayoutRequestService;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -40,8 +43,8 @@ public class PayoutController {
|
|||||||
Create payout
|
Create payout
|
||||||
*/
|
*/
|
||||||
@PostMapping("/create-request")
|
@PostMapping("/create-request")
|
||||||
public ResponseEntity<PayoutRequest> createPayoutRequest(@RequestHeader("Authorization") String tokenHeader,
|
public ResponseEntity<?> createPayoutRequest(@RequestHeader("Authorization") String tokenHeader,
|
||||||
@Valid @RequestBody PayoutRequestDTO request) {
|
@Valid @RequestBody PayoutRequestDTO request) {
|
||||||
String token = tokenHeader.replace("Bearer ", "");
|
String token = tokenHeader.replace("Bearer ", "");
|
||||||
|
|
||||||
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(token);
|
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(token);
|
||||||
@@ -50,9 +53,12 @@ public class PayoutController {
|
|||||||
|
|
||||||
User user = authToken.getUser();
|
User user = authToken.getUser();
|
||||||
|
|
||||||
PayoutRequest payoutRequest = payoutRequestService.createPayoutRequest(user.getId(), request);
|
try {
|
||||||
|
PayoutRequest payoutRequest = payoutRequestService.createPayoutRequest(user.getId(), request);
|
||||||
return ResponseEntity.status(HttpStatus.CREATED).body(payoutRequest);
|
return ResponseEntity.status(HttpStatus.CREATED).body(payoutRequest);
|
||||||
|
} catch (InsufficientFundsException | PendingPayoutExistsException e) {
|
||||||
|
return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user