diff --git a/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/SmsToolService.java b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/SmsToolService.java index d29102c..6e49c48 100644 --- a/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/SmsToolService.java +++ b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/SmsToolService.java @@ -4,9 +4,10 @@ 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.SmsSendReq; 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.mapper.SmsMciMapper; import lombok.extern.slf4j.Slf4j; -import java.util.HashMap; import java.util.Map; /** @@ -31,13 +32,11 @@ public class SmsToolService extends AbstractMcpToolService { public Object sendSms(SmsSendReq req) { log.info("πŸ“± [SMS] SMS λ°œμ†‘ μš”μ²­ μˆ˜μ‹ . μˆ˜μ‹ μž: {}", req.getPhoneNumber()); - // EAI 연동을 μœ„ν•œ νŒŒλΌλ―Έν„° λ³€ν™˜ - Map payload = new HashMap<>(); - payload.put("phone", req.getPhoneNumber()); - payload.put("content", req.getMessage()); + // MapStructλ₯Ό μ΄μš©ν•œ μžλ™ λ§€ν•‘ (AI DTO -> MCI DTO) + SmsMciReqDto mciReq = SmsMciMapper.INSTANCE.toMciReq(req); - // λ ˆκ±°μ‹œ μ‹œμŠ€ν…œ 연동 (EAI) - Map result = executeLegacy("EAI", "SMS_SEND_001", payload); + // λ ˆκ±°μ‹œ μ‹œμŠ€ν…œ 연동 (EAI) - DTO 객체λ₯Ό κ·ΈλŒ€λ‘œ λ„˜κΉ€ + Map result = executeLegacy("EAI", "SMS_SEND_001", mciReq); // κ²°κ³Ό 가곡 if ("SUCCESS".equals(result.get("status"))) { diff --git a/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/dto/SmsMciReqDto.java b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/dto/SmsMciReqDto.java new file mode 100644 index 0000000..3a6ce0b --- /dev/null +++ b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/dto/SmsMciReqDto.java @@ -0,0 +1,18 @@ +package io.shinhanlife.axhub.biz.mcp.tool.sms.dto; + +import lombok.Builder; +import lombok.Getter; + +@Getter +@Builder +public class SmsMciReqDto { + /** + * EAI μ‹œμŠ€ν…œμ΄ μš”κ΅¬ν•˜λŠ” μˆ˜μ‹ μž 번호 νŒŒλΌλ―Έν„°λͺ… + */ + private String phone; + + /** + * EAI μ‹œμŠ€ν…œμ΄ μš”κ΅¬ν•˜λŠ” λ©”μ‹œμ§€ λ‚΄μš© νŒŒλΌλ―Έν„°λͺ… + */ + private String content; +} diff --git a/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/mapper/SmsMciMapper.java b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/mapper/SmsMciMapper.java new file mode 100644 index 0000000..1420398 --- /dev/null +++ b/axhub-tool-sms/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/sms/mapper/SmsMciMapper.java @@ -0,0 +1,16 @@ +package io.shinhanlife.axhub.biz.mcp.tool.sms.mapper; + +import io.shinhanlife.axhub.biz.mcp.tool.dto.SmsSendReq; +import io.shinhanlife.axhub.biz.mcp.tool.sms.dto.SmsMciReqDto; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; + +@Mapper(componentModel = "spring") +public interface SmsMciMapper { + + SmsMciMapper INSTANCE = org.mapstruct.factory.Mappers.getMapper(SmsMciMapper.class); + + @Mapping(source = "phoneNumber", target = "phone") + @Mapping(source = "message", target = "content") + SmsMciReqDto toMciReq(SmsSendReq req); +}