카드 매입 승인 경로 Spring Boot 3 전환 #8

Closed
forge-bot wants to merge 8 commits from forge/ACX-E2E-1785394564819-attempt-9-run-7ff7e68d0bcf into main
Showing only changes of commit 1e65c277a5 - Show all commits

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);
}
}