refactor: remove sample HTTP tool integration
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled

This commit is contained in:
jade
2026-08-11 23:41:57 +09:00
parent 0e27937687
commit 6662641903
28 changed files with 72 additions and 371 deletions

View File

@@ -1,14 +0,0 @@
package io.shinhanlife.dap.mcc.biz.smp.converter;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchRequest;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchResponse;
import io.shinhanlife.dap.mcc.infra.itrf.http.sample.io.EmployeeSearchHttpRequest;
import io.shinhanlife.dap.mcc.infra.itrf.http.sample.io.EmployeeSearchHttpResponse;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EmployeeSearchConverter {
EmployeeSearchHttpRequest toHttpRequest(EmployeeSearchRequest request);
EmployeeSearchResponse toResponse(EmployeeSearchHttpResponse httpResponse);
}

View File

@@ -1,16 +0,0 @@
package io.shinhanlife.dap.mcc.biz.smp.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmployeeSearchRequest {
@Schema(description = "조회할 사번", example = "EMP10001", requiredMode = Schema.RequiredMode.REQUIRED)
private String employeeId;
@Schema(description = "직원명. 사번 없이 이름으로 조회할 때 사용", example = "홍길동")
private String employeeName;
}

View File

@@ -1,19 +0,0 @@
package io.shinhanlife.dap.mcc.biz.smp.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmployeeSearchResponse {
private String resultCode;
private String resultMessage;
@Schema(description = "직원명", example = "홍길동")
private String employeeName;
@Schema(description = "소속 부서명", example = "AX추진팀")
private String departmentName;
}

View File

@@ -1,27 +0,0 @@
package io.shinhanlife.dap.mcc.biz.smp.usecase;
import org.springaicommunity.mcp.annotation.McpTool;
import io.shinhanlife.dap.lib.annotation.ToolHint;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchRequest;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchResponse;
/**
* @package io.shinhanlife.dap.mcc.biz.smp.usecase
* @className EmployeeSearchUseCase
* @description AX HUB ?쒖뒪??泥섎━ ?대옒??
* @author jade
* @create 2026.08.11
* <pre>
* ---------- 媛쒖젙?대젰 ----------
* ?섏젙?? ?섏젙?? ?섏젙?댁슜
* ---------- -------- ---------------------------
* 2026.08.11 jade 理쒖큹?앹꽦
*
* </pre>
*/
public interface EmployeeSearchUseCase {
@McpTool(name = "smp_employee_search", title = "직원 정보 조회", description = "사번 또는 직원명을 기준으로 직원 정보를 조회합니다.")
@ToolHint(register = false, categoryKey = "smp", mappingId = "CLCNNB00001")
EmployeeSearchResponse execute(EmployeeSearchRequest req);
}

View File

@@ -1,30 +0,0 @@
package io.shinhanlife.dap.mcc.biz.smp.usecase.impl;
import io.shinhanlife.dap.mcc.biz.smp.converter.EmployeeSearchConverter;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchRequest;
import io.shinhanlife.dap.mcc.biz.smp.dto.EmployeeSearchResponse;
import io.shinhanlife.dap.mcc.biz.smp.usecase.EmployeeSearchUseCase;
import io.shinhanlife.dap.mcc.infra.itrf.http.sample.SampleClient;
import io.shinhanlife.dap.mcc.infra.itrf.http.sample.io.EmployeeSearchHttpRequest;
import io.shinhanlife.dap.mcc.infra.itrf.http.sample.io.EmployeeSearchHttpResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class EmployeeSearchUseCaseImpl implements EmployeeSearchUseCase {
private final EmployeeSearchConverter converter;
private final SampleClient sampleClient;
@Override
public EmployeeSearchResponse execute(EmployeeSearchRequest request) {
EmployeeSearchHttpRequest httpRequest = converter.toHttpRequest(request);
EmployeeSearchHttpResponse httpResponse = sampleClient.call(httpRequest, EmployeeSearchHttpResponse.class);
EmployeeSearchResponse response = converter.toResponse(httpResponse);
response.setResultCode("SUCCESS");
response.setResultMessage("HTTP API call completed.");
return response;
}
}

View File

@@ -1,17 +0,0 @@
package io.shinhanlife.dap.mcc.infra.itrf.http.sample;
import io.shinhanlife.dap.lib.integration.http.component.AxhubHttpComponent;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class SampleClient {
private static final String API_NAME = "sample";
private final AxhubHttpComponent http;
public <I, O> O call(I request, Class<O> responseType) {
return http.call(API_NAME, request, responseType);
}
}

View File

@@ -1,11 +0,0 @@
package io.shinhanlife.dap.mcc.infra.itrf.http.sample.io;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmployeeSearchHttpRequest {
private String employeeId;
private String employeeName;
}

View File

@@ -1,12 +0,0 @@
package io.shinhanlife.dap.mcc.infra.itrf.http.sample.io;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmployeeSearchHttpResponse {
private String resultCode;
private String employeeName;
private String departmentName;
}

View File

@@ -26,17 +26,3 @@ axhub:
url: http://localhost:8081
tool:
url: ${AXHUB_TOOL_URL:http://localhost:${server.port}}
mock:
http:
enabled: true
glow:
communication:
http:
api-list:
- name: memo
domain: ${AXHUB_MEMO_HTTP_DOMAIN:http://localhost:${server.port}}
url: ${AXHUB_MEMO_HTTP_URL:/api/mock/http/cmm_memo_retriever}
method: POST
content-type: application/json;charset=UTF-8
biz-pod: false