fix: resolve MCI sample tool execution errors and improve parameter definitions in UI
This commit is contained in:
@@ -20,8 +20,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
|
||||
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config", "io.shinhanlife.dap.other"})
|
||||
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.common.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config", "io.shinhanlife.dap.other"})
|
||||
@EnableCaching
|
||||
public class DapToolOtherApplication {
|
||||
public static void main(String[] args) {
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package io.shinhanlife.dap.other.dto;
|
||||
|
||||
import io.shinhanlife.dap.mcc.annotation.McpParameter;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.other.dto
|
||||
* @className MciSampleRequestDto
|
||||
* @description AX HUB 시스템 처리 클래스
|
||||
* @author 김형식
|
||||
* @create 2026.09.01
|
||||
* <pre>
|
||||
* ---------- 개정이력 ----------
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2026.09.01 김형식 최초생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Data
|
||||
public class MciSampleRequestDto {
|
||||
@McpParameter(description = "인터페이스 ID (입력 예시: S001)")
|
||||
private String interfaceId;
|
||||
|
||||
@McpParameter(description = "메시지 전송 유형 (입력 예시: T001)")
|
||||
private String messageType;
|
||||
|
||||
@McpParameter(description = "조회 대상 고객명 (입력 예시: 홍길동)")
|
||||
private String customerName;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package io.shinhanlife.dap.other.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpParameter;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.other.dto
|
||||
* @className MyBizDataDto
|
||||
* @description AX HUB 시스템 처리 클래스 - 샘플 비즈니스 데이터 DTO
|
||||
* @author 김형식
|
||||
* @create 2026.09.01
|
||||
* <pre>
|
||||
* ---------- 개정이력 ----------
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2026.09.01 김형식 최초생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MyBizDataDto {
|
||||
|
||||
@McpParameter(description = "고객 이름", required = true)
|
||||
private String customerName;
|
||||
|
||||
@McpParameter(description = "조회 대상 일자 (YYYYMMDD)", required = true)
|
||||
private String targetDate;
|
||||
|
||||
@McpParameter(description = "비고 내용")
|
||||
private String remarks;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package io.shinhanlife.dap.other.tool;
|
||||
|
||||
import io.shinhanlife.dap.mcc.annotation.McpFunction;
|
||||
import io.shinhanlife.dap.mcc.annotation.McpTool;
|
||||
import io.shinhanlife.dap.common.integration.mci.dto.ShinhanTelegramWrapper;
|
||||
import io.shinhanlife.dap.common.integration.mci.dto.ShinhanCommonHeaderDto;
|
||||
import io.shinhanlife.dap.common.integration.mci.dto.ShinhanMessageDto;
|
||||
import io.shinhanlife.dap.common.integration.mci.dto.ShinhanMessageDto.MsgHddvValu;
|
||||
import io.shinhanlife.dap.other.dto.MyBizDataDto;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import io.shinhanlife.dap.other.dto.MciSampleRequestDto;
|
||||
|
||||
/**
|
||||
* @package io.shinhanlife.dap.other.tool
|
||||
* @className MciSampleTool
|
||||
* @description AX HUB 시스템 처리 클래스 - MCI 연동 샘플 툴
|
||||
* @author 김형식
|
||||
* @create 2026.09.01
|
||||
* <pre>
|
||||
* ---------- 개정이력 ----------
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2026.09.01 김형식 최초생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@McpTool(routingType = "MCI", categoryKey = "common")
|
||||
public class MciSampleTool {
|
||||
|
||||
@McpFunction(displayName = "MCI 샘플 전송", name = "send_mci_sample", description = "MCI 표준 헤더, 메시지부, 데이터부 구조를 갖는 샘플 연동")
|
||||
public ShinhanTelegramWrapper<MyBizDataDto> sendMciSample(MciSampleRequestDto params) {
|
||||
log.info("▶ [MCI Sample Tool] 요청을 수신했습니다. 전달된 파라미터: {}", params);
|
||||
|
||||
ShinhanTelegramWrapper<MyBizDataDto> request = new ShinhanTelegramWrapper<>();
|
||||
|
||||
// 1. 공통 헤더부 생성
|
||||
ShinhanCommonHeaderDto header = new ShinhanCommonHeaderDto();
|
||||
header.setItrIfId(params.getInterfaceId() != null && !params.getInterfaceId().isBlank() ? params.getInterfaceId() : "dummy_header");
|
||||
header.setReqRspnScCd("R");
|
||||
header.setGlbId(UUID.randomUUID().toString());
|
||||
request.setTgrmCmnnhddValu(header);
|
||||
|
||||
// 2. 메시지부 생성
|
||||
ShinhanMessageDto msg = new ShinhanMessageDto();
|
||||
MsgHddvValu msgHeader = new MsgHddvValu();
|
||||
msgHeader.setMsgTnsmTypeCd(params.getMessageType() != null && !params.getMessageType().isBlank() ? params.getMessageType() : "dummy_msg_type");
|
||||
msg.setMsgHddvValu(msgHeader);
|
||||
request.setTgrmMsdvValu(msg);
|
||||
|
||||
// 3. 데이터부 생성
|
||||
MyBizDataDto bizData = new MyBizDataDto();
|
||||
bizData.setCustomerName(params.getCustomerName() != null && !params.getCustomerName().isBlank() ? params.getCustomerName() : "홍길동");
|
||||
bizData.setRemarks("정상적으로 처리되었습니다. (응답 테스트)");
|
||||
request.setTgrmDtdvValu(bizData);
|
||||
|
||||
return request;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ eims.mcistring.url=http://localhost:${server.port}/api/mock/esb/string
|
||||
|
||||
# Gateway/Tool URLs
|
||||
axhub.gateway.url=http://localhost:8081
|
||||
axhub.tool.url=http://localhost:${server.port}
|
||||
axhub.tool.url=${AXHUB_TOOL_URL:http://localhost:${server.port}}
|
||||
|
||||
# Disable Kafka
|
||||
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
|
||||
|
||||
Reference in New Issue
Block a user