소스 수정 완료

This commit is contained in:
jade
2026-07-13 17:39:49 +09:00
parent 24975d3701
commit 6610589c51
4 changed files with 23 additions and 23 deletions

View File

@@ -229,7 +229,7 @@ public class ToolScaffolder {
/** /**
* @package %s.%s.dto * @package %s.%s.dto
* @className %sMciReqDto * @className %sLegacyReq
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author %s * @author %s
* @create %s * @create %s
@@ -242,11 +242,11 @@ public class ToolScaffolder {
* </pre> * </pre>
*/ */
@Data @Data
public class %sMciReqDto { public class %sLegacyReq {
// TODO: Add legacy request fields here // TODO: Add legacy request fields here
} }
""".formatted(BASE_PACKAGE, shortName, BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author, baseName); """.formatted(BASE_PACKAGE, shortName, BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author, baseName);
Files.writeString(legacyDtoDir.resolve(baseName + "MciReqDto.java"), legacyReqContent); Files.writeString(legacyDtoDir.resolve(baseName + "LegacyReq.java"), legacyReqContent);
// Generate Legacy Res DTO // Generate Legacy Res DTO
String legacyResContent = """ String legacyResContent = """
@@ -256,7 +256,7 @@ public class ToolScaffolder {
/** /**
* @package %s.%s.dto * @package %s.%s.dto
* @className %sMciResDto * @className %sLegacyRes
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author %s * @author %s
* @create %s * @create %s
@@ -269,27 +269,27 @@ public class ToolScaffolder {
* </pre> * </pre>
*/ */
@Data @Data
public class %sMciResDto { public class %sLegacyRes {
// TODO: Add legacy response fields here // TODO: Add legacy response fields here
} }
""".formatted(BASE_PACKAGE, shortName, BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author, baseName); """.formatted(BASE_PACKAGE, shortName, BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author, baseName);
Files.writeString(legacyDtoDir.resolve(baseName + "MciResDto.java"), legacyResContent); Files.writeString(legacyDtoDir.resolve(baseName + "LegacyRes.java"), legacyResContent);
// Generate MCI Converter // Generate Legacy Converter
String converterContent = """ String converterContent = """
package %s.%s.converter; package %s.%s.converter;
import %s.dto.%sReq; import %s.dto.%sReq;
import %s.dto.%sRes; import %s.dto.%sRes;
import %s.%s.dto.%sMciReqDto; import %s.%s.dto.%sLegacyReq;
import %s.%s.dto.%sMciResDto; import %s.%s.dto.%sLegacyRes;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
/** /**
* @package %s.%s.converter * @package %s.%s.converter
* @className %sMciConverter * @className %sLegacyConverter
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author %s * @author %s
* @create %s * @create %s
@@ -302,14 +302,14 @@ public class ToolScaffolder {
* </pre> * </pre>
*/ */
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface %sMciConverter { public interface %sLegacyConverter {
%sMciConverter INSTANCE = Mappers.getMapper(%sMciConverter.class); %sLegacyConverter INSTANCE = Mappers.getMapper(%sLegacyConverter.class);
// @Mapping(source = "sourceField", target = "targetField") // @Mapping(source = "sourceField", target = "targetField")
%sMciReqDto toMciReq(%sReq req); %sLegacyReq toLegacyReq(%sReq req);
%sRes toRes(%sMciResDto mciRes); %sRes toRes(%sLegacyRes legacyRes);
} }
""".formatted( """.formatted(
BASE_PACKAGE, shortName, BASE_PACKAGE, shortName,
@@ -320,7 +320,7 @@ public class ToolScaffolder {
BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author, BASE_PACKAGE, shortName, baseName, author, createDate, createDate, author,
baseName, baseName, baseName, baseName, baseName, baseName, baseName baseName, baseName, baseName, baseName, baseName, baseName, baseName
); );
Files.writeString(converterDir.resolve(baseName + "MciConverter.java"), converterContent); Files.writeString(converterDir.resolve(baseName + "LegacyConverter.java"), converterContent);
log.append("\n=========================================\n"); log.append("\n=========================================\n");
log.append(" Scaffolding Complete!\n"); log.append(" Scaffolding Complete!\n");
@@ -328,9 +328,9 @@ public class ToolScaffolder {
log.append("[Service] ").append(serviceDir.resolve(baseName + "Service.java")).append("\n"); log.append("[Service] ").append(serviceDir.resolve(baseName + "Service.java")).append("\n");
log.append("[Req DTO] ").append(dtoDir.resolve(baseName + "Req.java")).append("\n"); log.append("[Req DTO] ").append(dtoDir.resolve(baseName + "Req.java")).append("\n");
log.append("[Res DTO] ").append(dtoDir.resolve(baseName + "Res.java")).append("\n"); log.append("[Res DTO] ").append(dtoDir.resolve(baseName + "Res.java")).append("\n");
log.append("[MCI Req DTO] ").append(legacyDtoDir.resolve(baseName + "MciReqDto.java")).append("\n"); log.append("[Legacy Req DTO] ").append(legacyDtoDir.resolve(baseName + "LegacyReq.java")).append("\n");
log.append("[MCI Res DTO] ").append(legacyDtoDir.resolve(baseName + "MciResDto.java")).append("\n"); log.append("[Legacy Res DTO] ").append(legacyDtoDir.resolve(baseName + "LegacyRes.java")).append("\n");
log.append("[MCI Converter] ").append(converterDir.resolve(baseName + "MciConverter.java")).append("\n"); log.append("[Legacy Converter] ").append(converterDir.resolve(baseName + "LegacyConverter.java")).append("\n");
log.append("\n Tip: ").append(interfaceId).append(" 목업 데이터를 mock-responses.json에 추가하세요.\n"); log.append("\n Tip: ").append(interfaceId).append(" 목업 데이터를 mock-responses.json에 추가하세요.\n");
return log.toString(); return log.toString();

View File

@@ -1,7 +1,7 @@
package io.shinhanlife.axhub.biz.mcp.tool.sms.converter; package io.shinhanlife.axhub.biz.mcp.tool.sms.converter;
import io.shinhanlife.axhub.biz.mcp.tool.dto.SmsSendReq; import io.shinhanlife.axhub.biz.mcp.tool.dto.SmsSendReq;
import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsMciReqDto; import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsLegacyReqDto;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@@ -13,5 +13,5 @@ public interface SmsMciConverter {
@Mapping(source = "phoneNumber", target = "phone") @Mapping(source = "phoneNumber", target = "phone")
@Mapping(source = "message", target = "content") @Mapping(source = "message", target = "content")
SmsMciReqDto toMciReq(SmsSendReq req); SmsLegacyReqDto toMciReq(SmsSendReq req);
} }

View File

@@ -5,7 +5,7 @@ import lombok.Getter;
@Getter @Getter
@Builder @Builder
public class SmsMciReqDto { public class SmsLegacyReqDto {
/** /**
* EAI 시스템이 요구하는 수신자 번호 파라미터명 * EAI 시스템이 요구하는 수신자 번호 파라미터명
*/ */

View File

@@ -4,8 +4,8 @@ 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.SmsSendReq; import io.shinhanlife.axhub.biz.mcp.tool.dto.SmsSendReq;
import io.shinhanlife.axhub.biz.mcp.tool.service.AbstractMcpToolService; import io.shinhanlife.axhub.biz.mcp.tool.service.AbstractMcpToolService;
import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsMciReqDto;
import io.shinhanlife.axhub.biz.mcp.tool.sms.converter.SmsMciConverter; import io.shinhanlife.axhub.biz.mcp.tool.sms.converter.SmsMciConverter;
import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsLegacyReqDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.Map; import java.util.Map;
@@ -33,7 +33,7 @@ public class SmsToolService extends AbstractMcpToolService {
log.info("[SMS] SMS 발송 요청 수신. 수신자: {}", req.getPhoneNumber()); log.info("[SMS] SMS 발송 요청 수신. 수신자: {}", req.getPhoneNumber());
// MapStruct를 이용한 자동 매핑 (AI DTO -> MCI DTO) // MapStruct를 이용한 자동 매핑 (AI DTO -> MCI DTO)
SmsMciReqDto mciReq = SmsMciConverter.INSTANCE.toMciReq(req); SmsLegacyReqDto mciReq = SmsMciConverter.INSTANCE.toMciReq(req);
// 레거시 시스템 연동 (EAI) - DTO 객체를 그대로 넘김 // 레거시 시스템 연동 (EAI) - DTO 객체를 그대로 넘김
Map<String, Object> result = executeLegacy("EAI", "SMS_SEND_001", mciReq); Map<String, Object> result = executeLegacy("EAI", "SMS_SEND_001", mciReq);