diff --git a/dap-was-cus/src/test/java/io/shinhanlife/dap/mcc/presentation/DtoExcelDownloadControllerTest.java b/dap-was-cus/src/test/java/io/shinhanlife/dap/mcc/presentation/DtoExcelDownloadControllerTest.java new file mode 100644 index 00000000..be9f97ee --- /dev/null +++ b/dap-was-cus/src/test/java/io/shinhanlife/dap/mcc/presentation/DtoExcelDownloadControllerTest.java @@ -0,0 +1,32 @@ +package io.shinhanlife.dap.mcc.presentation; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.ByteArrayInputStream; + +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.jupiter.api.Test; +import org.springframework.http.ResponseEntity; + +class DtoExcelDownloadControllerTest { + + private final DtoExcelDownloadController controller = new DtoExcelDownloadController(); + + @Test + void downloadsBothOnild0320Variants() throws Exception { + assertWorkbook("ONILD0320_I", "csNo"); + assertWorkbook("ONILD0320_O", "notiDt"); + } + + private void assertWorkbook(String dtoName, String expectedField) throws Exception { + ResponseEntity response = controller.download(dtoName); + + assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); + assertThat(response.getBody()).isNotNull(); + try (XSSFWorkbook workbook = new XSSFWorkbook(new ByteArrayInputStream(response.getBody()))) { + assertThat(workbook.getSheetAt(0)) + .anySatisfy(row -> assertThat(row) + .anySatisfy(cell -> assertThat(cell.toString()).isEqualTo(expectedField))); + } + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolRequest.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolRequest.java new file mode 100644 index 00000000..b6a85579 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolRequest.java @@ -0,0 +1,16 @@ +package io.shinhanlife.dap.mcc.biz.agt.dto; + +import lombok.Data; +import org.springaicommunity.mcp.annotation.McpToolParam; + +@Data +public class AgentToolRequest { + @McpToolParam(description = "설계사번호", required = false) + private String agentId; + + @McpToolParam(description = "GA 조직번호", required = false) + private String organizationId; + + @McpToolParam(description = "조회 기준일(YYYY-MM-DD)", required = false) + private String queryDate; +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolResponse.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolResponse.java new file mode 100644 index 00000000..f3edb38f --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/dto/AgentToolResponse.java @@ -0,0 +1,15 @@ +package io.shinhanlife.dap.mcc.biz.agt.dto; + +import java.util.List; +import lombok.Data; + +@Data +public class AgentToolResponse { + private String toolName; + private String category; + private String referenceId; + private String status; + private String summary; + private String asOfDate; + private List details; +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentInquiryUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentInquiryUseCase.java new file mode 100644 index 00000000..635f830f --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentInquiryUseCase.java @@ -0,0 +1,40 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface AgentInquiryUseCase { + @McpTool(name = "agt_agent_profile", title = "GA 설계사 기본정보 조회", description = "GA 설계사 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_AGENT_PROFILE") + AgentToolResponse getAgentProfile(AgentToolRequest request); + + @McpTool(name = "agt_appointment_status", title = "GA 설계사 위촉상태 조회", description = "GA 설계사 위촉상태 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_APPOINTMENT_STATUS") + AgentToolResponse getAppointmentStatus(AgentToolRequest request); + + @McpTool(name = "agt_agent_license", title = "GA 설계사 자격정보 조회", description = "GA 설계사 자격정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_AGENT_LICENSE") + AgentToolResponse getAgentLicense(AgentToolRequest request); + + @McpTool(name = "agt_commission_grade", title = "GA 설계사 수수료등급 조회", description = "GA 설계사 수수료등급 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_COMMISSION_GRADE") + AgentToolResponse getCommissionGrade(AgentToolRequest request); + + @McpTool(name = "agt_agent_education", title = "GA 설계사 교육이력 조회", description = "GA 설계사 교육이력 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_AGENT_EDUCATION") + AgentToolResponse getAgentEducation(AgentToolRequest request); + + @McpTool(name = "agt_agent_compliance", title = "GA 설계사 준법정보 조회", description = "GA 설계사 준법정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_AGENT_COMPLIANCE") + AgentToolResponse getAgentCompliance(AgentToolRequest request); + + @McpTool(name = "agt_customer_assignment", title = "GA 설계사 고객배정 조회", description = "GA 설계사 고객배정 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_CUSTOMER_ASSIGNMENT") + AgentToolResponse getCustomerAssignment(AgentToolRequest request); + + @McpTool(name = "agt_activity_status", title = "GA 설계사 활동상태 조회", description = "GA 설계사 활동상태 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_ACTIVITY_STATUS") + AgentToolResponse getActivityStatus(AgentToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentPerformanceUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentPerformanceUseCase.java new file mode 100644 index 00000000..2c0c11bf --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/AgentPerformanceUseCase.java @@ -0,0 +1,44 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface AgentPerformanceUseCase { + @McpTool(name = "agt_production_summary", title = "GA 설계사 신계약 실적 조회", description = "GA 설계사 신계약 실적 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_PRODUCTION_SUMMARY") + AgentToolResponse getProductionSummary(AgentToolRequest request); + + @McpTool(name = "agt_contract_count", title = "GA 설계사 계약건수 조회", description = "GA 설계사 계약건수 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_CONTRACT_COUNT") + AgentToolResponse getContractCount(AgentToolRequest request); + + @McpTool(name = "agt_premium_summary", title = "GA 설계사 보험료 실적 조회", description = "GA 설계사 보험료 실적 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_PREMIUM_SUMMARY") + AgentToolResponse getPremiumSummary(AgentToolRequest request); + + @McpTool(name = "agt_persistency_rate", title = "GA 설계사 계약유지율 조회", description = "GA 설계사 계약유지율 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_PERSISTENCY_RATE") + AgentToolResponse getPersistencyRate(AgentToolRequest request); + + @McpTool(name = "agt_claim_support", title = "GA 보험금 청구지원 현황 조회", description = "GA 보험금 청구지원 현황 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_CLAIM_SUPPORT") + AgentToolResponse getClaimSupport(AgentToolRequest request); + + @McpTool(name = "agt_commission_summary", title = "GA 설계사 수수료 요약 조회", description = "GA 설계사 수수료 요약 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_COMMISSION_SUMMARY") + AgentToolResponse getCommissionSummary(AgentToolRequest request); + + @McpTool(name = "agt_campaign", title = "GA 영업 캠페인 조회", description = "GA 영업 캠페인 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_CAMPAIGN") + AgentToolResponse getCampaign(AgentToolRequest request); + + @McpTool(name = "agt_task_list", title = "GA 설계사 업무목록 조회", description = "GA 설계사 업무목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_TASK_LIST") + AgentToolResponse getTaskList(AgentToolRequest request); + + @McpTool(name = "agt_notice_list", title = "GA 설계사 공지목록 조회", description = "GA 설계사 공지목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_NOTICE_LIST") + AgentToolResponse getNoticeList(AgentToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/GaOrganizationUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/GaOrganizationUseCase.java new file mode 100644 index 00000000..29278205 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/GaOrganizationUseCase.java @@ -0,0 +1,40 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface GaOrganizationUseCase { + @McpTool(name = "agt_ga_profile", title = "GA 조직 기본정보 조회", description = "GA 조직 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_GA_PROFILE") + AgentToolResponse getGaProfile(AgentToolRequest request); + + @McpTool(name = "agt_branch_list", title = "GA 지점목록 조회", description = "GA 지점목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_BRANCH_LIST") + AgentToolResponse getBranchList(AgentToolRequest request); + + @McpTool(name = "agt_organization_tree", title = "GA 조직도 조회", description = "GA 조직도 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_ORGANIZATION_TREE") + AgentToolResponse getOrganizationTree(AgentToolRequest request); + + @McpTool(name = "agt_organization_manager", title = "GA 조직 책임자 조회", description = "GA 조직 책임자 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_ORGANIZATION_MANAGER") + AgentToolResponse getOrganizationManager(AgentToolRequest request); + + @McpTool(name = "agt_organization_agent_list", title = "GA 소속 설계사 목록 조회", description = "GA 소속 설계사 목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_ORGANIZATION_AGENT_LIST") + AgentToolResponse getOrganizationAgentList(AgentToolRequest request); + + @McpTool(name = "agt_sales_area", title = "GA 영업지역 조회", description = "GA 영업지역 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_SALES_AREA") + AgentToolResponse getSalesArea(AgentToolRequest request); + + @McpTool(name = "agt_affiliation_history", title = "GA 소속변경 이력 조회", description = "GA 소속변경 이력 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_AFFILIATION_HISTORY") + AgentToolResponse getAffiliationHistory(AgentToolRequest request); + + @McpTool(name = "agt_support_contact", title = "GA 업무지원 연락처 조회", description = "GA 업무지원 연락처 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "agt", mappingId = "DIRECT_AGT_SUPPORT_CONTACT") + AgentToolResponse getSupportContact(AgentToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImpl.java new file mode 100644 index 00000000..2f3e6349 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImpl.java @@ -0,0 +1,67 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import io.shinhanlife.dap.mcc.biz.agt.usecase.AgentInquiryUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class AgentInquiryUseCaseImpl implements AgentInquiryUseCase { + @Override + public AgentToolResponse getAgentProfile(AgentToolRequest request) { + return mockResponse(request, "agt_agent_profile", "GA 설계사 기본정보 조회"); + } + + @Override + public AgentToolResponse getAppointmentStatus(AgentToolRequest request) { + return mockResponse(request, "agt_appointment_status", "GA 설계사 위촉상태 조회"); + } + + @Override + public AgentToolResponse getAgentLicense(AgentToolRequest request) { + return mockResponse(request, "agt_agent_license", "GA 설계사 자격정보 조회"); + } + + @Override + public AgentToolResponse getCommissionGrade(AgentToolRequest request) { + return mockResponse(request, "agt_commission_grade", "GA 설계사 수수료등급 조회"); + } + + @Override + public AgentToolResponse getAgentEducation(AgentToolRequest request) { + return mockResponse(request, "agt_agent_education", "GA 설계사 교육이력 조회"); + } + + @Override + public AgentToolResponse getAgentCompliance(AgentToolRequest request) { + return mockResponse(request, "agt_agent_compliance", "GA 설계사 준법정보 조회"); + } + + @Override + public AgentToolResponse getCustomerAssignment(AgentToolRequest request) { + return mockResponse(request, "agt_customer_assignment", "GA 설계사 고객배정 조회"); + } + + @Override + public AgentToolResponse getActivityStatus(AgentToolRequest request) { + return mockResponse(request, "agt_activity_status", "GA 설계사 활동상태 조회"); + } + + private AgentToolResponse mockResponse(AgentToolRequest request, String toolName, String title) { + AgentToolResponse response = new AgentToolResponse(); + response.setToolName(toolName); + response.setCategory("AGT"); + response.setReferenceId(request != null && hasText(request.getAgentId()) ? request.getAgentId() + : request != null && hasText(request.getOrganizationId()) ? request.getOrganizationId() : "AGT-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentPerformanceUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentPerformanceUseCaseImpl.java new file mode 100644 index 00000000..78332570 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentPerformanceUseCaseImpl.java @@ -0,0 +1,72 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import io.shinhanlife.dap.mcc.biz.agt.usecase.AgentPerformanceUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class AgentPerformanceUseCaseImpl implements AgentPerformanceUseCase { + @Override + public AgentToolResponse getProductionSummary(AgentToolRequest request) { + return mockResponse(request, "agt_production_summary", "GA 설계사 신계약 실적 조회"); + } + + @Override + public AgentToolResponse getContractCount(AgentToolRequest request) { + return mockResponse(request, "agt_contract_count", "GA 설계사 계약건수 조회"); + } + + @Override + public AgentToolResponse getPremiumSummary(AgentToolRequest request) { + return mockResponse(request, "agt_premium_summary", "GA 설계사 보험료 실적 조회"); + } + + @Override + public AgentToolResponse getPersistencyRate(AgentToolRequest request) { + return mockResponse(request, "agt_persistency_rate", "GA 설계사 계약유지율 조회"); + } + + @Override + public AgentToolResponse getClaimSupport(AgentToolRequest request) { + return mockResponse(request, "agt_claim_support", "GA 보험금 청구지원 현황 조회"); + } + + @Override + public AgentToolResponse getCommissionSummary(AgentToolRequest request) { + return mockResponse(request, "agt_commission_summary", "GA 설계사 수수료 요약 조회"); + } + + @Override + public AgentToolResponse getCampaign(AgentToolRequest request) { + return mockResponse(request, "agt_campaign", "GA 영업 캠페인 조회"); + } + + @Override + public AgentToolResponse getTaskList(AgentToolRequest request) { + return mockResponse(request, "agt_task_list", "GA 설계사 업무목록 조회"); + } + + @Override + public AgentToolResponse getNoticeList(AgentToolRequest request) { + return mockResponse(request, "agt_notice_list", "GA 설계사 공지목록 조회"); + } + + private AgentToolResponse mockResponse(AgentToolRequest request, String toolName, String title) { + AgentToolResponse response = new AgentToolResponse(); + response.setToolName(toolName); + response.setCategory("AGT"); + response.setReferenceId(request != null && hasText(request.getAgentId()) ? request.getAgentId() + : request != null && hasText(request.getOrganizationId()) ? request.getOrganizationId() : "AGT-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/GaOrganizationUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/GaOrganizationUseCaseImpl.java new file mode 100644 index 00000000..fe3f1926 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/GaOrganizationUseCaseImpl.java @@ -0,0 +1,67 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolResponse; +import io.shinhanlife.dap.mcc.biz.agt.usecase.GaOrganizationUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class GaOrganizationUseCaseImpl implements GaOrganizationUseCase { + @Override + public AgentToolResponse getGaProfile(AgentToolRequest request) { + return mockResponse(request, "agt_ga_profile", "GA 조직 기본정보 조회"); + } + + @Override + public AgentToolResponse getBranchList(AgentToolRequest request) { + return mockResponse(request, "agt_branch_list", "GA 지점목록 조회"); + } + + @Override + public AgentToolResponse getOrganizationTree(AgentToolRequest request) { + return mockResponse(request, "agt_organization_tree", "GA 조직도 조회"); + } + + @Override + public AgentToolResponse getOrganizationManager(AgentToolRequest request) { + return mockResponse(request, "agt_organization_manager", "GA 조직 책임자 조회"); + } + + @Override + public AgentToolResponse getOrganizationAgentList(AgentToolRequest request) { + return mockResponse(request, "agt_organization_agent_list", "GA 소속 설계사 목록 조회"); + } + + @Override + public AgentToolResponse getSalesArea(AgentToolRequest request) { + return mockResponse(request, "agt_sales_area", "GA 영업지역 조회"); + } + + @Override + public AgentToolResponse getAffiliationHistory(AgentToolRequest request) { + return mockResponse(request, "agt_affiliation_history", "GA 소속변경 이력 조회"); + } + + @Override + public AgentToolResponse getSupportContact(AgentToolRequest request) { + return mockResponse(request, "agt_support_contact", "GA 업무지원 연락처 조회"); + } + + private AgentToolResponse mockResponse(AgentToolRequest request, String toolName, String title) { + AgentToolResponse response = new AgentToolResponse(); + response.setToolName(toolName); + response.setCategory("AGT"); + response.setReferenceId(request != null && hasText(request.getAgentId()) ? request.getAgentId() + : request != null && hasText(request.getOrganizationId()) ? request.getOrganizationId() : "AGT-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolRequest.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolRequest.java new file mode 100644 index 00000000..12dbeb82 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolRequest.java @@ -0,0 +1,16 @@ +package io.shinhanlife.dap.mcc.biz.pro.dto; + +import lombok.Data; +import org.springaicommunity.mcp.annotation.McpToolParam; + +@Data +public class ProductToolRequest { + @McpToolParam(description = "고객번호 또는 계약번호", required = false) + private String subjectId; + + @McpToolParam(description = "조회 기준일(YYYY-MM-DD)", required = false) + private String queryDate; + + @McpToolParam(description = "조회 상세 수준", required = false) + private String detailLevel; +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolResponse.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolResponse.java new file mode 100644 index 00000000..06b4e358 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/dto/ProductToolResponse.java @@ -0,0 +1,15 @@ +package io.shinhanlife.dap.mcc.biz.pro.dto; + +import java.util.List; +import lombok.Data; + +@Data +public class ProductToolResponse { + private String toolName; + private String category; + private String referenceId; + private String status; + private String summary; + private String asOfDate; + private List details; +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ClaimInquiryUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ClaimInquiryUseCase.java new file mode 100644 index 00000000..380603b9 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ClaimInquiryUseCase.java @@ -0,0 +1,40 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface ClaimInquiryUseCase { + @McpTool(name = "pro_claim_eligibility", title = "보험금 청구 가능여부 조회", description = "보험금 청구 가능여부 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_ELIGIBILITY") + ProductToolResponse getClaimEligibility(ProductToolRequest request); + + @McpTool(name = "pro_claim_history", title = "보험금 청구이력 조회", description = "보험금 청구이력 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_HISTORY") + ProductToolResponse getClaimHistory(ProductToolRequest request); + + @McpTool(name = "pro_claim_status", title = "보험금 청구상태 조회", description = "보험금 청구상태 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_STATUS") + ProductToolResponse getClaimStatus(ProductToolRequest request); + + @McpTool(name = "pro_claim_documents", title = "보험금 청구서류 조회", description = "보험금 청구서류 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_DOCUMENTS") + ProductToolResponse getClaimDocuments(ProductToolRequest request); + + @McpTool(name = "pro_claim_payment", title = "보험금 지급내역 조회", description = "보험금 지급내역 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_PAYMENT") + ProductToolResponse getClaimPayment(ProductToolRequest request); + + @McpTool(name = "pro_claim_accident", title = "보험사고 정보 조회", description = "보험사고 정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_ACCIDENT") + ProductToolResponse getClaimAccident(ProductToolRequest request); + + @McpTool(name = "pro_claim_beneficiary", title = "보험금 수익자 조회", description = "보험금 수익자 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_BENEFICIARY") + ProductToolResponse getClaimBeneficiary(ProductToolRequest request); + + @McpTool(name = "pro_claim_contact", title = "보험금 청구 담당자 조회", description = "보험금 청구 담당자 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CLAIM_CONTACT") + ProductToolResponse getClaimContact(ProductToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ContractInquiryUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ContractInquiryUseCase.java new file mode 100644 index 00000000..d2d3b0df --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/ContractInquiryUseCase.java @@ -0,0 +1,44 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface ContractInquiryUseCase { + @McpTool(name = "pro_contract_list", title = "보험계약 목록 조회", description = "보험계약 목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_LIST") + ProductToolResponse getContractList(ProductToolRequest request); + + @McpTool(name = "pro_contract_detail", title = "보험계약 상세 조회", description = "보험계약 상세 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_DETAIL") + ProductToolResponse getContractDetail(ProductToolRequest request); + + @McpTool(name = "pro_contract_coverage", title = "보험계약 보장내역 조회", description = "보험계약 보장내역 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_COVERAGE") + ProductToolResponse getContractCoverage(ProductToolRequest request); + + @McpTool(name = "pro_contract_premium", title = "보험계약 보험료 조회", description = "보험계약 보험료 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_PREMIUM") + ProductToolResponse getContractPremium(ProductToolRequest request); + + @McpTool(name = "pro_contract_payment_status", title = "보험료 납입상태 조회", description = "보험료 납입상태 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_PAYMENT_STATUS") + ProductToolResponse getContractPaymentStatus(ProductToolRequest request); + + @McpTool(name = "pro_contract_beneficiary", title = "보험계약 수익자 조회", description = "보험계약 수익자 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_BENEFICIARY") + ProductToolResponse getContractBeneficiary(ProductToolRequest request); + + @McpTool(name = "pro_contract_surrender_value", title = "보험계약 해지환급금 조회", description = "보험계약 해지환급금 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_SURRENDER_VALUE") + ProductToolResponse getContractSurrenderValue(ProductToolRequest request); + + @McpTool(name = "pro_contract_loan_status", title = "보험계약 대출현황 조회", description = "보험계약 대출현황 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_LOAN_STATUS") + ProductToolResponse getContractLoanStatus(ProductToolRequest request); + + @McpTool(name = "pro_contract_rider_list", title = "보험계약 특약목록 조회", description = "보험계약 특약목록 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CONTRACT_RIDER_LIST") + ProductToolResponse getContractRiderList(ProductToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/CustomerInquiryUseCase.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/CustomerInquiryUseCase.java new file mode 100644 index 00000000..9b9bd2e9 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/CustomerInquiryUseCase.java @@ -0,0 +1,40 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase; + +import io.shinhanlife.dap.lib.annotation.GrowToolHint; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import org.springaicommunity.mcp.annotation.McpTool; + +public interface CustomerInquiryUseCase { + @McpTool(name = "pro_customer_profile", title = "고객 기본정보 조회", description = "고객 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_PROFILE") + ProductToolResponse getCustomerProfile(ProductToolRequest request); + + @McpTool(name = "pro_customer_contact", title = "고객 연락처 조회", description = "고객 연락처 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_CONTACT") + ProductToolResponse getCustomerContact(ProductToolRequest request); + + @McpTool(name = "pro_customer_consent", title = "고객 동의정보 조회", description = "고객 동의정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_CONSENT") + ProductToolResponse getCustomerConsent(ProductToolRequest request); + + @McpTool(name = "pro_customer_identity", title = "고객 본인확인정보 조회", description = "고객 본인확인정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_IDENTITY") + ProductToolResponse getCustomerIdentity(ProductToolRequest request); + + @McpTool(name = "pro_customer_address", title = "고객 주소정보 조회", description = "고객 주소정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_ADDRESS") + ProductToolResponse getCustomerAddress(ProductToolRequest request); + + @McpTool(name = "pro_customer_occupation", title = "고객 직업정보 조회", description = "고객 직업정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_OCCUPATION") + ProductToolResponse getCustomerOccupation(ProductToolRequest request); + + @McpTool(name = "pro_customer_family", title = "고객 가족정보 조회", description = "고객 가족정보 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_FAMILY") + ProductToolResponse getCustomerFamily(ProductToolRequest request); + + @McpTool(name = "pro_customer_risk_grade", title = "고객 위험등급 조회", description = "고객 위험등급 조회 정보를 안전한 모의 데이터로 제공합니다.") + @GrowToolHint(requiresApproval = false, categoryKey = "pro", mappingId = "DIRECT_PRO_CUSTOMER_RISK_GRADE") + ProductToolResponse getCustomerRiskGrade(ProductToolRequest request); +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ClaimInquiryUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ClaimInquiryUseCaseImpl.java new file mode 100644 index 00000000..84436ffd --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ClaimInquiryUseCaseImpl.java @@ -0,0 +1,66 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import io.shinhanlife.dap.mcc.biz.pro.usecase.ClaimInquiryUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class ClaimInquiryUseCaseImpl implements ClaimInquiryUseCase { + @Override + public ProductToolResponse getClaimEligibility(ProductToolRequest request) { + return mockResponse(request, "pro_claim_eligibility", "보험금 청구 가능여부 조회"); + } + + @Override + public ProductToolResponse getClaimHistory(ProductToolRequest request) { + return mockResponse(request, "pro_claim_history", "보험금 청구이력 조회"); + } + + @Override + public ProductToolResponse getClaimStatus(ProductToolRequest request) { + return mockResponse(request, "pro_claim_status", "보험금 청구상태 조회"); + } + + @Override + public ProductToolResponse getClaimDocuments(ProductToolRequest request) { + return mockResponse(request, "pro_claim_documents", "보험금 청구서류 조회"); + } + + @Override + public ProductToolResponse getClaimPayment(ProductToolRequest request) { + return mockResponse(request, "pro_claim_payment", "보험금 지급내역 조회"); + } + + @Override + public ProductToolResponse getClaimAccident(ProductToolRequest request) { + return mockResponse(request, "pro_claim_accident", "보험사고 정보 조회"); + } + + @Override + public ProductToolResponse getClaimBeneficiary(ProductToolRequest request) { + return mockResponse(request, "pro_claim_beneficiary", "보험금 수익자 조회"); + } + + @Override + public ProductToolResponse getClaimContact(ProductToolRequest request) { + return mockResponse(request, "pro_claim_contact", "보험금 청구 담당자 조회"); + } + + private ProductToolResponse mockResponse(ProductToolRequest request, String toolName, String title) { + ProductToolResponse response = new ProductToolResponse(); + response.setToolName(toolName); + response.setCategory("PRO"); + response.setReferenceId(request != null && hasText(request.getSubjectId()) ? request.getSubjectId() : "CUST-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ContractInquiryUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ContractInquiryUseCaseImpl.java new file mode 100644 index 00000000..ee6b4bc5 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ContractInquiryUseCaseImpl.java @@ -0,0 +1,71 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import io.shinhanlife.dap.mcc.biz.pro.usecase.ContractInquiryUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class ContractInquiryUseCaseImpl implements ContractInquiryUseCase { + @Override + public ProductToolResponse getContractList(ProductToolRequest request) { + return mockResponse(request, "pro_contract_list", "보험계약 목록 조회"); + } + + @Override + public ProductToolResponse getContractDetail(ProductToolRequest request) { + return mockResponse(request, "pro_contract_detail", "보험계약 상세 조회"); + } + + @Override + public ProductToolResponse getContractCoverage(ProductToolRequest request) { + return mockResponse(request, "pro_contract_coverage", "보험계약 보장내역 조회"); + } + + @Override + public ProductToolResponse getContractPremium(ProductToolRequest request) { + return mockResponse(request, "pro_contract_premium", "보험계약 보험료 조회"); + } + + @Override + public ProductToolResponse getContractPaymentStatus(ProductToolRequest request) { + return mockResponse(request, "pro_contract_payment_status", "보험료 납입상태 조회"); + } + + @Override + public ProductToolResponse getContractBeneficiary(ProductToolRequest request) { + return mockResponse(request, "pro_contract_beneficiary", "보험계약 수익자 조회"); + } + + @Override + public ProductToolResponse getContractSurrenderValue(ProductToolRequest request) { + return mockResponse(request, "pro_contract_surrender_value", "보험계약 해지환급금 조회"); + } + + @Override + public ProductToolResponse getContractLoanStatus(ProductToolRequest request) { + return mockResponse(request, "pro_contract_loan_status", "보험계약 대출현황 조회"); + } + + @Override + public ProductToolResponse getContractRiderList(ProductToolRequest request) { + return mockResponse(request, "pro_contract_rider_list", "보험계약 특약목록 조회"); + } + + private ProductToolResponse mockResponse(ProductToolRequest request, String toolName, String title) { + ProductToolResponse response = new ProductToolResponse(); + response.setToolName(toolName); + response.setCategory("PRO"); + response.setReferenceId(request != null && hasText(request.getSubjectId()) ? request.getSubjectId() : "CUST-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/CustomerInquiryUseCaseImpl.java b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/CustomerInquiryUseCaseImpl.java new file mode 100644 index 00000000..15feb4a8 --- /dev/null +++ b/dap-was-pro/src/main/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/CustomerInquiryUseCaseImpl.java @@ -0,0 +1,66 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolResponse; +import io.shinhanlife.dap.mcc.biz.pro.usecase.CustomerInquiryUseCase; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class CustomerInquiryUseCaseImpl implements CustomerInquiryUseCase { + @Override + public ProductToolResponse getCustomerProfile(ProductToolRequest request) { + return mockResponse(request, "pro_customer_profile", "고객 기본정보 조회"); + } + + @Override + public ProductToolResponse getCustomerContact(ProductToolRequest request) { + return mockResponse(request, "pro_customer_contact", "고객 연락처 조회"); + } + + @Override + public ProductToolResponse getCustomerConsent(ProductToolRequest request) { + return mockResponse(request, "pro_customer_consent", "고객 동의정보 조회"); + } + + @Override + public ProductToolResponse getCustomerIdentity(ProductToolRequest request) { + return mockResponse(request, "pro_customer_identity", "고객 본인확인정보 조회"); + } + + @Override + public ProductToolResponse getCustomerAddress(ProductToolRequest request) { + return mockResponse(request, "pro_customer_address", "고객 주소정보 조회"); + } + + @Override + public ProductToolResponse getCustomerOccupation(ProductToolRequest request) { + return mockResponse(request, "pro_customer_occupation", "고객 직업정보 조회"); + } + + @Override + public ProductToolResponse getCustomerFamily(ProductToolRequest request) { + return mockResponse(request, "pro_customer_family", "고객 가족정보 조회"); + } + + @Override + public ProductToolResponse getCustomerRiskGrade(ProductToolRequest request) { + return mockResponse(request, "pro_customer_risk_grade", "고객 위험등급 조회"); + } + + private ProductToolResponse mockResponse(ProductToolRequest request, String toolName, String title) { + ProductToolResponse response = new ProductToolResponse(); + response.setToolName(toolName); + response.setCategory("PRO"); + response.setReferenceId(request != null && hasText(request.getSubjectId()) ? request.getSubjectId() : "CUST-000001"); + response.setStatus("정상"); + response.setSummary(title + " 결과"); + response.setAsOfDate(request != null && hasText(request.getQueryDate()) ? request.getQueryDate() : "2026-08-14"); + response.setDetails(List.of(title + " 모의 상세정보", "외부 시스템을 변경하지 않는 조회 결과")); + return response; + } + + private boolean hasText(String value) { + return value != null && !value.isBlank(); + } +} diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_activity_status.json b/dap-was-pro/src/main/resources/mock-responses/agt_activity_status.json new file mode 100644 index 00000000..7b8ce285 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_activity_status.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_activity_status\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 활동상태 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 활동상태 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_affiliation_history.json b/dap-was-pro/src/main/resources/mock-responses/agt_affiliation_history.json new file mode 100644 index 00000000..4b573fb5 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_affiliation_history.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_affiliation_history\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 소속변경 이력 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 소속변경 이력 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_agent_compliance.json b/dap-was-pro/src/main/resources/mock-responses/agt_agent_compliance.json new file mode 100644 index 00000000..a0d8b3c5 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_agent_compliance.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_agent_compliance\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 준법정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 준법정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_agent_education.json b/dap-was-pro/src/main/resources/mock-responses/agt_agent_education.json new file mode 100644 index 00000000..394e47a9 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_agent_education.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_agent_education\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 교육이력 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 교육이력 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_agent_license.json b/dap-was-pro/src/main/resources/mock-responses/agt_agent_license.json new file mode 100644 index 00000000..64c55e40 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_agent_license.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_agent_license\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 자격정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 자격정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_agent_profile.json b/dap-was-pro/src/main/resources/mock-responses/agt_agent_profile.json new file mode 100644 index 00000000..904f04fc --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_agent_profile.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_agent_profile\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 기본정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 기본정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_appointment_status.json b/dap-was-pro/src/main/resources/mock-responses/agt_appointment_status.json new file mode 100644 index 00000000..df1d06ce --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_appointment_status.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_appointment_status\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 위촉상태 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 위촉상태 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_branch_list.json b/dap-was-pro/src/main/resources/mock-responses/agt_branch_list.json new file mode 100644 index 00000000..1dc63fc4 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_branch_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_branch_list\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 지점목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 지점목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_campaign.json b/dap-was-pro/src/main/resources/mock-responses/agt_campaign.json new file mode 100644 index 00000000..b147a753 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_campaign.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_campaign\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 영업 캠페인 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 영업 캠페인 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_claim_support.json b/dap-was-pro/src/main/resources/mock-responses/agt_claim_support.json new file mode 100644 index 00000000..ae1472c6 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_claim_support.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_claim_support\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 보험금 청구지원 현황 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 보험금 청구지원 현황 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_commission_grade.json b/dap-was-pro/src/main/resources/mock-responses/agt_commission_grade.json new file mode 100644 index 00000000..7c92bc79 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_commission_grade.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_commission_grade\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 수수료등급 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 수수료등급 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_commission_summary.json b/dap-was-pro/src/main/resources/mock-responses/agt_commission_summary.json new file mode 100644 index 00000000..62b58a4e --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_commission_summary.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_commission_summary\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 수수료 요약 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 수수료 요약 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_contract_count.json b/dap-was-pro/src/main/resources/mock-responses/agt_contract_count.json new file mode 100644 index 00000000..fddf80dc --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_contract_count.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_contract_count\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 계약건수 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 계약건수 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_customer_assignment.json b/dap-was-pro/src/main/resources/mock-responses/agt_customer_assignment.json new file mode 100644 index 00000000..2c1fb055 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_customer_assignment.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_customer_assignment\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 고객배정 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 고객배정 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_ga_profile.json b/dap-was-pro/src/main/resources/mock-responses/agt_ga_profile.json new file mode 100644 index 00000000..a5ba867b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_ga_profile.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_ga_profile\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 조직 기본정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 조직 기본정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_notice_list.json b/dap-was-pro/src/main/resources/mock-responses/agt_notice_list.json new file mode 100644 index 00000000..dfc71983 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_notice_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_notice_list\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 공지목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 공지목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_organization_agent_list.json b/dap-was-pro/src/main/resources/mock-responses/agt_organization_agent_list.json new file mode 100644 index 00000000..e14bf9a8 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_organization_agent_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_organization_agent_list\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 소속 설계사 목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 소속 설계사 목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_organization_manager.json b/dap-was-pro/src/main/resources/mock-responses/agt_organization_manager.json new file mode 100644 index 00000000..fc55fc79 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_organization_manager.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_organization_manager\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 조직 책임자 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 조직 책임자 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_organization_tree.json b/dap-was-pro/src/main/resources/mock-responses/agt_organization_tree.json new file mode 100644 index 00000000..304b2f4b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_organization_tree.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_organization_tree\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 조직도 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 조직도 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_persistency_rate.json b/dap-was-pro/src/main/resources/mock-responses/agt_persistency_rate.json new file mode 100644 index 00000000..9938d7a5 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_persistency_rate.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_persistency_rate\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 계약유지율 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 계약유지율 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_premium_summary.json b/dap-was-pro/src/main/resources/mock-responses/agt_premium_summary.json new file mode 100644 index 00000000..d5d25bee --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_premium_summary.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_premium_summary\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 보험료 실적 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 보험료 실적 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_production_summary.json b/dap-was-pro/src/main/resources/mock-responses/agt_production_summary.json new file mode 100644 index 00000000..61fe3063 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_production_summary.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_production_summary\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 신계약 실적 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 신계약 실적 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_sales_area.json b/dap-was-pro/src/main/resources/mock-responses/agt_sales_area.json new file mode 100644 index 00000000..9c68e4f6 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_sales_area.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_sales_area\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 영업지역 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 영업지역 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_support_contact.json b/dap-was-pro/src/main/resources/mock-responses/agt_support_contact.json new file mode 100644 index 00000000..d9c8f4bb --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_support_contact.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_support_contact\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 업무지원 연락처 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 업무지원 연락처 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/agt_task_list.json b/dap-was-pro/src/main/resources/mock-responses/agt_task_list.json new file mode 100644 index 00000000..244646a7 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/agt_task_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"agt_task_list\",\"category\":\"AGT\",\"referenceId\":\"AGT-000001\",\"status\":\"정상\",\"summary\":\"GA 설계사 업무목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"GA 설계사 업무목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_accident.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_accident.json new file mode 100644 index 00000000..9d4c089b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_accident.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_accident\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험사고 정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험사고 정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_beneficiary.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_beneficiary.json new file mode 100644 index 00000000..e53e2501 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_beneficiary.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_beneficiary\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 수익자 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 수익자 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_contact.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_contact.json new file mode 100644 index 00000000..6eee428c --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_contact.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_contact\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 청구 담당자 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 청구 담당자 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_documents.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_documents.json new file mode 100644 index 00000000..6c09b4df --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_documents.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_documents\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 청구서류 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 청구서류 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_eligibility.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_eligibility.json new file mode 100644 index 00000000..996bd8d6 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_eligibility.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_eligibility\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 청구 가능여부 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 청구 가능여부 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_history.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_history.json new file mode 100644 index 00000000..9a2d5d9b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_history.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_history\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 청구이력 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 청구이력 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_payment.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_payment.json new file mode 100644 index 00000000..e794dced --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_payment.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_payment\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 지급내역 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 지급내역 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_claim_status.json b/dap-was-pro/src/main/resources/mock-responses/pro_claim_status.json new file mode 100644 index 00000000..515c1c0a --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_claim_status.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_claim_status\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험금 청구상태 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험금 청구상태 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_beneficiary.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_beneficiary.json new file mode 100644 index 00000000..c0cb8437 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_beneficiary.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_beneficiary\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 수익자 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 수익자 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_coverage.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_coverage.json new file mode 100644 index 00000000..f287f0eb --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_coverage.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_coverage\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 보장내역 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 보장내역 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_detail.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_detail.json new file mode 100644 index 00000000..1ccd171f --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_detail.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_detail\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 상세 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 상세 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_list.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_list.json new file mode 100644 index 00000000..d945c38a --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_list\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_loan_status.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_loan_status.json new file mode 100644 index 00000000..7157fa8b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_loan_status.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_loan_status\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 대출현황 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 대출현황 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_payment_status.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_payment_status.json new file mode 100644 index 00000000..66396b4a --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_payment_status.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_payment_status\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험료 납입상태 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험료 납입상태 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_premium.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_premium.json new file mode 100644 index 00000000..0feacdaf --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_premium.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_premium\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 보험료 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 보험료 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_rider_list.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_rider_list.json new file mode 100644 index 00000000..26020cba --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_rider_list.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_rider_list\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 특약목록 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 특약목록 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_contract_surrender_value.json b/dap-was-pro/src/main/resources/mock-responses/pro_contract_surrender_value.json new file mode 100644 index 00000000..a9045beb --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_contract_surrender_value.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_contract_surrender_value\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"보험계약 해지환급금 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"보험계약 해지환급금 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_address.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_address.json new file mode 100644 index 00000000..2ecf34bb --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_address.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_address\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 주소정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 주소정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_consent.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_consent.json new file mode 100644 index 00000000..11c7191c --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_consent.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_consent\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 동의정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 동의정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_contact.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_contact.json new file mode 100644 index 00000000..3c5d4963 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_contact.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_contact\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 연락처 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 연락처 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_family.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_family.json new file mode 100644 index 00000000..e50625e8 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_family.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_family\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 가족정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 가족정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_identity.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_identity.json new file mode 100644 index 00000000..d14d7ada --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_identity.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_identity\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 본인확인정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 본인확인정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_occupation.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_occupation.json new file mode 100644 index 00000000..24839754 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_occupation.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_occupation\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 직업정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 직업정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_profile.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_profile.json new file mode 100644 index 00000000..de5be84b --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_profile.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_profile\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 기본정보 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 기본정보 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/mock-responses/pro_customer_risk_grade.json b/dap-was-pro/src/main/resources/mock-responses/pro_customer_risk_grade.json new file mode 100644 index 00000000..d0b3ebe8 --- /dev/null +++ b/dap-was-pro/src/main/resources/mock-responses/pro_customer_risk_grade.json @@ -0,0 +1,5 @@ +{ + "resultCode": "SUCCESS", + "data": "{\"toolName\":\"pro_customer_risk_grade\",\"category\":\"PRO\",\"referenceId\":\"CUST-000001\",\"status\":\"정상\",\"summary\":\"고객 위험등급 조회 결과\",\"asOfDate\":\"2026-08-14\",\"details\":[\"고객 위험등급 조회 모의 상세정보\",\"외부 시스템을 변경하지 않는 조회 결과\"]}" +} + diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_activity_status.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_activity_status.yml new file mode 100644 index 00000000..38c003d3 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_activity_status.yml @@ -0,0 +1,24 @@ +name: agt_activity_status +display_name: GA 설계사 활동상태 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 활동상태 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 활동상태 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 활동상태 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 활동상태 조회 정보를 보여줘", "GA 설계사 활동상태 조회 결과를 확인해줘", "현재 GA 설계사 활동상태 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_affiliation_history.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_affiliation_history.yml new file mode 100644 index 00000000..78fd62a5 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_affiliation_history.yml @@ -0,0 +1,24 @@ +name: agt_affiliation_history +display_name: GA 소속변경 이력 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 소속변경 이력 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 소속변경 이력 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 소속변경 이력 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 소속변경 이력 조회 정보를 보여줘", "GA 소속변경 이력 조회 결과를 확인해줘", "현재 GA 소속변경 이력 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_compliance.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_compliance.yml new file mode 100644 index 00000000..c641bab0 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_compliance.yml @@ -0,0 +1,24 @@ +name: agt_agent_compliance +display_name: GA 설계사 준법정보 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 준법정보 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 준법정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 준법정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 준법정보 조회 정보를 보여줘", "GA 설계사 준법정보 조회 결과를 확인해줘", "현재 GA 설계사 준법정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_education.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_education.yml new file mode 100644 index 00000000..cb475b29 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_education.yml @@ -0,0 +1,24 @@ +name: agt_agent_education +display_name: GA 설계사 교육이력 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 교육이력 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 교육이력 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 교육이력 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 교육이력 조회 정보를 보여줘", "GA 설계사 교육이력 조회 결과를 확인해줘", "현재 GA 설계사 교육이력 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_license.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_license.yml new file mode 100644 index 00000000..63113bac --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_license.yml @@ -0,0 +1,24 @@ +name: agt_agent_license +display_name: GA 설계사 자격정보 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 자격정보 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 자격정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 자격정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 자격정보 조회 정보를 보여줘", "GA 설계사 자격정보 조회 결과를 확인해줘", "현재 GA 설계사 자격정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_profile.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_profile.yml new file mode 100644 index 00000000..28b50051 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_agent_profile.yml @@ -0,0 +1,24 @@ +name: agt_agent_profile +display_name: GA 설계사 기본정보 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 기본정보 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 기본정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 기본정보 조회 정보를 보여줘", "GA 설계사 기본정보 조회 결과를 확인해줘", "현재 GA 설계사 기본정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_appointment_status.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_appointment_status.yml new file mode 100644 index 00000000..a90da83a --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_appointment_status.yml @@ -0,0 +1,24 @@ +name: agt_appointment_status +display_name: GA 설계사 위촉상태 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 위촉상태 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 위촉상태 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 위촉상태 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 위촉상태 조회 정보를 보여줘", "GA 설계사 위촉상태 조회 결과를 확인해줘", "현재 GA 설계사 위촉상태 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_branch_list.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_branch_list.yml new file mode 100644 index 00000000..a274e463 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_branch_list.yml @@ -0,0 +1,24 @@ +name: agt_branch_list +display_name: GA 지점목록 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 지점목록 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 지점목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 지점목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 지점목록 조회 정보를 보여줘", "GA 지점목록 조회 결과를 확인해줘", "현재 GA 지점목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_campaign.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_campaign.yml new file mode 100644 index 00000000..3b17223e --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_campaign.yml @@ -0,0 +1,24 @@ +name: agt_campaign +display_name: GA 영업 캠페인 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 영업 캠페인 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 영업 캠페인 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 영업 캠페인 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 영업 캠페인 조회 정보를 보여줘", "GA 영업 캠페인 조회 결과를 확인해줘", "현재 GA 영업 캠페인 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_claim_support.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_claim_support.yml new file mode 100644 index 00000000..c12a37ff --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_claim_support.yml @@ -0,0 +1,24 @@ +name: agt_claim_support +display_name: GA 보험금 청구지원 현황 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 보험금 청구지원 현황 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 보험금 청구지원 현황 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 보험금 청구지원 현황 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 보험금 청구지원 현황 조회 정보를 보여줘", "GA 보험금 청구지원 현황 조회 결과를 확인해줘", "현재 GA 보험금 청구지원 현황 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_grade.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_grade.yml new file mode 100644 index 00000000..d459ab9c --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_grade.yml @@ -0,0 +1,24 @@ +name: agt_commission_grade +display_name: GA 설계사 수수료등급 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 수수료등급 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 수수료등급 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 수수료등급 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 수수료등급 조회 정보를 보여줘", "GA 설계사 수수료등급 조회 결과를 확인해줘", "현재 GA 설계사 수수료등급 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_summary.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_summary.yml new file mode 100644 index 00000000..3ab15148 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_commission_summary.yml @@ -0,0 +1,24 @@ +name: agt_commission_summary +display_name: GA 설계사 수수료 요약 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 수수료 요약 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 수수료 요약 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 수수료 요약 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 수수료 요약 조회 정보를 보여줘", "GA 설계사 수수료 요약 조회 결과를 확인해줘", "현재 GA 설계사 수수료 요약 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_contract_count.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_contract_count.yml new file mode 100644 index 00000000..a9c1b0c7 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_contract_count.yml @@ -0,0 +1,24 @@ +name: agt_contract_count +display_name: GA 설계사 계약건수 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 계약건수 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 계약건수 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 계약건수 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 계약건수 조회 정보를 보여줘", "GA 설계사 계약건수 조회 결과를 확인해줘", "현재 GA 설계사 계약건수 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_customer_assignment.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_customer_assignment.yml new file mode 100644 index 00000000..94ec4fc6 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_customer_assignment.yml @@ -0,0 +1,24 @@ +name: agt_customer_assignment +display_name: GA 설계사 고객배정 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 고객배정 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 고객배정 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 고객배정 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 고객배정 조회 정보를 보여줘", "GA 설계사 고객배정 조회 결과를 확인해줘", "현재 GA 설계사 고객배정 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_ga_profile.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_ga_profile.yml new file mode 100644 index 00000000..b16e221a --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_ga_profile.yml @@ -0,0 +1,24 @@ +name: agt_ga_profile +display_name: GA 조직 기본정보 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 조직 기본정보 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 조직 기본정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 조직 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 조직 기본정보 조회 정보를 보여줘", "GA 조직 기본정보 조회 결과를 확인해줘", "현재 GA 조직 기본정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_notice_list.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_notice_list.yml new file mode 100644 index 00000000..1e06ed26 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_notice_list.yml @@ -0,0 +1,24 @@ +name: agt_notice_list +display_name: GA 설계사 공지목록 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 공지목록 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 공지목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 공지목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 공지목록 조회 정보를 보여줘", "GA 설계사 공지목록 조회 결과를 확인해줘", "현재 GA 설계사 공지목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_agent_list.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_agent_list.yml new file mode 100644 index 00000000..77960379 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_agent_list.yml @@ -0,0 +1,24 @@ +name: agt_organization_agent_list +display_name: GA 소속 설계사 목록 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 소속 설계사 목록 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 소속 설계사 목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 소속 설계사 목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 소속 설계사 목록 조회 정보를 보여줘", "GA 소속 설계사 목록 조회 결과를 확인해줘", "현재 GA 소속 설계사 목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_manager.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_manager.yml new file mode 100644 index 00000000..99b55297 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_manager.yml @@ -0,0 +1,24 @@ +name: agt_organization_manager +display_name: GA 조직 책임자 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 조직 책임자 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 조직 책임자 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 조직 책임자 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 조직 책임자 조회 정보를 보여줘", "GA 조직 책임자 조회 결과를 확인해줘", "현재 GA 조직 책임자 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_tree.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_tree.yml new file mode 100644 index 00000000..f790f320 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_organization_tree.yml @@ -0,0 +1,24 @@ +name: agt_organization_tree +display_name: GA 조직도 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 조직도 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 조직도 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 조직도 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 조직도 조회 정보를 보여줘", "GA 조직도 조회 결과를 확인해줘", "현재 GA 조직도 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_persistency_rate.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_persistency_rate.yml new file mode 100644 index 00000000..5b54f4b9 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_persistency_rate.yml @@ -0,0 +1,24 @@ +name: agt_persistency_rate +display_name: GA 설계사 계약유지율 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 계약유지율 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 계약유지율 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 계약유지율 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 계약유지율 조회 정보를 보여줘", "GA 설계사 계약유지율 조회 결과를 확인해줘", "현재 GA 설계사 계약유지율 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_premium_summary.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_premium_summary.yml new file mode 100644 index 00000000..f5306266 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_premium_summary.yml @@ -0,0 +1,24 @@ +name: agt_premium_summary +display_name: GA 설계사 보험료 실적 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 보험료 실적 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 보험료 실적 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 보험료 실적 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 보험료 실적 조회 정보를 보여줘", "GA 설계사 보험료 실적 조회 결과를 확인해줘", "현재 GA 설계사 보험료 실적 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_production_summary.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_production_summary.yml new file mode 100644 index 00000000..c564daa6 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_production_summary.yml @@ -0,0 +1,24 @@ +name: agt_production_summary +display_name: GA 설계사 신계약 실적 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 신계약 실적 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 신계약 실적 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 신계약 실적 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 신계약 실적 조회 정보를 보여줘", "GA 설계사 신계약 실적 조회 결과를 확인해줘", "현재 GA 설계사 신계약 실적 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_sales_area.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_sales_area.yml new file mode 100644 index 00000000..991c0fd9 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_sales_area.yml @@ -0,0 +1,24 @@ +name: agt_sales_area +display_name: GA 영업지역 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 영업지역 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 영업지역 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 영업지역 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 영업지역 조회 정보를 보여줘", "GA 영업지역 조회 결과를 확인해줘", "현재 GA 영업지역 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_support_contact.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_support_contact.yml new file mode 100644 index 00000000..f01cad4c --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_support_contact.yml @@ -0,0 +1,24 @@ +name: agt_support_contact +display_name: GA 업무지원 연락처 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 업무지원 연락처 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 업무지원 연락처 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 업무지원 연락처 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 업무지원 연락처 조회 정보를 보여줘", "GA 업무지원 연락처 조회 결과를 확인해줘", "현재 GA 업무지원 연락처 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/agt/agt_task_list.yml b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_task_list.yml new file mode 100644 index 00000000..53461914 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/agt/agt_task_list.yml @@ -0,0 +1,24 @@ +name: agt_task_list +display_name: GA 설계사 업무목록 조회 +version: 1.0.0 +category_key: agt +description: + function: GA 설계사 업무목록 조회 정보를 조회합니다. + when_to_use: GA·설계사 업무에서 GA 설계사 업무목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: GA 설계사 업무목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["GA 설계사 업무목록 조회 정보를 보여줘", "GA 설계사 업무목록 조회 결과를 확인해줘", "현재 GA 설계사 업무목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + agentId: {type: string, description: 설계사번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + organizationId: {type: string, description: GA 조직번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + additionalProperties: false +tags: [agt, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_accident.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_accident.yml new file mode 100644 index 00000000..b3194a9d --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_accident.yml @@ -0,0 +1,24 @@ +name: pro_claim_accident +display_name: 보험사고 정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험사고 정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험사고 정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험사고 정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험사고 정보 조회 정보를 보여줘", "보험사고 정보 조회 결과를 확인해줘", "현재 보험사고 정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_beneficiary.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_beneficiary.yml new file mode 100644 index 00000000..6297ece8 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_beneficiary.yml @@ -0,0 +1,24 @@ +name: pro_claim_beneficiary +display_name: 보험금 수익자 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 수익자 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 수익자 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 수익자 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 수익자 조회 정보를 보여줘", "보험금 수익자 조회 결과를 확인해줘", "현재 보험금 수익자 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_contact.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_contact.yml new file mode 100644 index 00000000..c0e17a80 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_contact.yml @@ -0,0 +1,24 @@ +name: pro_claim_contact +display_name: 보험금 청구 담당자 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 청구 담당자 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 청구 담당자 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 청구 담당자 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 청구 담당자 조회 정보를 보여줘", "보험금 청구 담당자 조회 결과를 확인해줘", "현재 보험금 청구 담당자 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_documents.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_documents.yml new file mode 100644 index 00000000..57484422 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_documents.yml @@ -0,0 +1,24 @@ +name: pro_claim_documents +display_name: 보험금 청구서류 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 청구서류 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 청구서류 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 청구서류 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 청구서류 조회 정보를 보여줘", "보험금 청구서류 조회 결과를 확인해줘", "현재 보험금 청구서류 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_eligibility.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_eligibility.yml new file mode 100644 index 00000000..1056bc5e --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_eligibility.yml @@ -0,0 +1,24 @@ +name: pro_claim_eligibility +display_name: 보험금 청구 가능여부 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 청구 가능여부 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 청구 가능여부 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 청구 가능여부 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 청구 가능여부 조회 정보를 보여줘", "보험금 청구 가능여부 조회 결과를 확인해줘", "현재 보험금 청구 가능여부 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_history.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_history.yml new file mode 100644 index 00000000..3759ef47 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_history.yml @@ -0,0 +1,24 @@ +name: pro_claim_history +display_name: 보험금 청구이력 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 청구이력 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 청구이력 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 청구이력 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 청구이력 조회 정보를 보여줘", "보험금 청구이력 조회 결과를 확인해줘", "현재 보험금 청구이력 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_payment.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_payment.yml new file mode 100644 index 00000000..8072bdaa --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_payment.yml @@ -0,0 +1,24 @@ +name: pro_claim_payment +display_name: 보험금 지급내역 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 지급내역 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 지급내역 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 지급내역 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 지급내역 조회 정보를 보여줘", "보험금 지급내역 조회 결과를 확인해줘", "현재 보험금 지급내역 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_status.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_status.yml new file mode 100644 index 00000000..df68efb7 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_claim_status.yml @@ -0,0 +1,24 @@ +name: pro_claim_status +display_name: 보험금 청구상태 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험금 청구상태 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험금 청구상태 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험금 청구상태 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험금 청구상태 조회 정보를 보여줘", "보험금 청구상태 조회 결과를 확인해줘", "현재 보험금 청구상태 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_beneficiary.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_beneficiary.yml new file mode 100644 index 00000000..bc6e8979 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_beneficiary.yml @@ -0,0 +1,24 @@ +name: pro_contract_beneficiary +display_name: 보험계약 수익자 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 수익자 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 수익자 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 수익자 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 수익자 조회 정보를 보여줘", "보험계약 수익자 조회 결과를 확인해줘", "현재 보험계약 수익자 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_coverage.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_coverage.yml new file mode 100644 index 00000000..50fa078e --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_coverage.yml @@ -0,0 +1,24 @@ +name: pro_contract_coverage +display_name: 보험계약 보장내역 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 보장내역 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 보장내역 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 보장내역 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 보장내역 조회 정보를 보여줘", "보험계약 보장내역 조회 결과를 확인해줘", "현재 보험계약 보장내역 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_detail.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_detail.yml new file mode 100644 index 00000000..6eb9483c --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_detail.yml @@ -0,0 +1,24 @@ +name: pro_contract_detail +display_name: 보험계약 상세 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 상세 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 상세 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 상세 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 상세 조회 정보를 보여줘", "보험계약 상세 조회 결과를 확인해줘", "현재 보험계약 상세 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_list.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_list.yml new file mode 100644 index 00000000..7dd56ead --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_list.yml @@ -0,0 +1,24 @@ +name: pro_contract_list +display_name: 보험계약 목록 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 목록 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 목록 조회 정보를 보여줘", "보험계약 목록 조회 결과를 확인해줘", "현재 보험계약 목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_loan_status.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_loan_status.yml new file mode 100644 index 00000000..fc695cd6 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_loan_status.yml @@ -0,0 +1,24 @@ +name: pro_contract_loan_status +display_name: 보험계약 대출현황 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 대출현황 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 대출현황 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 대출현황 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 대출현황 조회 정보를 보여줘", "보험계약 대출현황 조회 결과를 확인해줘", "현재 보험계약 대출현황 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_payment_status.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_payment_status.yml new file mode 100644 index 00000000..486498be --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_payment_status.yml @@ -0,0 +1,24 @@ +name: pro_contract_payment_status +display_name: 보험료 납입상태 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험료 납입상태 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험료 납입상태 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험료 납입상태 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험료 납입상태 조회 정보를 보여줘", "보험료 납입상태 조회 결과를 확인해줘", "현재 보험료 납입상태 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_premium.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_premium.yml new file mode 100644 index 00000000..6046161a --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_premium.yml @@ -0,0 +1,24 @@ +name: pro_contract_premium +display_name: 보험계약 보험료 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 보험료 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 보험료 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 보험료 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 보험료 조회 정보를 보여줘", "보험계약 보험료 조회 결과를 확인해줘", "현재 보험계약 보험료 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_rider_list.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_rider_list.yml new file mode 100644 index 00000000..dea9d691 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_rider_list.yml @@ -0,0 +1,24 @@ +name: pro_contract_rider_list +display_name: 보험계약 특약목록 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 특약목록 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 특약목록 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 특약목록 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 특약목록 조회 정보를 보여줘", "보험계약 특약목록 조회 결과를 확인해줘", "현재 보험계약 특약목록 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_surrender_value.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_surrender_value.yml new file mode 100644 index 00000000..3a070960 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_contract_surrender_value.yml @@ -0,0 +1,24 @@ +name: pro_contract_surrender_value +display_name: 보험계약 해지환급금 조회 +version: 1.0.0 +category_key: pro +description: + function: 보험계약 해지환급금 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 보험계약 해지환급금 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 보험계약 해지환급금 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["보험계약 해지환급금 조회 정보를 보여줘", "보험계약 해지환급금 조회 결과를 확인해줘", "현재 보험계약 해지환급금 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_address.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_address.yml new file mode 100644 index 00000000..2c9e4efe --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_address.yml @@ -0,0 +1,24 @@ +name: pro_customer_address +display_name: 고객 주소정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 주소정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 주소정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 주소정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 주소정보 조회 정보를 보여줘", "고객 주소정보 조회 결과를 확인해줘", "현재 고객 주소정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_consent.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_consent.yml new file mode 100644 index 00000000..c0704a29 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_consent.yml @@ -0,0 +1,24 @@ +name: pro_customer_consent +display_name: 고객 동의정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 동의정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 동의정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 동의정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 동의정보 조회 정보를 보여줘", "고객 동의정보 조회 결과를 확인해줘", "현재 고객 동의정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_contact.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_contact.yml new file mode 100644 index 00000000..4c0bb3e8 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_contact.yml @@ -0,0 +1,24 @@ +name: pro_customer_contact +display_name: 고객 연락처 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 연락처 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 연락처 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 연락처 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 연락처 조회 정보를 보여줘", "고객 연락처 조회 결과를 확인해줘", "현재 고객 연락처 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_family.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_family.yml new file mode 100644 index 00000000..71582760 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_family.yml @@ -0,0 +1,24 @@ +name: pro_customer_family +display_name: 고객 가족정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 가족정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 가족정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 가족정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 가족정보 조회 정보를 보여줘", "고객 가족정보 조회 결과를 확인해줘", "현재 고객 가족정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_identity.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_identity.yml new file mode 100644 index 00000000..3e8daf4c --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_identity.yml @@ -0,0 +1,24 @@ +name: pro_customer_identity +display_name: 고객 본인확인정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 본인확인정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 본인확인정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 본인확인정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 본인확인정보 조회 정보를 보여줘", "고객 본인확인정보 조회 결과를 확인해줘", "현재 고객 본인확인정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_occupation.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_occupation.yml new file mode 100644 index 00000000..48608360 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_occupation.yml @@ -0,0 +1,24 @@ +name: pro_customer_occupation +display_name: 고객 직업정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 직업정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 직업정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 직업정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 직업정보 조회 정보를 보여줘", "고객 직업정보 조회 결과를 확인해줘", "현재 고객 직업정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_profile.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_profile.yml new file mode 100644 index 00000000..889b1c95 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_profile.yml @@ -0,0 +1,24 @@ +name: pro_customer_profile +display_name: 고객 기본정보 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 기본정보 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 기본정보 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 기본정보 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 기본정보 조회 정보를 보여줘", "고객 기본정보 조회 결과를 확인해줘", "현재 고객 기본정보 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_risk_grade.yml b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_risk_grade.yml new file mode 100644 index 00000000..3e7df232 --- /dev/null +++ b/dap-was-pro/src/main/resources/tool-definitions/pro/pro_customer_risk_grade.yml @@ -0,0 +1,24 @@ +name: pro_customer_risk_grade +display_name: 고객 위험등급 조회 +version: 1.0.0 +category_key: pro +description: + function: 고객 위험등급 조회 정보를 조회합니다. + when_to_use: 고객·보험계약 업무에서 고객 위험등급 조회 정보가 필요할 때 사용합니다. + when_not_to_use: 정보 변경, 승인 또는 실제 업무처리에는 사용하지 않습니다. + io_limits: 입력 식별자에 대한 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다. +display_description: 고객 위험등급 조회 정보를 안전한 모의 데이터로 제공합니다. +example_queries: ["고객 위험등급 조회 정보를 보여줘", "고객 위험등급 조회 결과를 확인해줘", "현재 고객 위험등급 조회 내용을 알려줘"] +read_only: true +destructive: false +idempotent: true +parameters_schema: + type: object + properties: + subjectId: {type: string, description: 고객번호 또는 계약번호, pattern: "^[A-Za-z0-9_-]{3,30}$"} + queryDate: {type: string, description: 조회 기준일, pattern: "^\\d{4}-\\d{2}-\\d{2}$"} + detailLevel: {type: string, description: 조회 상세 수준, enum: [SUMMARY, DETAIL]} + additionalProperties: false +tags: [pro, 조회, mock] +required_env_keys: [] +owner_org: MCP_TOOL diff --git a/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImplTest.java b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImplTest.java new file mode 100644 index 00000000..b9fb09f4 --- /dev/null +++ b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/agt/usecase/impl/AgentInquiryUseCaseImplTest.java @@ -0,0 +1,24 @@ +package io.shinhanlife.dap.mcc.biz.agt.usecase.impl; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +import io.shinhanlife.dap.mcc.biz.agt.dto.AgentToolRequest; +import org.junit.jupiter.api.Test; + +class AgentInquiryUseCaseImplTest { + + @Test + void returnsAgentProductionForRequestedAgent() { + AgentToolRequest request = new AgentToolRequest(); + request.setAgentId("AGT-123456"); + request.setQueryDate("2026-08-14"); + + var response = new AgentPerformanceUseCaseImpl().getProductionSummary(request); + + assertEquals("agt_production_summary", response.getToolName()); + assertEquals("AGT-123456", response.getReferenceId()); + assertEquals("정상", response.getStatus()); + assertFalse(response.getDetails().isEmpty()); + } +} diff --git a/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ProductInquiryUseCaseImplTest.java b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ProductInquiryUseCaseImplTest.java new file mode 100644 index 00000000..8e900454 --- /dev/null +++ b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/biz/pro/usecase/impl/ProductInquiryUseCaseImplTest.java @@ -0,0 +1,24 @@ +package io.shinhanlife.dap.mcc.biz.pro.usecase.impl; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +import io.shinhanlife.dap.mcc.biz.pro.dto.ProductToolRequest; +import org.junit.jupiter.api.Test; + +class ProductInquiryUseCaseImplTest { + + @Test + void returnsContractDetailForRequestedCustomer() { + ProductToolRequest request = new ProductToolRequest(); + request.setSubjectId("CUST-123456"); + request.setQueryDate("2026-08-14"); + + var response = new ContractInquiryUseCaseImpl().getContractDetail(request); + + assertEquals("pro_contract_detail", response.getToolName()); + assertEquals("CUST-123456", response.getReferenceId()); + assertEquals("정상", response.getStatus()); + assertFalse(response.getDetails().isEmpty()); + } +} diff --git a/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/pro/ProMockToolResourcesTest.java b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/pro/ProMockToolResourcesTest.java new file mode 100644 index 00000000..c51fcd3d --- /dev/null +++ b/dap-was-pro/src/test/java/io/shinhanlife/dap/mcc/pro/ProMockToolResourcesTest.java @@ -0,0 +1,83 @@ +package io.shinhanlife.dap.mcc.pro; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import io.shinhanlife.dap.lib.metadata.ToolDefinition; +import io.shinhanlife.dap.lib.metadata.ToolDefinitionRepository; +import java.io.InputStream; +import java.lang.reflect.Method; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.junit.jupiter.api.Test; +import org.springaicommunity.mcp.annotation.McpTool; +import org.springframework.core.io.DefaultResourceLoader; + +class ProMockToolResourcesTest { + + private final ObjectMapper objectMapper = new ObjectMapper(); + + @Test + void registersTwentyFiveProAndTwentyFiveAgtTools() { + ToolDefinitionRepository repository = repository(); + Map definitions = repository.findAll(); + + assertEquals(50, definitions.size()); + assertEquals(25, definitions.values().stream() + .filter(definition -> "pro".equals(definition.categoryKey())).count()); + assertEquals(25, definitions.values().stream() + .filter(definition -> "agt".equals(definition.categoryKey())).count()); + assertTrue(definitions.values().stream().allMatch(ToolDefinition::readOnly)); + assertTrue(definitions.values().stream().noneMatch(ToolDefinition::destructive)); + assertTrue(definitions.values().stream().allMatch(ToolDefinition::idempotent)); + } + + @Test + void everyDefinitionHasMatchingValidMockResponse() throws Exception { + for (ToolDefinition definition : repository().findAll().values()) { + try (InputStream input = getClass().getResourceAsStream( + "/mock-responses/" + definition.name() + ".json")) { + assertNotNull(input, definition.name()); + JsonNode response = objectMapper.readTree(input); + assertEquals("SUCCESS", response.path("resultCode").asText(), definition.name()); + JsonNode data = objectMapper.readTree(response.path("data").asText()); + assertEquals(definition.name(), data.path("toolName").asText()); + assertFalse(data.path("details").isEmpty(), definition.name()); + } + } + } + + @Test + void useCaseInterfacesExposeFiftyUniqueMcpTools() { + List> useCases = List.of( + io.shinhanlife.dap.mcc.biz.pro.usecase.CustomerInquiryUseCase.class, + io.shinhanlife.dap.mcc.biz.pro.usecase.ClaimInquiryUseCase.class, + io.shinhanlife.dap.mcc.biz.pro.usecase.ContractInquiryUseCase.class, + io.shinhanlife.dap.mcc.biz.agt.usecase.AgentInquiryUseCase.class, + io.shinhanlife.dap.mcc.biz.agt.usecase.GaOrganizationUseCase.class, + io.shinhanlife.dap.mcc.biz.agt.usecase.AgentPerformanceUseCase.class); + + Set names = new HashSet<>(); + for (Class useCase : useCases) { + for (Method method : useCase.getDeclaredMethods()) { + McpTool tool = method.getAnnotation(McpTool.class); + assertNotNull(tool, useCase.getSimpleName() + "." + method.getName()); + assertTrue(names.add(tool.name()), "duplicate tool: " + tool.name()); + } + } + assertEquals(50, names.size()); + assertEquals(repository().findAll().keySet(), names); + } + + private ToolDefinitionRepository repository() { + return new ToolDefinitionRepository(new ObjectMapper(new YAMLFactory()), + new DefaultResourceLoader(), "classpath*:tool-definitions/**/*.yml"); + } +}