카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
Some checks are pending
Verify / source-contract (push) Waiting to run
Some checks are pending
Verify / source-contract (push) Waiting to run
This commit is contained in:
parent
b3f0574fc1
commit
36f0b1c0c8
1 changed files with 67 additions and 0 deletions
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.acquirex.cardapproval.controller;
|
||||||
|
|
||||||
|
import com.acquirex.cardapproval.service.AcquisitionApprovalService;
|
||||||
|
import com.acquirex.cardapproval.service.AcquisitionApprovalService.AcquisitionApprovalRequest;
|
||||||
|
import com.acquirex.cardapproval.service.AcquisitionApprovalService.AcquisitionApprovalResponse;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 카드 매입 승인 REST 컨트롤러
|
||||||
|
* Spring Boot 3.x Web (Jakarta Servlet)
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/v1/acquisitions")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
|
public class AcquisitionApprovalController {
|
||||||
|
|
||||||
|
private final AcquisitionApprovalService service;
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
public ResponseEntity<AcquisitionApprovalResponse> processAcquisition(
|
||||||
|
@Valid @RequestBody AcquisitionApprovalRequest request) {
|
||||||
|
log.info("매입 승인 요청 수신: {}", request.getApprovalNumber());
|
||||||
|
AcquisitionApprovalResponse response = service.processAcquisition(request);
|
||||||
|
return ResponseEntity.status(HttpStatus.CREATED).body(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public ResponseEntity<AcquisitionApprovalResponse> getAcquisition(@PathVariable Long id) {
|
||||||
|
log.info("매입 승인 조회: ID={}", id);
|
||||||
|
return ResponseEntity.ok(service.getAcquisition(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/merchant/{merchantId}")
|
||||||
|
public ResponseEntity<List<AcquisitionApprovalResponse>> getAcquisitionsByMerchant(
|
||||||
|
@PathVariable String merchantId) {
|
||||||
|
log.info("가맹점별 매입 승인 목록 조회: 가맹점={}", merchantId);
|
||||||
|
return ResponseEntity.ok(service.getAcquisitionsByMerchant(merchantId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/period")
|
||||||
|
public ResponseEntity<List<AcquisitionApprovalResponse>> getAcquisitionsByPeriod(
|
||||||
|
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startDate,
|
||||||
|
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endDate) {
|
||||||
|
log.info("기간별 매입 승인 목록 조회: {} ~ {}", startDate, endDate);
|
||||||
|
return ResponseEntity.ok(service.getAcquisitionsByPeriod(startDate, endDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/{id}/cancel")
|
||||||
|
public ResponseEntity<AcquisitionApprovalResponse> cancelAcquisition(
|
||||||
|
@PathVariable Long id,
|
||||||
|
@RequestBody Map<String, String> cancelRequest) {
|
||||||
|
log.info("매입 취소 요청: ID={}", id);
|
||||||
|
String reason = cancelRequest.getOrDefault("reason", "고객 요청");
|
||||||
|
return ResponseEntity.ok(service.cancelAcquisition(id, reason));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue