refactor: replace MapStruct INSTANCE with Spring DI in SmsLegacyConverter and ToolScaffolder template

This commit is contained in:
jade
2026-07-13 22:41:12 +09:00
parent db180db710
commit 29f5822d5c
11 changed files with 411 additions and 11 deletions

View File

@@ -9,8 +9,6 @@ import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring")
public interface SmsLegacyConverter {
SmsLegacyConverter INSTANCE = Mappers.getMapper(SmsLegacyConverter.class);
@Mapping(source = "phoneNumber", target = "phone")
@Mapping(source = "message", target = "content")
SmsLegacyReqDto toLegacyReq(SmsSendReq req);

View File

@@ -6,6 +6,7 @@ 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.sms.converter.SmsLegacyConverter;
import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsLegacyReqDto;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
@@ -25,15 +26,18 @@ import java.util.Map;
* </pre>
*/
@Slf4j
@RequiredArgsConstructor
@McpTool(routingType = "EAI", categoryKey = "notification")
public class SmsToolService extends AbstractMcpToolService {
private final SmsLegacyConverter converter;
@McpFunction(displayName = "send_sms 툴", name = "send_sms", description = "SMS 발송", prompt = "고객에게 SMS 메시지를 발송해줘.", mappingId = "SMS_SEND_001")
public Object sendSms(SmsSendReq req) {
log.info("[SMS] SMS 발송 요청 수신. 수신자: {}", req.getPhoneNumber());
// MapStruct를 이용한 자동 매핑 (AI DTO -> MCI DTO)
SmsLegacyReqDto legacyReq = SmsLegacyConverter.INSTANCE.toLegacyReq(req);
SmsLegacyReqDto legacyReq = converter.toLegacyReq(req);
// 레거시 시스템 연동 (EAI) - DTO 객체를 그대로 넘김
Map<String, Object> result = executeLegacy("EAI", "SMS_SEND_001", legacyReq);