feat: implement MCI session fetching using employee number
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 1m3s

This commit is contained in:
jade
2026-08-19 16:41:13 +09:00
parent 9cdf313a77
commit e998127fa5
171 changed files with 17018 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
package io.shinhanlife.dap.mcc.biz.crm.converter;
/** Per-Tool converters are generated beside this compatibility marker. */
public interface CrmToolConverter {
}

View File

@@ -0,0 +1,5 @@
package io.shinhanlife.dap.mcc.biz.gat.converter;
/** Per-Tool converters are generated beside this compatibility marker. */
public interface SystemNoticeConverter {
}

View File

@@ -0,0 +1,14 @@
package io.shinhanlife.dap.mcc.biz.gat.usecase;
import org.springaicommunity.mcp.annotation.McpTool;
import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.gat.dto.GaActivityStatusRequest;
import io.shinhanlife.dap.mcc.biz.gat.dto.GaActivityStatusResponse;
public interface SystemNoticeUseCase {
@McpTool(name = "gat_ga_status", title = "GA 현황 조회", description = "GA 활동 현황을 조회하는 도구입니다.")
@GrowToolHint(register = true, categoryKey = "gat", mappingId = "CLHTTP00001")
GaActivityStatusResponse gaActivityStatus(GaActivityStatusRequest req);
}

View File

@@ -0,0 +1,30 @@
package io.shinhanlife.dap.mcc.biz.gat.usecase.impl;
import io.shinhanlife.dap.mcc.biz.gat.usecase.SystemNoticeUseCase;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import io.shinhanlife.dap.mcc.biz.gat.dto.GaActivityStatusRequest;
import io.shinhanlife.dap.mcc.biz.gat.dto.GaActivityStatusResponse;
import io.shinhanlife.dap.mcc.biz.gat.converter.GaActivityStatusConverter;
import io.shinhanlife.dap.mcc.infra.itrf.http.ga_activity_status.GaActivityStatusClient;
import io.shinhanlife.dap.mcc.infra.itrf.http.ga_activity_status.io.GaActivityStatusHttpRequest;
import io.shinhanlife.dap.mcc.infra.itrf.http.ga_activity_status.io.GaActivityStatusHttpResponse;
@Service
@RequiredArgsConstructor
public class SystemNoticeUseCaseImpl implements SystemNoticeUseCase {
private final GaActivityStatusClient gaActivityStatusClient;
private final GaActivityStatusConverter gaActivityStatusConverter;
@Override
public GaActivityStatusResponse gaActivityStatus(GaActivityStatusRequest req) {
GaActivityStatusHttpRequest request = gaActivityStatusConverter.toRequest(req);
GaActivityStatusHttpResponse response = gaActivityStatusClient.call(request, GaActivityStatusHttpResponse.class);
GaActivityStatusResponse toolResponse = gaActivityStatusConverter.toResponse(response);
if (toolResponse == null) toolResponse = new GaActivityStatusResponse();
toolResponse.setResultCode("SUCCESS");
return toolResponse;
}
}

View File

@@ -0,0 +1,20 @@
spring:
config:
activate:
on-profile: local
glow:
communication:
http:
api-list:
- name: ga-activity-status
domain: ${AXHUB_GA_ACTIVITY_STATUS_HTTP_DOMAIN:http://localhost:${server.port}}
url: ${AXHUB_GA_ACTIVITY_STATUS_HTTP_URL:/api/mock/http/crm_ga_status}
method: POST
content-type: application/json;charset=UTF-8
biz-pod: false
axhub:
mock:
http:
enabled: true

View File

@@ -0,0 +1,4 @@
{
"resultCode" : "SUCCESS",
"activityInfo" : "활동량: 1200, 참여자: 300"
}

View File

@@ -0,0 +1,30 @@
name: gat_ga_status
display_name: "GA 현황 조회"
version: 1.0.0
category_key: gat
description:
function: "GA 활동 데이터를 조회하고 현재 상태를 반환합니다."
when_to_use: "사용자가 GA 활동 현황을 확인하고자 할 때"
when_not_to_use: "GA와 무관한 데이터 요청이나 권한이 없는 경우"
io_limits: "입력은 GA 고유 식별자 문자열, 출력은 상태 코드와 상세 정보 JSON"
display_description: "GA 활동 현황을 확인합니다."
example_queries:
- "GA12345 현황 조회"
- "GA2023 활동 현황"
- "GA 최근 7일 통계"
read_only: true
destructive: false
idempotent: true
parameters_schema:
type: object
properties:
gaId:
type: string
description: "GA 고유 식별자 (형식: ^GA\\d{5}$) (예시: GA12345, GA67890)"
required:
- gaId
additionalProperties: false
tags: ["GA", "조회"]
legacy_interface_id: "CLHTTP00001"
required_env_keys: []
owner_org: "MCP_TOOL"