fix: Gateway Fallback 라우팅 누락 수정 (hr, payment 모듈 추가)

This commit is contained in:
jade
2026-07-13 13:25:39 +09:00
parent 3e9d7c4d1d
commit a6f00d506b
9 changed files with 174 additions and 3 deletions

View File

@@ -3,6 +3,8 @@ spring.application.name=axhub-admin
# Gateway Fallback Routing (For unregistered tools) # Gateway Fallback Routing (For unregistered tools)
mcp.gateway.fallback.routes.email=http://tool-email:8083 mcp.gateway.fallback.routes.email=http://tool-email:8083
mcp.gateway.fallback.routes.sms=http://tool-sms:8082 mcp.gateway.fallback.routes.sms=http://tool-sms:8082
mcp.gateway.fallback.routes.hr=http://tool-hr:8086
mcp.gateway.fallback.routes.payment=http://tool-payment:8085
mcp.gateway.fallback.default-url=http://tool-other:8084 mcp.gateway.fallback.default-url=http://tool-other:8084
server.port=8081 server.port=8081

View File

@@ -1,9 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.tool.email; package io.shinhanlife.axhub.biz.mcp.tool.service;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool;
import io.shinhanlife.axhub.biz.mcp.tool.dto.EmailSendReq; import io.shinhanlife.axhub.biz.mcp.tool.dto.EmailSendReq;
import io.shinhanlife.axhub.biz.mcp.tool.service.AbstractMcpToolService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.HashMap; import java.util.HashMap;

View File

@@ -0,0 +1,24 @@
package io.shinhanlife.axhub.biz.mcp.tool.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.dto
* @className SearchDetailHrReq
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SearchDetailHrReq {
// TODO: Add request fields here
}

View File

@@ -0,0 +1,26 @@
package io.shinhanlife.axhub.biz.mcp.tool.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.dto
* @className SearchDetailHrRes
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SearchDetailHrRes {
private String status;
private String message;
// TODO: Add response fields here
}

View File

@@ -0,0 +1,22 @@
package io.shinhanlife.axhub.biz.mcp.tool.hr.dto;
import lombok.Data;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.hr.dto
* @className SearchDetailHrMciReqDto
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Data
public class SearchDetailHrMciReqDto {
// TODO: Add legacy request fields here
}

View File

@@ -0,0 +1,22 @@
package io.shinhanlife.axhub.biz.mcp.tool.hr.dto;
import lombok.Data;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.hr.dto
* @className SearchDetailHrMciResDto
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Data
public class SearchDetailHrMciResDto {
// TODO: Add legacy response fields here
}

View File

@@ -0,0 +1,34 @@
package io.shinhanlife.axhub.biz.mcp.tool.hr.mapper;
import io.shinhanlife.axhub.biz.mcp.tool.dto.SearchDetailHrReq;
import io.shinhanlife.axhub.biz.mcp.tool.dto.SearchDetailHrRes;
import io.shinhanlife.axhub.biz.mcp.tool.hr.dto.SearchDetailHrMciReqDto;
import io.shinhanlife.axhub.biz.mcp.tool.hr.dto.SearchDetailHrMciResDto;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.hr.mapper
* @className SearchDetailHrMciMapper
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Mapper(componentModel = "spring")
public interface SearchDetailHrMciMapper {
SearchDetailHrMciMapper INSTANCE = Mappers.getMapper(SearchDetailHrMciMapper.class);
// @Mapping(source = "sourceField", target = "targetField")
SearchDetailHrMciReqDto toMciReq(SearchDetailHrReq req);
SearchDetailHrRes toRes(SearchDetailHrMciResDto mciRes);
}

View File

@@ -0,0 +1,42 @@
package io.shinhanlife.axhub.biz.mcp.tool.service;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool;
import io.shinhanlife.axhub.biz.mcp.tool.dto.SearchDetailHrReq;
import io.shinhanlife.axhub.biz.mcp.tool.dto.SearchDetailHrRes;
import org.springframework.stereotype.Service;
/**
* @package io.shinhanlife.axhub.biz.mcp.tool.service
* @className SearchDetailHrService
* @description AX HUB 시스템 처리 클래스
* @author root
* @create 2026.07.13
* <pre>
* ---------- 개정이력 ----------
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2026.07.13 root 최초생성
*
* </pre>
*/
@Service
@McpTool(
routingType = "MCI",
categoryKey = "hr"
)
public class SearchDetailHrService extends AbstractMcpToolService {
@McpFunction(
displayName = "SearchDetailHr 툴",
name = "searchDetailhr",
description = "hr 상세 조회 합니다.",
prompt = "hr 상세 조회 합니다. 해줘.",
mappingId = "SEARCH_HR_002",
register = false,
requiresApproval = false
)
public Object execute(SearchDetailHrReq req) {
return executeLegacy("MCI", "SEARCH_HR_002", req);
}
}

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.tool.sms; package io.shinhanlife.axhub.biz.mcp.tool.sms.service;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction;
import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool;