refactor: rename solgit tool to sol
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m23s

This commit is contained in:
jade
2026-07-29 11:23:49 +09:00
parent f5be5b2514
commit 60acc5df81
7 changed files with 67 additions and 67 deletions

View File

@@ -1,7 +1,7 @@
package io.shinhanlife.dap.mcc.biz.solgit.converter; package io.shinhanlife.dap.mcc.biz.sol.converter;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListResponse;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@@ -9,8 +9,8 @@ import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
/** /**
* @package io.shinhanlife.dap.mcc.biz.solgit.converter * @package io.shinhanlife.dap.mcc.biz.sol.converter
* @className SolgitReqListConverter * @className SolReqListConverter
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author jade * @author jade
* @create 2026.07.29 * @create 2026.07.29
@@ -23,11 +23,11 @@ import org.mapstruct.factory.Mappers;
* </pre> * </pre>
*/ */
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface SolgitReqListConverter { public interface SolReqListConverter {
@Mapping(source = "status", target = "reqStatus", defaultValue = "진행중") @Mapping(source = "status", target = "reqStatus", defaultValue = "진행중")
@Mapping(source = "period", target = "reqPeriod", defaultValue = "최근 3개월") @Mapping(source = "period", target = "reqPeriod", defaultValue = "최근 3개월")
@Mapping(source = "target", target = "reqTarget", defaultValue = "나의 업무") @Mapping(source = "target", target = "reqTarget", defaultValue = "나의 업무")
SOLG00000001_I toLegacyRequest(SolgitReqListRequest req); SOLG00000001_I toLegacyRequest(SolReqListRequest req);
SolgitReqListResponse toResponse(SOLG00000001_O mciRes); SolReqListResponse toResponse(SOLG00000001_O mciRes);
} }

View File

@@ -1,12 +1,12 @@
package io.shinhanlife.dap.mcc.biz.solgit.dto; package io.shinhanlife.dap.mcc.biz.sol.dto;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import io.shinhanlife.dap.lib.annotation.McpParameter; import io.shinhanlife.dap.lib.annotation.McpParameter;
import lombok.Data; import lombok.Data;
/** /**
* @package io.shinhanlife.dap.mcc.biz.solgit.dto * @package io.shinhanlife.dap.mcc.biz.sol.dto
* @className SolgitReqListRequest * @className SolReqListRequest
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author jade * @author jade
* @create 2026.07.29 * @create 2026.07.29
@@ -20,7 +20,7 @@ import lombok.Data;
*/ */
@Data @Data
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class SolgitReqListRequest { public class SolReqListRequest {
@McpParameter(description = "진행상태 (예: 진행중, 완료 등)", required = false) @McpParameter(description = "진행상태 (예: 진행중, 완료 등)", required = false)
private String status; private String status;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.dap.mcc.biz.solgit.dto; package io.shinhanlife.dap.mcc.biz.sol.dto;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
@@ -6,8 +6,8 @@ import lombok.Data;
import java.util.List; import java.util.List;
/** /**
* @package io.shinhanlife.dap.mcc.biz.solgit.dto * @package io.shinhanlife.dap.mcc.biz.sol.dto
* @className SolgitReqListResponse * @className SolReqListResponse
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author jade * @author jade
* @create 2026.07.29 * @create 2026.07.29
@@ -21,12 +21,12 @@ import java.util.List;
*/ */
@Data @Data
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class SolgitReqListResponse { public class SolReqListResponse {
private List<SolgitReqListItem> reqList; private List<SolReqListItem> reqList;
@Data @Data
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public static class SolgitReqListItem { public static class SolReqListItem {
private String srId; private String srId;
private String srName; private String srName;
private String process; private String process;

View File

@@ -0,0 +1,23 @@
package io.shinhanlife.dap.mcc.biz.sol.usecase;
import io.shinhanlife.dap.lib.annotation.McpFunction;
import io.shinhanlife.dap.lib.annotation.McpTool;
import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
@McpTool(
routingType = "MCI",
categoryKey = "sol"
)
public interface SolReqListUseCase {
@McpFunction(
displayName = "SolReqList 툴",
name = "solReqList",
description = "SOL 의뢰서 목록 조회해줘",
prompt = "SOL 의뢰서 목록 조회해줘",
mappingId = "SOLG00000001",
register = false,
requiresApproval = false,
openWorldHint = true
)
Object execute(SolReqListRequest req);
}

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl; package io.shinhanlife.dap.mcc.biz.sol.usecase.impl;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListResponse;
import io.shinhanlife.dap.mcc.biz.solgit.usecase.SolgitReqListUseCase; import io.shinhanlife.dap.mcc.biz.sol.usecase.SolReqListUseCase;
import io.shinhanlife.glow.communication.dto.Transfer; import io.shinhanlife.glow.communication.dto.Transfer;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -10,15 +10,15 @@ import lombok.extern.slf4j.Slf4j;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import io.shinhanlife.dap.mcc.biz.solgit.converter.SolgitReqListConverter; import io.shinhanlife.dap.mcc.biz.sol.converter.SolReqListConverter;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse.SolgitReqListItem; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListResponse.SolReqListItem;
/** /**
* @package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl * @package io.shinhanlife.dap.mcc.biz.sol.usecase.impl
* @className SolgitReqListUseCaseImpl * @className SolReqListUseCaseImpl
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author jade * @author jade
* @create 2026.07.29 * @create 2026.07.29
@@ -33,14 +33,14 @@ import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse.SolgitReqList
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class SolgitReqListUseCaseImpl implements SolgitReqListUseCase { public class SolReqListUseCaseImpl implements SolReqListUseCase {
private final MciNclgClient mci; private final MciNclgClient mci;
private final SolgitReqListConverter converter; private final SolReqListConverter converter;
@Override @Override
public Object execute(SolgitReqListRequest req) { public Object execute(SolReqListRequest req) {
log.info("[MCI Tool] {} 요청 수신. 파라미터: {}", "solgitReqList", req); log.info("[MCI Tool] {} 요청 수신. 파라미터: {}", "solReqList", req);
try { try {
SOLG00000001_I mciRequest = converter.toLegacyRequest(req); SOLG00000001_I mciRequest = converter.toLegacyRequest(req);
Transfer<SOLG00000001_O> mciResponse = mci.callTo( Transfer<SOLG00000001_O> mciResponse = mci.callTo(
@@ -48,10 +48,10 @@ public class SolgitReqListUseCaseImpl implements SolgitReqListUseCase {
log.info("[MCI Tool] SOLG00000001 MCI call completed. Returning dummy response: {}", log.info("[MCI Tool] SOLG00000001 MCI call completed. Returning dummy response: {}",
mciResponse != null); mciResponse != null);
// 현업 테스트용으로 MCI 통신을 바이패스하고 하드코딩된 결과를 반환합니다. // 현업 테스트용으로 MCI 통신을 바이패스하고 하드코딩된 결과를 반환합니다.
SolgitReqListResponse res = new SolgitReqListResponse(); SolReqListResponse res = new SolReqListResponse();
List<SolgitReqListItem> list = new ArrayList<>(); List<SolReqListItem> list = new ArrayList<>();
SolgitReqListItem item1 = new SolgitReqListItem(); SolReqListItem item1 = new SolReqListItem();
item1.setSrId("SR-2026-001"); item1.setSrId("SR-2026-001");
item1.setSrName("AX HUB 메인 화면 UI 개편"); item1.setSrName("AX HUB 메인 화면 UI 개편");
item1.setProcess("진행중"); item1.setProcess("진행중");
@@ -60,7 +60,7 @@ public class SolgitReqListUseCaseImpl implements SolgitReqListUseCase {
item1.setRequester("윤희준"); item1.setRequester("윤희준");
list.add(item1); list.add(item1);
SolgitReqListItem item2 = new SolgitReqListItem(); SolReqListItem item2 = new SolReqListItem();
item2.setSrId("SR-2026-002"); item2.setSrId("SR-2026-002");
item2.setSrName("툴 연동 모듈 추가 개발"); item2.setSrName("툴 연동 모듈 추가 개발");
item2.setProcess("진행중"); item2.setProcess("진행중");

View File

@@ -1,23 +0,0 @@
package io.shinhanlife.dap.mcc.biz.solgit.usecase;
import io.shinhanlife.dap.lib.annotation.McpFunction;
import io.shinhanlife.dap.lib.annotation.McpTool;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest;
@McpTool(
routingType = "MCI",
categoryKey = "solgit"
)
public interface SolgitReqListUseCase {
@McpFunction(
displayName = "SolgitReqList 툴",
name = "solgitReqList",
description = "SOLGIT 의뢰서 목록 조회해줘",
prompt = "SOLGIT 의뢰서 목록 조회해줘",
mappingId = "SOLG00000001",
register = false,
requiresApproval = false,
openWorldHint = true
)
Object execute(SolgitReqListRequest req);
}

View File

@@ -1,13 +1,13 @@
package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl; package io.shinhanlife.dap.mcc.biz.sol.usecase.impl;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import io.shinhanlife.dap.mcc.biz.solgit.converter.SolgitReqListConverter; import io.shinhanlife.dap.mcc.biz.sol.converter.SolReqListConverter;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse; import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListResponse;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I;
import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O;
@@ -15,25 +15,25 @@ import io.shinhanlife.glow.communication.dto.Transfer;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
class SolgitReqListUseCaseImplTest { class SolReqListUseCaseImplTest {
@Test @Test
void callsMciWithConvertedRequestAndReturnsDummyResponse() throws Exception { void callsMciWithConvertedRequestAndReturnsDummyResponse() throws Exception {
MciNclgClient mci = Mockito.mock(MciNclgClient.class); MciNclgClient mci = Mockito.mock(MciNclgClient.class);
SolgitReqListConverter converter = Mockito.mock(SolgitReqListConverter.class); SolReqListConverter converter = Mockito.mock(SolReqListConverter.class);
SolgitReqListUseCaseImpl useCase = new SolgitReqListUseCaseImpl(mci, converter); SolReqListUseCaseImpl useCase = new SolReqListUseCaseImpl(mci, converter);
SolgitReqListRequest request = new SolgitReqListRequest(); SolReqListRequest request = new SolReqListRequest();
SOLG00000001_I mciRequest = new SOLG00000001_I(); SOLG00000001_I mciRequest = new SOLG00000001_I();
when(converter.toLegacyRequest(request)).thenReturn(mciRequest); when(converter.toLegacyRequest(request)).thenReturn(mciRequest);
when(mci.callTo(eq("SOLG00000001"), eq("SOLG00000001"), eq(mciRequest), eq(SOLG00000001_O.class))) when(mci.callTo(eq("SOLG00000001"), eq("SOLG00000001"), eq(mciRequest), eq(SOLG00000001_O.class)))
.thenReturn(new Transfer<>()); .thenReturn(new Transfer<>());
SolgitReqListResponse response = (SolgitReqListResponse) useCase.execute(request); SolReqListResponse response = (SolReqListResponse) useCase.execute(request);
verify(converter).toLegacyRequest(request); verify(converter).toLegacyRequest(request);
verify(mci).callTo("SOLG00000001", "SOLG00000001", mciRequest, SOLG00000001_O.class); verify(mci).callTo("SOLG00000001", "SOLG00000001", mciRequest, SOLG00000001_O.class);
assertThat(response.getReqList()).extracting(SolgitReqListResponse.SolgitReqListItem::getSrId) assertThat(response.getReqList()).extracting(SolReqListResponse.SolReqListItem::getSrId)
.containsExactly("SR-2026-001", "SR-2026-002"); .containsExactly("SR-2026-001", "SR-2026-002");
} }
} }