카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
Some checks failed
Verify / source-contract (push) Has been cancelled

This commit is contained in:
forge-bot 2026-07-30 10:50:48 +00:00
parent 4146f9ec3b
commit 1e65c277a5

View file

@ -0,0 +1,47 @@
package com.acquirex.controller;
import com.acquirex.dto.ApprovalRequestDto;
import com.acquirex.dto.ApprovalResponseDto;
import com.acquirex.service.ApprovalService;
import jakarta.validation.Valid;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/api/v1/approvals")
public class ApprovalController {
private final ApprovalService approvalService;
public ApprovalController(ApprovalService approvalService) {
this.approvalService = approvalService;
}
@PostMapping
public ResponseEntity<ApprovalResponseDto> requestApproval(@Valid @RequestBody ApprovalRequestDto request) {
ApprovalResponseDto response = approvalService.requestApproval(request);
return ResponseEntity.status(HttpStatus.CREATED).body(response);
}
@PostMapping("/{id}/approve")
public ResponseEntity<ApprovalResponseDto> approveRequest(@PathVariable Long id) {
ApprovalResponseDto response = approvalService.approveRequest(id);
return ResponseEntity.ok(response);
}
@PostMapping("/{id}/reject")
public ResponseEntity<ApprovalResponseDto> rejectRequest(@PathVariable Long id, @RequestBody Map<String, String> body) {
String reason = body.getOrDefault("reason", "사유 미지정");
ApprovalResponseDto response = approvalService.rejectRequest(id, reason);
return ResponseEntity.ok(response);
}
@GetMapping("/{id}")
public ResponseEntity<ApprovalResponseDto> getApprovalStatus(@PathVariable Long id) {
ApprovalResponseDto response = approvalService.getApprovalStatus(id);
return ResponseEntity.ok(response);
}
}