카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
Some checks failed
Verify / source-contract (push) Has been cancelled
Some checks failed
Verify / source-contract (push) Has been cancelled
This commit is contained in:
parent
fc2e4d049c
commit
acc4062cbf
1 changed files with 59 additions and 0 deletions
|
|
@ -0,0 +1,59 @@
|
|||
package com.acquirex.controller;
|
||||
|
||||
import com.acquirex.service.AcquisitionRequest;
|
||||
import com.acquirex.service.AcquisitionResponse;
|
||||
import com.acquirex.service.AcquisitionService;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 카드 매입 승인 REST 컨트롤러 - Spring Boot 3 (jakarta.validation)
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/acquisitions")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class AcquisitionController {
|
||||
|
||||
private final AcquisitionService acquisitionService;
|
||||
|
||||
@PostMapping
|
||||
public ResponseEntity<AcquisitionResponse> registerAcquisition(@Valid @RequestBody AcquisitionRequest request) {
|
||||
log.info("매입 요청 수신: {}", request);
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(acquisitionService.registerAcquisition(request));
|
||||
}
|
||||
|
||||
@PostMapping("/{transactionId}/approve")
|
||||
public ResponseEntity<AcquisitionResponse> approveAcquisition(@PathVariable String transactionId) {
|
||||
log.info("매입 승인 요청: transactionId={}", transactionId);
|
||||
return ResponseEntity.ok(acquisitionService.approveAcquisition(transactionId));
|
||||
}
|
||||
|
||||
@PostMapping("/{transactionId}/reject")
|
||||
public ResponseEntity<AcquisitionResponse> rejectAcquisition(@PathVariable String transactionId, @RequestBody Map<String, String> body) {
|
||||
log.info("매입 거절 요청: transactionId={}", transactionId);
|
||||
return ResponseEntity.ok(acquisitionService.rejectAcquisition(transactionId, body.getOrDefault("reason", "사유 미지정")));
|
||||
}
|
||||
|
||||
@GetMapping("/{transactionId}")
|
||||
public ResponseEntity<AcquisitionResponse> getAcquisition(@PathVariable String transactionId) {
|
||||
log.info("매입 조회 요청: transactionId={}", transactionId);
|
||||
return ResponseEntity.ok(acquisitionService.getAcquisition(transactionId));
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public ResponseEntity<List<AcquisitionResponse>> getAcquisitions(@RequestParam(required = false) String merchantId) {
|
||||
log.info("매입 목록 조회: merchantId={}", merchantId);
|
||||
List<AcquisitionResponse> responses = (merchantId != null && !merchantId.isBlank())
|
||||
? acquisitionService.getAcquisitionsByMerchant(merchantId)
|
||||
: acquisitionService.getPendingAcquisitions();
|
||||
return ResponseEntity.ok(responses);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue