Refactor: ToolService 인터페이스 분리 및 GlowEaiComponent 로드 에러 수정
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
This commit is contained in:
@@ -1,54 +1,7 @@
|
||||
package io.shinhanlife.dap.dapmt.service;
|
||||
|
||||
import io.shinhanlife.dap.dapmt.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.dapmt.annotation.McpTool;
|
||||
import io.shinhanlife.dap.dapmt.dto.PaymentApprovalReq;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import io.shinhanlife.dap.dapmt.dto.*;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.dapmt.service
|
||||
* @className PaymentApprovalService
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
* <pre>
|
||||
* ---------- 개정이력 ----------
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2026.09.01 0986406 최초생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@McpTool(
|
||||
routingType = "MCI",
|
||||
categoryKey = "payment"
|
||||
)
|
||||
public class PaymentApprovalService extends AbstractMcpToolService {
|
||||
|
||||
@McpFunction(register = false, displayName = "paymentapproval 툴", name = "paymentapproval",
|
||||
description = "결제 승인 처리",
|
||||
prompt = "결제 승인 처리 해줘.",
|
||||
mappingId = "PAY_001"
|
||||
)
|
||||
public Object execute(PaymentApprovalReq req) {
|
||||
log.info("[Payment] 결제 승인 요청 수신. 계좌: {}, 금액: {}", req.getAccountNumber(), req.getAmount());
|
||||
|
||||
// 레거시 연동
|
||||
Map<String, Object> result = executeLegacy("MCI", "PAY_001", req);
|
||||
|
||||
// 가짜 데이터 응답 매핑 (AI 에이전트가 그럴듯하게 보여주기 위함)
|
||||
if ("SUCCESS".equals(result.get("status"))) {
|
||||
result.put("transactionId", "TX_" + UUID.randomUUID().toString().substring(0, 8).toUpperCase());
|
||||
result.put("approvedAmount", req.getAmount());
|
||||
result.put("message", "결제가 성공적으로 승인되었습니다.");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
public interface PaymentApprovalService {
|
||||
Object execute(PaymentApprovalReq req);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package io.shinhanlife.dap.dapmt.service.impl;
|
||||
|
||||
import io.shinhanlife.dap.dapmt.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.dapmt.annotation.McpTool;
|
||||
import io.shinhanlife.dap.dapmt.service.PaymentApprovalService;
|
||||
import io.shinhanlife.dap.dapmt.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.dapmt.dto.PaymentApprovalReq;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.dapmt.service
|
||||
* @className PaymentApprovalService
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
* <pre>
|
||||
* ---------- 개정이력 ----------
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2026.09.01 0986406 최초생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@McpTool(
|
||||
routingType = "MCI",
|
||||
categoryKey = "payment"
|
||||
)
|
||||
public class PaymentApprovalServiceImpl extends AbstractMcpToolService implements PaymentApprovalService {
|
||||
|
||||
@McpFunction(register = false, displayName = "paymentapproval 툴", name = "paymentapproval",
|
||||
description = "결제 승인 처리",
|
||||
prompt = "결제 승인 처리 해줘.",
|
||||
mappingId = "PAY_001"
|
||||
)
|
||||
@Override
|
||||
public Object execute(PaymentApprovalReq req) {
|
||||
log.info("[Payment] 결제 승인 요청 수신. 계좌: {}, 금액: {}", req.getAccountNumber(), req.getAmount());
|
||||
|
||||
// 레거시 연동
|
||||
Map<String, Object> result = executeLegacy("MCI", "PAY_001", req);
|
||||
|
||||
// 가짜 데이터 응답 매핑 (AI 에이전트가 그럴듯하게 보여주기 위함)
|
||||
if ("SUCCESS".equals(result.get("status"))) {
|
||||
result.put("transactionId", "TX_" + UUID.randomUUID().toString().substring(0, 8).toUpperCase());
|
||||
result.put("approvedAmount", req.getAmount());
|
||||
result.put("message", "결제가 성공적으로 승인되었습니다.");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user