diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/eai/component/AxhubEaiComponent.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/eai/component/AxhubEaiComponent.java index 6c34e180..8cf2b26e 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/eai/component/AxhubEaiComponent.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/eai/component/AxhubEaiComponent.java @@ -15,6 +15,21 @@ import org.springframework.stereotype.Component; @Slf4j @Component @RequiredArgsConstructor + +/** + * @package io.shinhanlife.dap.lib.integration.eai.component + * @className AxhubEaiComponent + * @description AX HUB 시스템 처리 클래스 + * @author 0986406 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  0986406    최초생성
+ * 
+ * 
+ */ public class AxhubEaiComponent { @SuppressWarnings("rawtypes") diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/component/AxhubMciComponent.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/component/AxhubMciComponent.java index c39bdddf..746d70fb 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/component/AxhubMciComponent.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/component/AxhubMciComponent.java @@ -22,6 +22,21 @@ import java.util.Map; @Slf4j @Component @RequiredArgsConstructor + +/** + * @package io.shinhanlife.dap.lib.integration.mci.component + * @className AxhubMciComponent + * @description AX HUB 시스템 처리 클래스 + * @author 0986406 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  0986406    최초생성
+ * 
+ * 
+ */ public class AxhubMciComponent { @SuppressWarnings("rawtypes") diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/config/GlowMockConfig.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/config/GlowMockConfig.java index 19475eb1..a46fcd53 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/config/GlowMockConfig.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/config/GlowMockConfig.java @@ -9,6 +9,21 @@ import org.springframework.context.annotation.Configuration; * ComponentScan에 잡히게 되면 이 설정 클래스는 삭제하세요. */ @Configuration + +/** + * @package io.shinhanlife.dap.lib.integration.mci.config + * @className GlowMockConfig + * @description AX HUB 시스템 처리 클래스 + * @author 0986406 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  0986406    최초생성
+ * 
+ * 
+ */ public class GlowMockConfig { @Bean diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/enums/IndvCtinRoleTyp.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/enums/IndvCtinRoleTyp.java index 6698128e..5ed17887 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/enums/IndvCtinRoleTyp.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/integration/mci/enums/IndvCtinRoleTyp.java @@ -5,6 +5,21 @@ import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstructor + +/** + * @package io.shinhanlife.dap.lib.integration.mci.enums + * @className IndvCtinRoleTyp + * @description AX HUB 시스템 처리 클래스 + * @author 0986406 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  0986406    최초생성
+ * 
+ * 
+ */ public enum IndvCtinRoleTyp { CD_Z99("Z99"); diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/ZtUsacService.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/ZtUsacUseCase.java similarity index 84% rename from dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/ZtUsacService.java rename to dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/ZtUsacUseCase.java index f77098e9..9fdfff7a 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/ZtUsacService.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/ZtUsacUseCase.java @@ -1,11 +1,11 @@ -package io.shinhanlife.dap.lib.session.domain.service; +package io.shinhanlife.dap.lib.session.domain.usecase; import io.shinhanlife.dap.lib.session.dto.ZtUsacInDto; import io.shinhanlife.dap.lib.session.dto.ZtUsacOutDto; /** * @package io.shinhanlife.dap.lib.session.domain.service - * @className ZtUsacService + * @className ZtUsacUseCase * @description AX HUB 시스템 처리 클래스 * @author 0986406 * @create 2026.09.01 @@ -17,7 +17,7 @@ import io.shinhanlife.dap.lib.session.dto.ZtUsacOutDto; * * */ -public interface ZtUsacService { +public interface ZtUsacUseCase { /** * 사용자 조회 (단건) diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/impl/ZtUsacServiceImpl.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/impl/ZtUsacUseCaseImpl.java similarity index 77% rename from dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/impl/ZtUsacServiceImpl.java rename to dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/impl/ZtUsacUseCaseImpl.java index a748874a..5486fb8b 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/service/impl/ZtUsacServiceImpl.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/domain/usecase/impl/ZtUsacUseCaseImpl.java @@ -1,15 +1,15 @@ -package io.shinhanlife.dap.lib.session.domain.service.impl; +package io.shinhanlife.dap.lib.session.domain.usecase.impl; import io.shinhanlife.dap.lib.session.domain.repository.ZtUsacRepository; -import io.shinhanlife.dap.lib.session.domain.service.ZtUsacService; +import io.shinhanlife.dap.lib.session.domain.usecase.ZtUsacUseCase; import io.shinhanlife.dap.lib.session.dto.ZtUsacInDto; import io.shinhanlife.dap.lib.session.dto.ZtUsacOutDto; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; /** - * @package io.shinhanlife.dap.lib.session.domain.service.impl - * @className ZtUsacServiceImpl + * @package io.shinhanlife.dap.lib.session.domain.usecase.impl + * @className ZtUsacUseCaseImpl * @description AX HUB 시스템 처리 클래스 * @author 0986406 * @create 2026.09.01 @@ -23,7 +23,7 @@ import org.springframework.stereotype.Service; */ @Service @RequiredArgsConstructor -public class ZtUsacServiceImpl implements ZtUsacService { +public class ZtUsacUseCaseImpl implements ZtUsacUseCase { private final ZtUsacRepository ztUsacRepository; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/presentation/SsoRestController.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/presentation/SsoRestController.java index 3e48ef97..b98c76bf 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/presentation/SsoRestController.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/session/presentation/SsoRestController.java @@ -6,7 +6,7 @@ import io.shinhanlife.glow.BizException; import io.shinhanlife.glow.GlowControllerId; import io.shinhanlife.glow.ResponseUtil; import io.shinhanlife.dap.lib.session.converter.ZtUsacConverter; -import io.shinhanlife.dap.lib.session.domain.service.ZtUsacService; +import io.shinhanlife.dap.lib.session.domain.usecase.ZtUsacUseCase; import io.shinhanlife.dap.lib.session.dto.SessionDto; import io.shinhanlife.dap.lib.session.dto.ZtUsacInDto; import io.shinhanlife.dap.lib.session.dto.ZtUsacOutDto; @@ -46,7 +46,7 @@ import java.util.Objects; public class SsoRestController { private static final String NLS_LOGIN_URL = ""; - private final ZtUsacService ztUsacService; + private final ZtUsacUseCase ztUsacService; private final ZtUsacConverter ztUsacConverter; /** diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/JsonSchemaGenerator.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/JsonSchemaGenerator.java index 4ab41ca5..587e0a1e 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/JsonSchemaGenerator.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/JsonSchemaGenerator.java @@ -1,68 +1,83 @@ -package io.shinhanlife.dap.lib.util; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyDescription; -import io.shinhanlife.dap.lib.annotation.McpParameter; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class JsonSchemaGenerator { - - /** - * Java DTO 클래스를 분석하여 MCP 규격의 완전한 JSON Schema를 생성합니다. - */ - public static Map generateSchema(Class clazz) { - Map schema = new HashMap<>(); - schema.put("type", "object"); - - Map properties = new HashMap<>(); - List requiredList = new ArrayList<>(); - - for (Field field : clazz.getDeclaredFields()) { - Map fieldSchema = new HashMap<>(); - - // 1. 타입 매핑 - fieldSchema.put("type", mapJavaTypeToJsonType(field.getType())); - - // 2. 어노테이션 기반 설명 추출 - McpParameter paramAnnotation = field.getAnnotation(McpParameter.class); - JsonPropertyDescription descAnnotation = field.getAnnotation(JsonPropertyDescription.class); - if (paramAnnotation != null && !paramAnnotation.description().isEmpty()) { - fieldSchema.put("description", paramAnnotation.description()); - } else if (descAnnotation != null && !descAnnotation.value().isEmpty()) { - fieldSchema.put("description", descAnnotation.value()); - } else { - fieldSchema.put("description", field.getName()); // 기본값 - } - - // 3. 필수 여부 판단 - JsonProperty jsonProp = field.getAnnotation(JsonProperty.class); - if ((jsonProp != null && jsonProp.required()) || (paramAnnotation != null && paramAnnotation.required())) { - requiredList.add(field.getName()); - } - - properties.put(field.getName(), fieldSchema); - } - - schema.put("properties", properties); - if (!requiredList.isEmpty()) { - schema.put("required", requiredList); - } - - return schema; - } - - private static String mapJavaTypeToJsonType(Class clazz) { - if (clazz == String.class) return "string"; - if (clazz == Integer.class || clazz == int.class) return "integer"; - if (clazz == Long.class || clazz == long.class) return "integer"; - if (clazz == Double.class || clazz == double.class) return "number"; - if (clazz == Float.class || clazz == float.class) return "number"; - if (clazz == Boolean.class || clazz == boolean.class) return "boolean"; - if (List.class.isAssignableFrom(clazz)) return "array"; - return "object"; - } -} \ No newline at end of file +package io.shinhanlife.dap.lib.util; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import io.shinhanlife.dap.lib.annotation.McpParameter; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @package io.shinhanlife.dap.lib.util + * @className JsonSchemaGenerator + * @description AX HUB 시스템 처리 클래스 + * @author 0986406 + * @create 2026.09.01 + *
+ * ---------- 개정이력 ----------
+ * 수정일      수정자    수정내용
+ * ---------- -------- ---------------------------
+ * 2026.09.01  0986406    최초생성
+ * 
+ * 
+ */ +public class JsonSchemaGenerator { + + /** + * Java DTO 클래스를 분석하여 MCP 규격의 완전한 JSON Schema를 생성합니다. + */ + public static Map generateSchema(Class clazz) { + Map schema = new HashMap<>(); + schema.put("type", "object"); + + Map properties = new HashMap<>(); + List requiredList = new ArrayList<>(); + + for (Field field : clazz.getDeclaredFields()) { + Map fieldSchema = new HashMap<>(); + + // 1. 타입 매핑 + fieldSchema.put("type", mapJavaTypeToJsonType(field.getType())); + + // 2. 어노테이션 기반 설명 추출 + McpParameter paramAnnotation = field.getAnnotation(McpParameter.class); + JsonPropertyDescription descAnnotation = field.getAnnotation(JsonPropertyDescription.class); + if (paramAnnotation != null && !paramAnnotation.description().isEmpty()) { + fieldSchema.put("description", paramAnnotation.description()); + } else if (descAnnotation != null && !descAnnotation.value().isEmpty()) { + fieldSchema.put("description", descAnnotation.value()); + } else { + fieldSchema.put("description", field.getName()); // 기본값 + } + + // 3. 필수 여부 판단 + JsonProperty jsonProp = field.getAnnotation(JsonProperty.class); + if ((jsonProp != null && jsonProp.required()) || (paramAnnotation != null && paramAnnotation.required())) { + requiredList.add(field.getName()); + } + + properties.put(field.getName(), fieldSchema); + } + + schema.put("properties", properties); + if (!requiredList.isEmpty()) { + schema.put("required", requiredList); + } + + return schema; + } + + private static String mapJavaTypeToJsonType(Class clazz) { + if (clazz == String.class) return "string"; + if (clazz == Integer.class || clazz == int.class) return "integer"; + if (clazz == Long.class || clazz == long.class) return "integer"; + if (clazz == Double.class || clazz == double.class) return "number"; + if (clazz == Float.class || clazz == float.class) return "number"; + if (clazz == Boolean.class || clazz == boolean.class) return "boolean"; + if (List.class.isAssignableFrom(clazz)) return "array"; + return "object"; + } +} diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java index 8e89a997..8c8c92c7 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/lib/util/ToolScaffolder.java @@ -176,7 +176,7 @@ public class ToolScaffolder { String toolName = baseName.isEmpty() ? baseName : Character.toLowerCase(baseName.charAt(0)) + baseName.substring(1); String serviceInterfaceContent = """ - package %s.service; + package %s.usecase; import %s.dto.%sRequest; @@ -191,13 +191,13 @@ public class ToolScaffolder { if (isMci) { serviceImplContent = """ - package %s.service.impl; + package %s.usecase.impl; import %s.annotation.McpFunction; import %s.annotation.McpTool; import %s.dto.%sRequest; import %s.dto.%sResponse; - import %s.service.%sService; + import %s.usecase.%sService; import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent; import io.shinhanlife.glow.communication.dto.Transfer; import org.springframework.stereotype.Service; @@ -208,7 +208,7 @@ public class ToolScaffolder { import %s.infra.itrf.mci.%s.io.%s_I; /** - * @package %s.service.impl + * @package %s.usecase.impl * @className %sServiceImpl * @description AX HUB 시스템 처리 클래스 * @author %s @@ -286,21 +286,21 @@ public class ToolScaffolder { ); } else { serviceImplContent = """ - package %s.service.impl; + package %s.usecase.impl; import %s.annotation.McpFunction; import %s.annotation.McpTool; import %s.dto.%sRequest; import %s.dto.%sResponse; - import %s.service.%sService; - import %s.service.AbstractMcpToolService; + import %s.usecase.%sService; + import %s.usecase.AbstractMcpToolUseCase; import %s.converter.%sLegacyConverter; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; /** - * @package %s.service.impl + * @package %s.usecase.impl * @className %sServiceImpl * @description AX HUB 시스템 처리 클래스 * @author %s @@ -320,7 +320,7 @@ public class ToolScaffolder { routingType = "%s", categoryKey = "%s" ) - public class %sServiceImpl extends AbstractMcpToolService implements %sService { + public class %sServiceImpl extends AbstractMcpToolUseCase implements %sService { private final %sLegacyConverter converter; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java index 32263b3c..217b522b 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java @@ -24,7 +24,7 @@ import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.lib.config.McpProperties; import io.shinhanlife.dap.mcc.dto.ToolMetadata; -import io.shinhanlife.dap.mcc.service.ToolRegistryHeartbeatSender; +import io.shinhanlife.dap.mcc.usecase.ToolRegistryHeartbeatSender; import io.shinhanlife.dap.lib.util.JsonSchemaGenerator; import java.lang.reflect.Method; import java.util.ArrayList; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/AbstractMcpToolService.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/AbstractMcpToolUseCase.java similarity index 96% rename from dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/AbstractMcpToolService.java rename to dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/AbstractMcpToolUseCase.java index 8e8171a3..9ebfb8a1 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/AbstractMcpToolService.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/AbstractMcpToolUseCase.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.service; +package io.shinhanlife.dap.mcc.usecase; import io.shinhanlife.dap.lib.adapter.connector.LegacyEimsConnector; import io.shinhanlife.dap.lib.adapter.util.PiiMaskingUtils; @@ -14,7 +14,7 @@ import lombok.extern.slf4j.Slf4j; /** * @package io.shinhanlife.dap.mcc.service - * @className AbstractMcpToolService + * @className AbstractMcpToolUseCase * @description AX HUB 시스템 처리 클래스 * @author 0986406 * @create 2026.09.01 @@ -27,7 +27,7 @@ import lombok.extern.slf4j.Slf4j; * */ @Slf4j -public abstract class AbstractMcpToolService { +public abstract class AbstractMcpToolUseCase { @Autowired protected LegacyEimsConnector legacyEimsConnector; diff --git a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/ToolRegistryHeartbeatSender.java b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/ToolRegistryHeartbeatSender.java similarity index 99% rename from dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/ToolRegistryHeartbeatSender.java rename to dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/ToolRegistryHeartbeatSender.java index ce88dc64..0359fc8d 100644 --- a/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/service/ToolRegistryHeartbeatSender.java +++ b/dap-tool-core/src/main/java/io/shinhanlife/dap/mcc/usecase/ToolRegistryHeartbeatSender.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.service; +package io.shinhanlife.dap.mcc.usecase; /** diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BalanceUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BalanceUseCaseImpl.java index eb182966..95ee998a 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BalanceUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BalanceUseCaseImpl.java @@ -18,7 +18,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.BalanceUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.BalanceRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -28,7 +28,7 @@ import java.util.Map; @Slf4j @Service @McpTool(routingType = "MCI", categoryKey = "cmm") -public class BalanceUseCaseImpl extends AbstractMcpToolService implements BalanceUseCase { +public class BalanceUseCaseImpl extends AbstractMcpToolUseCase implements BalanceUseCase { @McpFunction(register = false, displayName = "balance 툴", name = "balance", description = "고객의 계좌 잔액을 조회합니다.", diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BillingProcessUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BillingProcessUseCaseImpl.java index db130b0d..ec66c2a0 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BillingProcessUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BillingProcessUseCaseImpl.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.BillingProcessUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.BillingProcessRequest; import io.shinhanlife.dap.mcc.biz.cmm.dto.BillingStatusRequest; @@ -31,7 +31,7 @@ import java.util.Map; * */ @lombok.extern.slf4j.Slf4j -public class BillingProcessUseCaseImpl extends AbstractMcpToolService implements BillingProcessUseCase { +public class BillingProcessUseCaseImpl extends AbstractMcpToolUseCase implements BillingProcessUseCase { @McpFunction(register = false, displayName = "status 툴", name = "status", description = "청구심사 상태 조회", prompt = "현재 접수된 청구건 상태를 알려줘.", mappingId = "BILL_001") @Override diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BondIssueUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BondIssueUseCaseImpl.java index 32770dff..41f78f6c 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BondIssueUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/BondIssueUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.BondIssueUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.BondCheckRequest; import io.shinhanlife.dap.mcc.biz.cmm.dto.BondIssueRequest; @@ -25,7 +25,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.BondIssueRequest; * * */ -public class BondIssueUseCaseImpl extends AbstractMcpToolService implements BondIssueUseCase { +public class BondIssueUseCaseImpl extends AbstractMcpToolUseCase implements BondIssueUseCase { @McpFunction(displayName = "check 툴", name = "check", register = false, description = "발행 가능 여부 조회 테스트", prompt = "디지털 증권 발행 한도가 충분한지 확인해줘.", mappingId = "BOND_001") @Override diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CommonUtilityUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CommonUtilityUseCaseImpl.java index 82524dbe..4d7bbc6a 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CommonUtilityUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CommonUtilityUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.CommonUtilityUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.LeaveCountRequest; import io.shinhanlife.dap.mcc.biz.cmm.dto.VacationRegisterRequest; @@ -25,7 +25,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.VacationRegisterRequest; * * */ -public class CommonUtilityUseCaseImpl extends AbstractMcpToolService implements CommonUtilityUseCase { +public class CommonUtilityUseCaseImpl extends AbstractMcpToolUseCase implements CommonUtilityUseCase { @McpFunction(register = false, displayName = "register_vacation 툴", name = "register_vacation", description = "휴가 등록", prompt = "내일 하루 연차 휴가를 등록해줘.", mappingId = "HR_VAC_01") @Override diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/ContractInquiryUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/ContractInquiryUseCaseImpl.java index a4d2c99c..bd814018 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/ContractInquiryUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/ContractInquiryUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.ContractInquiryUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.ContractDetailRequest; import io.shinhanlife.dap.mcc.biz.cmm.dto.ContractStatusRequest; @@ -25,7 +25,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.ContractStatusRequest; * * */ -public class ContractInquiryUseCaseImpl extends AbstractMcpToolService implements ContractInquiryUseCase { +public class ContractInquiryUseCaseImpl extends AbstractMcpToolUseCase implements ContractInquiryUseCase { @McpFunction(register = false, displayName = "contract_status 툴", name = "contract_status", description = "계약상태 조회", prompt = "김신한 고객의 현재 계약 상태를 조회해줘.", mappingId = "CNTR_001") @Override diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerInfoUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerInfoUseCaseImpl.java index dbb951ac..abf8f74a 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerInfoUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerInfoUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.CustomerInfoUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerDetailRequest; import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGradeRequest; @@ -25,7 +25,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGradeRequest; * * */ -public class CustomerInfoUseCaseImpl extends AbstractMcpToolService implements CustomerInfoUseCase { +public class CustomerInfoUseCaseImpl extends AbstractMcpToolUseCase implements CustomerInfoUseCase { @McpFunction(register = false, displayName = "grade 툴", name = "grade", description = "고객등급 조회", prompt = "이 고객의 VIP 등급을 조회해줘.", mappingId = "CRM_001") @Override diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleMciToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleMciToolUseCaseImpl.java index 4283d2a8..d07751ab 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleMciToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleMciToolUseCaseImpl.java @@ -7,7 +7,7 @@ import io.shinhanlife.dap.lib.integration.mci.dto.ShinhanCommonHeaderDto; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.SampleMciToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleStringToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleStringToolUseCaseImpl.java index b584db52..af39be1e 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleStringToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/SampleStringToolUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.SampleStringToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.MciSampleStringResponse; import io.shinhanlife.dap.mcc.biz.cmm.dto.SampleStringRequest; import io.shinhanlife.glow.util.GlowMciParser; @@ -31,7 +31,7 @@ import java.util.Map; routingType = "MCI", categoryKey = "cmm" ) -public class SampleStringToolUseCaseImpl extends AbstractMcpToolService implements SampleStringToolUseCase { +public class SampleStringToolUseCaseImpl extends AbstractMcpToolUseCase implements SampleStringToolUseCase { @McpFunction(register = false, displayName = "get_sample_string 툴", name = "get_sample_string", description = "MCI String 버전과 GlowTrgmField 파싱을 테스트하는 샘플 툴입니다.", diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/TemplateUtilityUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/TemplateUtilityUseCaseImpl.java index 04c0ad0b..85cc757b 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/TemplateUtilityUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/TemplateUtilityUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.cmm.usecase.TemplateUtilityUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.cmm.dto.TemplateDownloadRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -32,7 +32,7 @@ import java.util.Map; * * */ -public class TemplateUtilityUseCaseImpl extends AbstractMcpToolService implements TemplateUtilityUseCase { +public class TemplateUtilityUseCaseImpl extends AbstractMcpToolUseCase implements TemplateUtilityUseCase { @Override @McpFunction(register = false, displayName = "get_template_file_url 툴", name = "get_template_file_url", diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/oth/usecase/impl/OnnbaMciToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/oth/usecase/impl/OnnbaMciToolUseCaseImpl.java index 7b13e340..3e7b14a6 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/oth/usecase/impl/OnnbaMciToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/oth/usecase/impl/OnnbaMciToolUseCaseImpl.java @@ -4,7 +4,7 @@ import io.shinhanlife.dap.mcc.biz.oth.io.MciCfpaClient; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.oth.usecase.OnnbaMciToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.oth.dto.Onnba3011Request; import io.shinhanlife.glow.communication.dto.Transfer; import lombok.RequiredArgsConstructor; diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/DailyQuoteToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/DailyQuoteToolUseCaseImpl.java index 15652bca..91a43e28 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/DailyQuoteToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/DailyQuoteToolUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.smp.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.smp.usecase.DailyQuoteToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -30,7 +30,7 @@ import java.util.Random; routingType = "DIRECT", categoryKey = "smp" ) -public class DailyQuoteToolUseCaseImpl extends AbstractMcpToolService implements DailyQuoteToolUseCase { +public class DailyQuoteToolUseCaseImpl extends AbstractMcpToolUseCase implements DailyQuoteToolUseCase { public record DailyQuoteRequest(String category) {} public record DailyQuoteResponse(String quote, String author) {} diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/ExchangeRateToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/ExchangeRateToolUseCaseImpl.java index 6b361e2e..24084413 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/ExchangeRateToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/ExchangeRateToolUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.smp.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.smp.usecase.ExchangeRateToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.web.client.RestClient; @@ -28,7 +28,7 @@ import org.springframework.web.client.RestClient; routingType = "DIRECT", categoryKey = "smp" ) -public class ExchangeRateToolUseCaseImpl extends AbstractMcpToolService implements ExchangeRateToolUseCase { +public class ExchangeRateToolUseCaseImpl extends AbstractMcpToolUseCase implements ExchangeRateToolUseCase { public record ExchangeRateRequest(String currencyCode) {} public record ExchangeRateResponse(String baseCurrency, String targetCurrency, double rate) {} diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/WeatherToolUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/WeatherToolUseCaseImpl.java index 029dd64c..3d5642b1 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/WeatherToolUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/smp/usecase/impl/WeatherToolUseCaseImpl.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.smp.usecase.WeatherToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.smp.dto.WeatherRequest; import io.shinhanlife.dap.mcc.biz.smp.dto.WeatherResponse; import lombok.extern.slf4j.Slf4j; @@ -35,7 +35,7 @@ import java.time.format.DateTimeFormatter; routingType = "DIRECT", categoryKey = "smp" ) -public class WeatherToolUseCaseImpl extends AbstractMcpToolService implements WeatherToolUseCase { +public class WeatherToolUseCaseImpl extends AbstractMcpToolUseCase implements WeatherToolUseCase { private final RestClient restClient; diff --git a/dap-tool-sms/src/main/java/io/shinhanlife/dap/mcc/biz/sms/usecase/impl/SmsToolUseCaseImpl.java b/dap-tool-sms/src/main/java/io/shinhanlife/dap/mcc/biz/sms/usecase/impl/SmsToolUseCaseImpl.java index 56221ffd..33ee7c03 100644 --- a/dap-tool-sms/src/main/java/io/shinhanlife/dap/mcc/biz/sms/usecase/impl/SmsToolUseCaseImpl.java +++ b/dap-tool-sms/src/main/java/io/shinhanlife/dap/mcc/biz/sms/usecase/impl/SmsToolUseCaseImpl.java @@ -3,7 +3,7 @@ package io.shinhanlife.dap.mcc.biz.sms.usecase.impl; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.mcc.biz.sms.usecase.SmsToolUseCase; -import io.shinhanlife.dap.mcc.service.AbstractMcpToolService; +import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase; import io.shinhanlife.dap.mcc.biz.sms.converter.SmsLegacyConverter; import io.shinhanlife.dap.mcc.biz.sms.dto.SmsSendRequest; import io.shinhanlife.dap.mcc.biz.sms.legacy.SmsLegacyRequest; @@ -29,7 +29,7 @@ import java.util.Map; @Slf4j @RequiredArgsConstructor @McpTool(routingType = "EAI", categoryKey = "notification") -public class SmsToolUseCaseImpl extends AbstractMcpToolService implements SmsToolUseCase { +public class SmsToolUseCaseImpl extends AbstractMcpToolUseCase implements SmsToolUseCase { private final SmsLegacyConverter converter;