refactor: apply MSA naming standard for DTOs and Scaffold template (Req->Request, Res->Response)
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 30s
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 30s
This commit is contained in:
@@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.dto;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BalanceReq
|
||||
* @className BalanceRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -19,7 +19,7 @@ import io.shinhanlife.dap.mcc.annotation.McpParameter;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BalanceReq {
|
||||
public class BalanceRequest {
|
||||
@McpParameter(description = "고객의 계좌번호 (- 제외)", required = true)
|
||||
private String accountNumber;
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.dto;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BalanceRes
|
||||
* @className BalanceResponse
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -18,7 +18,7 @@ package io.shinhanlife.dap.mcc.dto;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BalanceRes {
|
||||
public class BalanceResponse {
|
||||
private String status;
|
||||
private String message;
|
||||
private String accountNumber;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BillingProcessReq
|
||||
* @className BillingProcessRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BillingProcessReq {
|
||||
public class BillingProcessRequest {
|
||||
|
||||
@McpParameter(description = "처리할 청구 접수 번호", required = true)
|
||||
private String billingId;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BillingStatusReq
|
||||
* @className BillingStatusRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BillingStatusReq {
|
||||
public class BillingStatusRequest {
|
||||
|
||||
@McpParameter(description = "조회할 청구 접수 번호", required = true)
|
||||
private String billingId;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BondCheckReq
|
||||
* @className BondCheckRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BondCheckReq {
|
||||
public class BondCheckRequest {
|
||||
|
||||
@McpParameter(description = "확인하고자 하는 디지털 증권 발행 금액", required = true)
|
||||
private Long amount;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className BondIssueReq
|
||||
* @className BondIssueRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BondIssueReq {
|
||||
public class BondIssueRequest {
|
||||
|
||||
@McpParameter(description = "발행할 디지털 증권 금액", required = true)
|
||||
private Long amount;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className ContractDetailReq
|
||||
* @className ContractDetailRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ContractDetailReq {
|
||||
public class ContractDetailRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
private String customerName;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className ContractStatusReq
|
||||
* @className ContractStatusRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ContractStatusReq {
|
||||
public class ContractStatusRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
private String customerName;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className CustomerDetailReq
|
||||
* @className CustomerDetailRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CustomerDetailReq {
|
||||
public class CustomerDetailRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
private String customerName;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className CustomerGradeReq
|
||||
* @className CustomerGradeRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CustomerGradeReq {
|
||||
public class CustomerGradeRequest {
|
||||
|
||||
@McpParameter(description = "고객 이름 (예: 김신한)", required = true)
|
||||
private String customerName;
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className LeaveCountReq
|
||||
* @className LeaveCountRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class LeaveCountReq {
|
||||
public class LeaveCountRequest {
|
||||
|
||||
@McpParameter(description = "연차 내역을 조회할 사원 번호", required = true)
|
||||
private String employeeId;
|
||||
@@ -7,14 +7,14 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className MciSampleStringRes
|
||||
* @className MciSampleStringResponse
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
*/
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class MciSampleStringRes {
|
||||
public class MciSampleStringResponse {
|
||||
@GlowMciFieldInfo(order = 1, length = 10, description = "이름")
|
||||
private String name;
|
||||
|
||||
@@ -12,7 +12,7 @@ import lombok.Data;
|
||||
* @create 2026.09.01
|
||||
*/
|
||||
@Data
|
||||
public class Onnba3011Req {
|
||||
public class Onnba3011Request {
|
||||
|
||||
@JsonPropertyDescription("통합기계약보험 (유형: gs, 길이: 72)")
|
||||
@JsonProperty("unfcPrbuIrcoAddu")
|
||||
@@ -39,8 +39,8 @@ public class Onnba3011Req {
|
||||
private String unfcPvsCalReqYn;
|
||||
|
||||
@JsonPropertyDescription("한국신용정보 (길이: 1)")
|
||||
@JsonProperty("kcisPymmTnnrReq")
|
||||
private String kcisPymmTnnrReq;
|
||||
@JsonProperty("kcisPymmTnnrRequest")
|
||||
private String kcisPymmTnnrRequest;
|
||||
|
||||
@JsonPropertyDescription("한도초과여부 (길이: 1)")
|
||||
@JsonProperty("lmovYn")
|
||||
@@ -5,7 +5,7 @@ import lombok.Data;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className SampleStringReq
|
||||
* @className SampleStringRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -19,6 +19,6 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class SampleStringReq {
|
||||
public class SampleStringRequest {
|
||||
private String query;
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import lombok.Data;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className SampleStringRes
|
||||
* @className SampleStringResponse
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -20,7 +20,7 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class SampleStringRes {
|
||||
public class SampleStringResponse {
|
||||
@GlowTrgmField(order = 1, length = 10, description = "이름")
|
||||
private String name;
|
||||
|
||||
@@ -9,7 +9,7 @@ import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className TemplateDownloadReq
|
||||
* @className TemplateDownloadRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -26,7 +26,7 @@ import lombok.ToString;
|
||||
@ToString
|
||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
@AllArgsConstructor
|
||||
public class TemplateDownloadReq {
|
||||
public class TemplateDownloadRequest {
|
||||
|
||||
/**
|
||||
* 다운로드할 템플릿의 종류 ID (예: CUSTOMER_EXCEL, PRODUCT_PDF 등)
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className VacationRegisterReq
|
||||
* @className VacationRegisterRequest
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.09.01
|
||||
@@ -27,7 +27,7 @@ import lombok.Setter;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class VacationRegisterReq {
|
||||
public class VacationRegisterRequest {
|
||||
|
||||
@McpParameter(description = "연차를 등록할 사원 번호", required = true)
|
||||
private String employeeId;
|
||||
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className WeatherReq
|
||||
* @className WeatherRequest
|
||||
* @description 기상 조회 요청 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.07.14
|
||||
@@ -17,7 +17,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public record WeatherReq(
|
||||
public record WeatherRequest(
|
||||
@JsonProperty(required = true, value = "city")
|
||||
@JsonPropertyDescription("날씨를 조회할 도시 이름 (예: 서울, 부산, 제주)")
|
||||
String city
|
||||
@@ -2,7 +2,7 @@ package io.shinhanlife.dap.mcc.dto;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.mcc.dto
|
||||
* @className WeatherRes
|
||||
* @className WeatherResponse
|
||||
* @description 기상 조회 응답 클래스
|
||||
* @author 0986406
|
||||
* @create 2026.07.14
|
||||
@@ -14,7 +14,7 @@ package io.shinhanlife.dap.mcc.dto;
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public record WeatherRes(
|
||||
public record WeatherResponse(
|
||||
String city,
|
||||
double temperature,
|
||||
double windSpeed,
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io;
|
||||
|
||||
import io.shinhanlife.dap.common.integration.mci.component.AxhubMciComponent;
|
||||
import io.shinhanlife.dap.mcc.dto.Onnba3011Req;
|
||||
import io.shinhanlife.dap.mcc.dto.Onnba3011Request;
|
||||
import io.shinhanlife.glow.communication.dto.Transfer;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -46,7 +46,7 @@ public class MciCfpaClient {
|
||||
* @param inDto 입력 DTO
|
||||
* @return 출력 객체
|
||||
*/
|
||||
public Object callCfpa0001(Onnba3011Req inDto) throws Exception {
|
||||
public Object callCfpa0001(Onnba3011Request inDto) throws Exception {
|
||||
// 인터페이스 호출
|
||||
Transfer<Object> resTransfer = mci.callTo(INTERFACE_CODE, inDto, Object.class);
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface BalanceService {
|
||||
Object execute(BalanceReq req);
|
||||
Object execute(BalanceRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface BillingProcessService {
|
||||
Object getStatus(BillingStatusReq req);
|
||||
Object getStatus(BillingStatusRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface BondIssueService {
|
||||
Object check(BondCheckReq req);
|
||||
Object check(BondCheckRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface CommonUtilityService {
|
||||
Object registerVacation(VacationRegisterReq req);
|
||||
Object registerVacation(VacationRegisterRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface ContractInquiryService {
|
||||
Object getStatus(ContractStatusReq req);
|
||||
Object getStatus(ContractStatusRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface CustomerInfoService {
|
||||
Object getGrade(CustomerGradeReq req);
|
||||
Object getGrade(CustomerGradeRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface DailyQuoteToolService {
|
||||
io.shinhanlife.dap.mcc.service.impl.DailyQuoteToolServiceImpl.DailyQuoteRes execute(io.shinhanlife.dap.mcc.service.impl.DailyQuoteToolServiceImpl.DailyQuoteReq req);
|
||||
io.shinhanlife.dap.mcc.service.impl.DailyQuoteToolServiceImpl.DailyQuoteResponse execute(io.shinhanlife.dap.mcc.service.impl.DailyQuoteToolServiceImpl.DailyQuoteRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface ExchangeRateToolService {
|
||||
io.shinhanlife.dap.mcc.service.impl.ExchangeRateToolServiceImpl.ExchangeRateRes execute(io.shinhanlife.dap.mcc.service.impl.ExchangeRateToolServiceImpl.ExchangeRateReq req);
|
||||
io.shinhanlife.dap.mcc.service.impl.ExchangeRateToolServiceImpl.ExchangeRateResponse execute(io.shinhanlife.dap.mcc.service.impl.ExchangeRateToolServiceImpl.ExchangeRateRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface OnnbaMciToolService {
|
||||
Object callOnnba3011(Onnba3011Req req);
|
||||
Object callOnnba3011(Onnba3011Request req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface SampleStringToolService {
|
||||
Object execute(SampleStringReq req);
|
||||
Object execute(SampleStringRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface TemplateUtilityService {
|
||||
java.util.Map<String, Object> getTemplateFileUrl(TemplateDownloadReq req);
|
||||
java.util.Map<String, Object> getTemplateFileUrl(TemplateDownloadRequest req);
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ package io.shinhanlife.dap.mcc.service;
|
||||
import io.shinhanlife.dap.mcc.dto.*;
|
||||
|
||||
public interface WeatherToolService {
|
||||
WeatherRes execute(WeatherReq req);
|
||||
WeatherResponse execute(WeatherRequest req);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.BalanceService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.BalanceReq;
|
||||
import io.shinhanlife.dap.mcc.dto.BalanceRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -36,7 +36,7 @@ public class BalanceServiceImpl extends AbstractMcpToolService implements Balanc
|
||||
mappingId = "ACC_001"
|
||||
)
|
||||
@Override
|
||||
public Object execute(BalanceReq req) {
|
||||
public Object execute(BalanceRequest req) {
|
||||
log.info("[Balance] 계좌 잔액 조회 요청 수신. 계좌번호: {}", req.getAccountNumber());
|
||||
|
||||
// 레거시 연동
|
||||
|
||||
@@ -6,8 +6,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.BillingProcessService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.BillingProcessReq;
|
||||
import io.shinhanlife.dap.mcc.dto.BillingStatusReq;
|
||||
import io.shinhanlife.dap.mcc.dto.BillingProcessRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.BillingStatusRequest;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -35,12 +35,12 @@ public class BillingProcessServiceImpl extends AbstractMcpToolService implements
|
||||
|
||||
@McpFunction(register = false, displayName = "status 툴", name = "status", description = "청구심사 상태 조회", prompt = "현재 접수된 청구건 상태를 알려줘.", mappingId = "BILL_001")
|
||||
@Override
|
||||
public Object getStatus(BillingStatusReq data) {
|
||||
public Object getStatus(BillingStatusRequest data) {
|
||||
return executeBillingLogic("BILL_001", data);
|
||||
}
|
||||
|
||||
@McpFunction(register = false, displayName = "process 툴", name = "process", description = "청구 처리", prompt = "현재 접수된 청구건에 대한 심사 처리를 진행해.", mappingId = "BILL_002")
|
||||
public Object processBilling(BillingProcessReq data) {
|
||||
public Object processBilling(BillingProcessRequest data) {
|
||||
return executeBillingLogic("BILL_002", data);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.BondIssueService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.BondCheckReq;
|
||||
import io.shinhanlife.dap.mcc.dto.BondIssueReq;
|
||||
import io.shinhanlife.dap.mcc.dto.BondCheckRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.BondIssueRequest;
|
||||
|
||||
@McpTool(
|
||||
routingType = "EAI",
|
||||
@@ -29,12 +29,12 @@ public class BondIssueServiceImpl extends AbstractMcpToolService implements Bond
|
||||
|
||||
@McpFunction(displayName = "check 툴", name = "check", register = false, description = "발행 가능 여부 조회 테스트", prompt = "디지털 증권 발행 한도가 충분한지 확인해줘.", mappingId = "BOND_001")
|
||||
@Override
|
||||
public Object check(BondCheckReq data) {
|
||||
public Object check(BondCheckRequest data) {
|
||||
return executeLegacy("EAI", "BOND_001", data);
|
||||
}
|
||||
|
||||
@McpFunction(displayName = "issue 툴", name = "issue", register = false, description = "증권 발행 테스트1", prompt = "디지털 증권 발행 프로세스를 실행해.", mappingId = "BOND_002")
|
||||
public Object issue(BondIssueReq data) {
|
||||
public Object issue(BondIssueRequest data) {
|
||||
return executeLegacy("EAI", "BOND_002", data);
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.CommonUtilityService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.LeaveCountReq;
|
||||
import io.shinhanlife.dap.mcc.dto.VacationRegisterReq;
|
||||
import io.shinhanlife.dap.mcc.dto.LeaveCountRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.VacationRegisterRequest;
|
||||
|
||||
@McpTool(
|
||||
routingType = "HTTP",
|
||||
@@ -29,17 +29,17 @@ public class CommonUtilityServiceImpl extends AbstractMcpToolService implements
|
||||
|
||||
@McpFunction(register = false, displayName = "register_vacation 툴", name = "register_vacation", description = "휴가 등록", prompt = "내일 하루 연차 휴가를 등록해줘.", mappingId = "HR_VAC_01")
|
||||
@Override
|
||||
public Object registerVacation(VacationRegisterReq data) {
|
||||
public Object registerVacation(VacationRegisterRequest data) {
|
||||
return executeLegacy("HTTP", "HR_VAC_01", data);
|
||||
}
|
||||
|
||||
@McpFunction(register = false, displayName = "get_leave_count 툴", name = "get_leave_count", description = "연차 갯수 조회", prompt = "현재 사용 가능한 남은 연차 일수를 알려줘.", mappingId = "HR_VAC_02")
|
||||
public Object getLeaveCount(LeaveCountReq data) {
|
||||
public Object getLeaveCount(LeaveCountRequest data) {
|
||||
return executeLegacy("HTTP", "HR_VAC_02", data);
|
||||
}
|
||||
|
||||
@McpFunction(register = false, displayName = "secret_tool 툴", name = "secret_tool", description = "비공개 툴 테스트", prompt = "숨겨진 툴 강제 호출", mappingId = "SECRET_001", visible = false)
|
||||
public Object secretTool(LeaveCountReq data) {
|
||||
public Object secretTool(LeaveCountRequest data) {
|
||||
return executeLegacy("HTTP", "SECRET_001", data);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.ContractInquiryService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.ContractDetailReq;
|
||||
import io.shinhanlife.dap.mcc.dto.ContractStatusReq;
|
||||
import io.shinhanlife.dap.mcc.dto.ContractDetailRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.ContractStatusRequest;
|
||||
|
||||
@McpTool(
|
||||
routingType = "HTTP",
|
||||
@@ -29,12 +29,12 @@ public class ContractInquiryServiceImpl extends AbstractMcpToolService implement
|
||||
|
||||
@McpFunction(register = false, displayName = "contract_status 툴", name = "contract_status", description = "계약상태 조회", prompt = "김신한 고객의 현재 계약 상태를 조회해줘.", mappingId = "CNTR_001")
|
||||
@Override
|
||||
public Object getStatus(ContractStatusReq data) {
|
||||
public Object getStatus(ContractStatusRequest data) {
|
||||
return executeLegacy("HTTP", "CNTR_001", data);
|
||||
}
|
||||
|
||||
@McpFunction(register = false, displayName = "contract_detail 툴", name = "contract_detail", description = "계약상세 조회", prompt = "김신한 고객의 계약 상세 내역을 알려줘.", mappingId = "CNTR_002")
|
||||
public Object getDetail(ContractDetailReq data) {
|
||||
public Object getDetail(ContractDetailRequest data) {
|
||||
return executeLegacy("HTTP", "CNTR_002", data);
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.CustomerInfoService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.CustomerDetailReq;
|
||||
import io.shinhanlife.dap.mcc.dto.CustomerGradeReq;
|
||||
import io.shinhanlife.dap.mcc.dto.CustomerDetailRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.CustomerGradeRequest;
|
||||
|
||||
@McpTool(
|
||||
routingType = "TCP",
|
||||
@@ -29,12 +29,12 @@ public class CustomerInfoServiceImpl extends AbstractMcpToolService implements C
|
||||
|
||||
@McpFunction(register = false, displayName = "grade 툴", name = "grade", description = "고객등급 조회", prompt = "이 고객의 VIP 등급을 조회해줘.", mappingId = "CRM_001")
|
||||
@Override
|
||||
public Object getGrade(CustomerGradeReq req) {
|
||||
public Object getGrade(CustomerGradeRequest req) {
|
||||
return executeLegacy("TCP", "CRM_001", req);
|
||||
}
|
||||
|
||||
@McpFunction(register = false, displayName = "detail 툴", name = "detail", description = "고객상세 정보 조회", prompt = "이 고객의 상세 기본정보(주소, 연락처 등)를 알려줘.", mappingId = "CRM_002")
|
||||
public Object getDetail(CustomerDetailReq data) {
|
||||
public Object getDetail(CustomerDetailRequest data) {
|
||||
return executeLegacy("TCP", "CRM_002", data);
|
||||
}
|
||||
}
|
||||
@@ -32,14 +32,14 @@ import java.util.Random;
|
||||
)
|
||||
public class DailyQuoteToolServiceImpl extends AbstractMcpToolService implements DailyQuoteToolService {
|
||||
|
||||
public record DailyQuoteReq(String category) {}
|
||||
public record DailyQuoteRes(String quote, String author) {}
|
||||
public record DailyQuoteRequest(String category) {}
|
||||
public record DailyQuoteResponse(String quote, String author) {}
|
||||
|
||||
private final List<DailyQuoteRes> quotes = List.of(
|
||||
new DailyQuoteRes("성공은 매일 반복한 작은 노력들의 합이다.", "로버트 콜리어"),
|
||||
new DailyQuoteRes("시작이 반이다.", "아리스토텔레스"),
|
||||
new DailyQuoteRes("포기하지 않는 한 실패는 없다.", "알베르트 아인슈타인"),
|
||||
new DailyQuoteRes("가장 큰 위험은 위험 없는 삶이다.", "스티븐 코비")
|
||||
private final List<DailyQuoteResponse> quotes = List.of(
|
||||
new DailyQuoteResponse("성공은 매일 반복한 작은 노력들의 합이다.", "로버트 콜리어"),
|
||||
new DailyQuoteResponse("시작이 반이다.", "아리스토텔레스"),
|
||||
new DailyQuoteResponse("포기하지 않는 한 실패는 없다.", "알베르트 아인슈타인"),
|
||||
new DailyQuoteResponse("가장 큰 위험은 위험 없는 삶이다.", "스티븐 코비")
|
||||
);
|
||||
|
||||
@McpFunction(register = false, displayName = "랜덤 명언 툴", name = "daily_quote",
|
||||
@@ -47,9 +47,9 @@ public class DailyQuoteToolServiceImpl extends AbstractMcpToolService implements
|
||||
prompt = "오늘의 명언 하나 알려줘, 동기부여 명언 등",
|
||||
mappingId = "QUOTE_001"
|
||||
)
|
||||
public DailyQuoteRes execute(DailyQuoteReq req) {
|
||||
public DailyQuoteResponse execute(DailyQuoteRequest req) {
|
||||
int index = new Random().nextInt(quotes.size());
|
||||
DailyQuoteRes selected = quotes.get(index);
|
||||
DailyQuoteResponse selected = quotes.get(index);
|
||||
|
||||
log.info("[DailyQuoteTool] 명언 제공 완료: {}", selected.author());
|
||||
return selected;
|
||||
|
||||
@@ -30,8 +30,8 @@ import org.springframework.web.client.RestClient;
|
||||
)
|
||||
public class ExchangeRateToolServiceImpl extends AbstractMcpToolService implements ExchangeRateToolService {
|
||||
|
||||
public record ExchangeRateReq(String currencyCode) {}
|
||||
public record ExchangeRateRes(String baseCurrency, String targetCurrency, double rate) {}
|
||||
public record ExchangeRateRequest(String currencyCode) {}
|
||||
public record ExchangeRateResponse(String baseCurrency, String targetCurrency, double rate) {}
|
||||
|
||||
private final RestClient restClient;
|
||||
|
||||
@@ -44,7 +44,7 @@ public class ExchangeRateToolServiceImpl extends AbstractMcpToolService implemen
|
||||
prompt = "현재 달러 환율 알려줘, 엔화 환율은?",
|
||||
mappingId = "EXCHANGE_001"
|
||||
)
|
||||
public ExchangeRateRes execute(ExchangeRateReq req) {
|
||||
public ExchangeRateResponse execute(ExchangeRateRequest req) {
|
||||
String targetCurrency = req.currencyCode() != null ? req.currencyCode().toUpperCase().trim() : "USD";
|
||||
|
||||
// 간단한 모의 데이터로 반환 (실제 구현 시 외부 연동)
|
||||
@@ -56,6 +56,6 @@ public class ExchangeRateToolServiceImpl extends AbstractMcpToolService implemen
|
||||
}
|
||||
|
||||
log.info("[ExchangeRateTool] 환율 조회 완료: {} -> {}", targetCurrency, dummyRate);
|
||||
return new ExchangeRateRes("KRW", targetCurrency, dummyRate);
|
||||
return new ExchangeRateResponse("KRW", targetCurrency, dummyRate);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.OnnbaMciToolService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.Onnba3011Req;
|
||||
import io.shinhanlife.dap.mcc.dto.Onnba3011Request;
|
||||
import io.shinhanlife.glow.communication.dto.Transfer;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -49,7 +49,7 @@ public class OnnbaMciToolServiceImpl implements OnnbaMciToolService {
|
||||
mappingId = INTERFACE_CODE_3011
|
||||
)
|
||||
@Override
|
||||
public Object callOnnba3011(Onnba3011Req req) {
|
||||
public Object callOnnba3011(Onnba3011Request req) {
|
||||
log.info("[MCI Tool] 보종By가입설계한도계산조회 요청 수신.");
|
||||
|
||||
try {
|
||||
|
||||
@@ -4,8 +4,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.SampleStringToolService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.MciSampleStringRes;
|
||||
import io.shinhanlife.dap.mcc.dto.SampleStringReq;
|
||||
import io.shinhanlife.dap.mcc.dto.MciSampleStringResponse;
|
||||
import io.shinhanlife.dap.mcc.dto.SampleStringRequest;
|
||||
import io.shinhanlife.glow.util.GlowMciParser;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -39,7 +39,7 @@ public class SampleStringToolServiceImpl extends AbstractMcpToolService implemen
|
||||
mappingId = "TRGM_001"
|
||||
)
|
||||
@Override
|
||||
public Object execute(SampleStringReq req) {
|
||||
public Object execute(SampleStringRequest req) {
|
||||
// 1. EIMS(Legacy)를 통해 원본 고정 길이 문자열을 받아옵니다.
|
||||
// 스펙에 mciFormat = STRING 힌트를 주어 전문 통신으로 자동 분기되게 합니다.
|
||||
List<Map<String, Object>> spec = List.of(
|
||||
@@ -54,6 +54,6 @@ public class SampleStringToolServiceImpl extends AbstractMcpToolService implemen
|
||||
String rawStringResponse = (String) result.get("legacy_response");
|
||||
|
||||
// 2. 받아온 고정 길이 전문(String)을 GlowMciParser를 이용해 DTO로 파싱합니다.
|
||||
return GlowMciParser.parse(rawStringResponse, MciSampleStringRes.class);
|
||||
return GlowMciParser.parse(rawStringResponse, MciSampleStringResponse.class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.TemplateUtilityService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.TemplateDownloadReq;
|
||||
import io.shinhanlife.dap.mcc.dto.TemplateDownloadRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -39,7 +39,7 @@ public class TemplateUtilityServiceImpl extends AbstractMcpToolService implement
|
||||
description = "특정 템플릿의 양식 파일(엑셀, 워드 등)을 다운로드 받을 수 있는 시스템 URL을 반환합니다. AI는 이 URL을 사용자에게 마크다운 링크 형태로 제공해야 합니다.",
|
||||
prompt = "요청하신 템플릿 양식 파일 다운로드 URL은 다음과 같습니다. 클릭하여 다운로드하세요:"
|
||||
)
|
||||
public Map<String, Object> getTemplateFileUrl(TemplateDownloadReq data) {
|
||||
public Map<String, Object> getTemplateFileUrl(TemplateDownloadRequest data) {
|
||||
try {
|
||||
String templateId = (data != null && data.getTemplateId() != null) ? data.getTemplateId().toLowerCase() : "default";
|
||||
log.info("MCP 툴 호출됨: get_template_file_url, 요청 템플릿 ID: {}", templateId);
|
||||
|
||||
@@ -6,8 +6,8 @@ import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.mcc.service.WeatherToolService;
|
||||
import io.shinhanlife.dap.mcc.service.AbstractMcpToolService;
|
||||
import io.shinhanlife.dap.mcc.dto.WeatherReq;
|
||||
import io.shinhanlife.dap.mcc.dto.WeatherRes;
|
||||
import io.shinhanlife.dap.mcc.dto.WeatherRequest;
|
||||
import io.shinhanlife.dap.mcc.dto.WeatherResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestClient;
|
||||
@@ -48,7 +48,7 @@ public class WeatherToolServiceImpl extends AbstractMcpToolService implements We
|
||||
prompt = "서울 날씨 알려줘, 부산 기온 알려줘 등 실시간 기상 조회",
|
||||
mappingId = "WEATHER_001"
|
||||
)
|
||||
public WeatherRes execute(WeatherReq req) {
|
||||
public WeatherResponse execute(WeatherRequest req) {
|
||||
String city = req.city() != null ? req.city().trim() : "서울";
|
||||
|
||||
// 지역별 위경도 매핑 (간단한 예시)
|
||||
@@ -95,14 +95,14 @@ public class WeatherToolServiceImpl extends AbstractMcpToolService implements We
|
||||
|
||||
String formattedTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
|
||||
|
||||
return new WeatherRes(city, temp, windSpeed, formattedTime, summary);
|
||||
return new WeatherResponse(city, temp, windSpeed, formattedTime, summary);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("[WeatherTool] 날씨 API 연동 실패: {}", e.getMessage());
|
||||
return new WeatherRes(city, 0.0, 0.0, "", "날씨 정보를 불러오는데 실패했습니다.");
|
||||
return new WeatherResponse(city, 0.0, 0.0, "", "날씨 정보를 불러오는데 실패했습니다.");
|
||||
}
|
||||
|
||||
return new WeatherRes(city, 0.0, 0.0, "", "알 수 없는 응답입니다.");
|
||||
return new WeatherResponse(city, 0.0, 0.0, "", "알 수 없는 응답입니다.");
|
||||
}
|
||||
|
||||
private String parseWeatherCode(int code) {
|
||||
|
||||
Reference in New Issue
Block a user