feat: add solgitReqList and get_mcp_tool_team_members tools
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m31s
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m31s
This commit is contained in:
@@ -190,11 +190,13 @@ public class BusinessToolController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 메서드 실행
|
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
Object methodResult = null;
|
Object methodResult = null;
|
||||||
methodResult = targetMethod.invoke(targetBean, invokeArgument);
|
if (targetMethod.getParameterCount() == 0) {
|
||||||
|
methodResult = targetMethod.invoke(targetBean);
|
||||||
|
} else {
|
||||||
|
methodResult = targetMethod.invoke(targetBean, invokeArgument);
|
||||||
|
}
|
||||||
|
|
||||||
long elapsed = System.currentTimeMillis() - startTime;
|
long elapsed = System.currentTimeMillis() - startTime;
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import io.shinhanlife.dap.lib.annotation.McpTool;
|
|||||||
import io.shinhanlife.dap.lib.annotation.McpFunction;
|
import io.shinhanlife.dap.lib.annotation.McpFunction;
|
||||||
import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@McpTool(
|
@McpTool(
|
||||||
routingType = "HTTP",
|
routingType = "HTTP",
|
||||||
categoryKey = "cmm"
|
categoryKey = "cmm"
|
||||||
@@ -15,5 +17,5 @@ public interface TemplateUtilityUseCase {
|
|||||||
description = "요청한 템플릿(엑셀, 워드 등) 파일(양식)을 다운로드 받을 수 있는 시스템 URL을 반환합니다. AI는 이 URL을 사용자에게 마크다운 링크 형태로 제공해야 합니다.",
|
description = "요청한 템플릿(엑셀, 워드 등) 파일(양식)을 다운로드 받을 수 있는 시스템 URL을 반환합니다. AI는 이 URL을 사용자에게 마크다운 링크 형태로 제공해야 합니다.",
|
||||||
prompt = "요청하신 템플릿 양식 파일 다운로드 URL은 다음과 같습니다. 클릭하여 다운로드하세요:"
|
prompt = "요청하신 템플릿 양식 파일 다운로드 URL은 다음과 같습니다. 클릭하여 다운로드하세요:"
|
||||||
)
|
)
|
||||||
java.util.Map<String, Object> getTemplateFileUrl(TemplateDownloadRequest req);
|
Map<String, Object> getTemplateFileUrl(TemplateDownloadRequest req);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.solgit.converter;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.Mapping;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.solgit.converter
|
||||||
|
* @className SolgitReqListConverter
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface SolgitReqListConverter {
|
||||||
|
@Mapping(source = "status", target = "reqStatus", defaultValue = "진행중")
|
||||||
|
@Mapping(source = "period", target = "reqPeriod", defaultValue = "최근 3개월")
|
||||||
|
@Mapping(source = "target", target = "reqTarget", defaultValue = "나의 업무")
|
||||||
|
SOLG00000001_I toLegacyRequest(SolgitReqListRequest req);
|
||||||
|
|
||||||
|
SolgitReqListResponse toResponse(SOLG00000001_O mciRes);
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.solgit.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.solgit.dto
|
||||||
|
* @className SolgitReqListRequest
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class SolgitReqListRequest {
|
||||||
|
@McpParameter(description = "진행상태 (예: 진행중, 완료 등)", required = false)
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@McpParameter(description = "조회기간 (예: 1개월, 3개월 등)", required = false)
|
||||||
|
private String period;
|
||||||
|
|
||||||
|
@McpParameter(description = "조회대상 (예: 나의 업무, 전체 등)", required = false)
|
||||||
|
private String target;
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.solgit.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.solgit.dto
|
||||||
|
* @className SolgitReqListResponse
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class SolgitReqListResponse {
|
||||||
|
private List<SolgitReqListItem> reqList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class SolgitReqListItem {
|
||||||
|
private String srId;
|
||||||
|
private String srName;
|
||||||
|
private String process;
|
||||||
|
private String devStage;
|
||||||
|
private String appName;
|
||||||
|
private String requester;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.solgit.usecase;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpFunction;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpTool;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest;
|
||||||
|
|
||||||
|
@McpTool(
|
||||||
|
routingType = "MCI",
|
||||||
|
categoryKey = "solgit"
|
||||||
|
)
|
||||||
|
public interface SolgitReqListUseCase {
|
||||||
|
@McpFunction(
|
||||||
|
displayName = "SolgitReqList 툴",
|
||||||
|
name = "solgitReqList",
|
||||||
|
description = "SOLGIT 의뢰서 목록 조회해줘",
|
||||||
|
prompt = "SOLGIT 의뢰서 목록 조회해줘",
|
||||||
|
mappingId = "SOLG00000001",
|
||||||
|
register = false,
|
||||||
|
requiresApproval = false,
|
||||||
|
openWorldHint = true
|
||||||
|
)
|
||||||
|
Object execute(SolgitReqListRequest req);
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.usecase.SolgitReqListUseCase;
|
||||||
|
import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent;
|
||||||
|
import io.shinhanlife.glow.communication.dto.Transfer;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.converter.SolgitReqListConverter;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse.SolgitReqListItem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl
|
||||||
|
* @className SolgitReqListUseCaseImpl
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class SolgitReqListUseCaseImpl implements SolgitReqListUseCase {
|
||||||
|
|
||||||
|
private final MciNclgClient mci;
|
||||||
|
private final SolgitReqListConverter converter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object execute(SolgitReqListRequest req) {
|
||||||
|
log.info("[MCI Tool] {} 요청 수신. 파라미터: {}", "solgitReqList", req);
|
||||||
|
try {
|
||||||
|
// 현업 테스트용으로 MCI 통신을 바이패스하고 하드코딩된 결과를 반환합니다.
|
||||||
|
SolgitReqListResponse res = new SolgitReqListResponse();
|
||||||
|
List<SolgitReqListItem> list = new ArrayList<>();
|
||||||
|
|
||||||
|
SolgitReqListItem item1 = new SolgitReqListItem();
|
||||||
|
item1.setSrId("SR-2026-001");
|
||||||
|
item1.setSrName("AX HUB 메인 화면 UI 개편");
|
||||||
|
item1.setProcess("진행중");
|
||||||
|
item1.setDevStage("개발(단위테스트)");
|
||||||
|
item1.setAppName("AX HUB");
|
||||||
|
item1.setRequester("윤희준");
|
||||||
|
list.add(item1);
|
||||||
|
|
||||||
|
SolgitReqListItem item2 = new SolgitReqListItem();
|
||||||
|
item2.setSrId("SR-2026-002");
|
||||||
|
item2.setSrName("툴 연동 모듈 추가 개발");
|
||||||
|
item2.setProcess("진행중");
|
||||||
|
item2.setDevStage("분석/설계");
|
||||||
|
item2.setAppName("MCP Gateway");
|
||||||
|
item2.setRequester("고석민");
|
||||||
|
list.add(item2);
|
||||||
|
|
||||||
|
res.setReqList(list);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("[MCI Tool] 연동 중 오류 발생: {}", e.getMessage(), e);
|
||||||
|
return Map.of("status", "ERROR", "message", e.getMessage() != null ? e.getMessage() : "Unknown error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.converter;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.dto.TeamMemberRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.dto.TeamMemberResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.legacy.TeamMemberLegacyRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.legacy.TeamMemberLegacyResponse;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.Mapping;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.converter
|
||||||
|
* @className TeamMemberConverter
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface TeamMemberConverter {
|
||||||
|
TeamMemberLegacyRequest toLegacyRequest(TeamMemberRequest req);
|
||||||
|
|
||||||
|
TeamMemberRequest toRequest(TeamMemberLegacyRequest legacyRequest);
|
||||||
|
|
||||||
|
// TeamMemberResponse toResponse(TeamMemberLegacyResponse legacyResponse);
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.dto
|
||||||
|
* @className TeamMemberRequest
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class TeamMemberRequest {
|
||||||
|
@McpParameter(description = "조회할 팀 이름 (예: AX, MCP, TOOL, 전체 등)", required = false)
|
||||||
|
private String teamName;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.dto
|
||||||
|
* @className TeamMemberResponse
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class TeamMemberResponse {
|
||||||
|
private String result;
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.legacy;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.legacy
|
||||||
|
* @className TeamMemberLegacyRequest
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TeamMemberLegacyRequest {
|
||||||
|
/**
|
||||||
|
* EAI 시스템이 요구하는 수신자 번호 파라미터명
|
||||||
|
*/
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EAI 시스템이 요구하는 메시지 내용 파라미터명
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.legacy;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.legacy
|
||||||
|
* @className TeamMemberLegacyResponse
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TeamMemberLegacyResponse {
|
||||||
|
// TODO: Add legacy response fields here
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.usecase;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpFunction;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpTool;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.dto.TeamMemberRequest;
|
||||||
|
|
||||||
|
@McpTool(
|
||||||
|
routingType = "DIRECT",
|
||||||
|
categoryKey = "team"
|
||||||
|
)
|
||||||
|
public interface TeamMemberUseCase {
|
||||||
|
@McpFunction(
|
||||||
|
displayName = "신한라이프 MCP, TOOL 파트 구성원 조회",
|
||||||
|
name = "get_mcp_tool_team_members",
|
||||||
|
description = "신한라이프 MCP, TOOL 파트 구성원을 조회합니다.",
|
||||||
|
prompt = "신한라이프 MCP, TOOL 파트 구성원을 조회해 줘. (주의: 응답 시 ** 등 마크다운 기호를 절대 사용하지 말고 평문으로만 출력해 줘)",
|
||||||
|
mappingId = "DIRECT0001",
|
||||||
|
register = false,
|
||||||
|
requiresApproval = false,
|
||||||
|
openWorldHint = true
|
||||||
|
)
|
||||||
|
Object execute(TeamMemberRequest req);
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.team.usecase.impl;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.dto.TeamMemberRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.dto.TeamMemberResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.usecase.TeamMemberUseCase;
|
||||||
|
import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.team.converter.TeamMemberConverter;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.team.usecase.impl
|
||||||
|
* @className TeamMemberUseCaseImpl
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class TeamMemberUseCaseImpl extends AbstractMcpToolUseCase implements TeamMemberUseCase {
|
||||||
|
|
||||||
|
private final TeamMemberConverter converter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object execute(TeamMemberRequest req) {
|
||||||
|
log.info("[A01] 신한라이프 MCP, TOOL 파트 구성원 조회 요청: {}", req);
|
||||||
|
|
||||||
|
String filter = req != null && req.getTeamName() != null ? req.getTeamName().toUpperCase() : "전체";
|
||||||
|
|
||||||
|
String resultString = "";
|
||||||
|
if (filter.contains("AX")) {
|
||||||
|
resultString += "ax 추진팀 박세진 프로\n";
|
||||||
|
} else if (filter.contains("MCP") && !filter.contains("TOOL")) {
|
||||||
|
resultString += "MCP 팀은 고석민 수석 , 장효원 책임\n";
|
||||||
|
} else if (filter.contains("TOOL") && !filter.contains("MCP")) {
|
||||||
|
resultString += "TOOL 팀은 김형식 수석 ,김영진 책임 , 김도겸 대리 , 이주희 선임 , 문주현 선임 , 이보람 대리 , 박수빈 대리\n";
|
||||||
|
} else {
|
||||||
|
resultString += "ax 추진팀 박세진 프로\n" +
|
||||||
|
"MCP & TOOL 팀 담당자는 윤희준 이사\n" +
|
||||||
|
"MCP 팀은 고석민 수석 , 장효원 책임\n" +
|
||||||
|
"TOOL 팀은 김형식 수석 ,김영진 책임 , 김도겸 대리 , 이주희 선임 , 문주현 선임 , 이보람 대리 , 박수빈 대리";
|
||||||
|
}
|
||||||
|
|
||||||
|
TeamMemberResponse res = new TeamMemberResponse();
|
||||||
|
res.setResult(resultString.trim());
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent;
|
||||||
|
import io.shinhanlife.glow.communication.dto.Transfer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g
|
||||||
|
* @className MciNclgClient
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MciNclgClient {
|
||||||
|
private final AxhubMciComponent mci;
|
||||||
|
|
||||||
|
public <T> Transfer<T> callTo(String interfaceId, String dummy, Object mciReq, Class<T> resType) throws Exception {
|
||||||
|
return mci.callTo(interfaceId, dummy, mciReq, resType);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io
|
||||||
|
* @className SOLG00000001_I
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SOLG00000001_I {
|
||||||
|
private String reqStatus;
|
||||||
|
private String reqPeriod;
|
||||||
|
private String reqTarget;
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io
|
||||||
|
* @className SOLG00000001_O
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author jade
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 jade 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SOLG00000001_O {
|
||||||
|
private List<SOLG00000001_O_Item> reqList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class SOLG00000001_O_Item {
|
||||||
|
private String srId;
|
||||||
|
private String srName;
|
||||||
|
private String process;
|
||||||
|
private String devStage;
|
||||||
|
private String appName;
|
||||||
|
private String requester;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user