diff --git a/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalReq.java b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalReq.java new file mode 100644 index 0000000..6a630cd --- /dev/null +++ b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalReq.java @@ -0,0 +1,26 @@ +package io.shinhanlife.axhub.biz.mcp.tool.dto; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +/** + * @package io.shinhanlife.axhub.biz.mcp.tool.dto + * @className PaymentApprovalReq + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ---------- + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2026.09.01 김형식 최초생성 + * + *+ */ +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PaymentApprovalReq { + private String accountNumber; + private long amount; + private String paymentMethod; +} diff --git a/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalRes.java b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalRes.java new file mode 100644 index 0000000..7c95450 --- /dev/null +++ b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/PaymentApprovalRes.java @@ -0,0 +1,27 @@ +package io.shinhanlife.axhub.biz.mcp.tool.dto; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +/** + * @package io.shinhanlife.axhub.biz.mcp.tool.dto + * @className PaymentApprovalRes + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ---------- + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2026.09.01 김형식 최초생성 + * + *+ */ +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PaymentApprovalRes { + private String status; + private String message; + private String transactionId; + private long approvedAmount; +} diff --git a/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/PaymentApprovalService.java b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/PaymentApprovalService.java new file mode 100644 index 0000000..fcafaf4 --- /dev/null +++ b/axhub-tool-payment/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/PaymentApprovalService.java @@ -0,0 +1,55 @@ +package io.shinhanlife.axhub.biz.mcp.tool.service; + +import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; +import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; +import io.shinhanlife.axhub.biz.mcp.tool.dto.PaymentApprovalReq; +import io.shinhanlife.axhub.biz.mcp.tool.dto.PaymentApprovalRes; +import org.springframework.stereotype.Service; +import lombok.extern.slf4j.Slf4j; +import java.util.Map; +import java.util.UUID; + +/** + * @package io.shinhanlife.axhub.biz.mcp.tool.service + * @className PaymentApprovalService + * @description AX HUB 시스템 처리 클래스 + * @author 김형식 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ---------- + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2026.09.01 김형식 최초생성 + * + *+ */ +@Slf4j +@Service +@McpTool( + routingType = "MCI", + group = "PAYMENT" +) +public class PaymentApprovalService extends AbstractMcpToolService { + + @McpFunction( + name = "paymentapproval", + description = "결제 승인 처리", + prompt = "결제 승인 처리 해줘.", + mappingId = "PAY_001" + ) + public Object execute(PaymentApprovalReq req) { + log.info("[Payment] 결제 승인 요청 수신. 계좌: {}, 금액: {}", req.getAccountNumber(), req.getAmount()); + + // 레거시 연동 + Map