Compare commits
3 Commits
c6a2f82455
...
b448e68f45
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b448e68f45 | ||
|
|
b68fbb9726 | ||
|
|
2f5dad05df |
@@ -0,0 +1,31 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.cmm.converter;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_I;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_O;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.Mapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.cmm.converter
|
||||||
|
* @className MetaCommonCodeConverter
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author 09863409
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 09863409 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface MetaCommonCodeConverter {
|
||||||
|
@Mapping(target = "csNo", source = "groupCode", defaultValue = "GRP_COMM_CD")
|
||||||
|
CLCNNB00001_I toLegacyRequest(MetaCommonCodeRequest req);
|
||||||
|
|
||||||
|
@Mapping(target = "codeList", ignore = true)
|
||||||
|
MetaCommonCodeResponse toResponse(CLCNNB00001_O mciRes);
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.cmm.dto
|
||||||
|
* @className MetaCommonCodeRequest
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author 09863409
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 09863409 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class MetaCommonCodeRequest {
|
||||||
|
@McpParameter(description = "통합코드 그룹 ID (예: GRP_SYS_01, GRP_COMM_CD)", required = false)
|
||||||
|
private String groupCode;
|
||||||
|
|
||||||
|
@McpParameter(description = "코드명 검색 키워드 (예: 사용, 상태)", required = false)
|
||||||
|
private String codeName;
|
||||||
|
|
||||||
|
@McpParameter(description = "사용여부 (예: Y, N)", required = false)
|
||||||
|
private String useYn;
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.cmm.dto
|
||||||
|
* @className MetaCommonCodeResponse
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author 09863409
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 09863409 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class MetaCommonCodeResponse {
|
||||||
|
private List<MetaCommonCodeItem> codeList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class MetaCommonCodeItem {
|
||||||
|
private String groupCode;
|
||||||
|
private String code;
|
||||||
|
private String codeName;
|
||||||
|
private String codeDesc;
|
||||||
|
private Integer sortSeq;
|
||||||
|
private String useYn;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.cmm.usecase;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpFunction;
|
||||||
|
import io.shinhanlife.dap.lib.annotation.McpTool;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.cmm.usecase
|
||||||
|
* @className MetaCommonCodeUseCase
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author 09863409
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 09863409 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@McpTool(
|
||||||
|
routingType = "MCI",
|
||||||
|
categoryKey = "cmm"
|
||||||
|
)
|
||||||
|
public interface MetaCommonCodeUseCase {
|
||||||
|
@McpFunction(
|
||||||
|
displayName = "메타 통합코드 조회 툴",
|
||||||
|
name = "metaCommonCode",
|
||||||
|
description = "메타 통합코드 목록을 조회해줘",
|
||||||
|
prompt = "메타 통합코드 목록을 조회해줘",
|
||||||
|
mappingId = "CLCNNB00001",
|
||||||
|
register = false,
|
||||||
|
requiresApproval = false,
|
||||||
|
openWorldHint = true
|
||||||
|
)
|
||||||
|
Object execute(MetaCommonCodeRequest req);
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.converter.MetaCommonCodeConverter;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeRequest;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeResponse;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeResponse.MetaCommonCodeItem;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.cmm.usecase.MetaCommonCodeUseCase;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.MciCfpaClient;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_I;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl
|
||||||
|
* @className MetaCommonCodeUseCaseImpl
|
||||||
|
* @description AX HUB 시스템 처리 클래스
|
||||||
|
* @author 09863409
|
||||||
|
* @create 2026.07.29
|
||||||
|
* <pre>
|
||||||
|
* ---------- 개정이력 ----------
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ---------- -------- ---------------------------
|
||||||
|
* 2026.07.29 09863409 최초생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MetaCommonCodeUseCaseImpl implements MetaCommonCodeUseCase {
|
||||||
|
|
||||||
|
private final MciCfpaClient mci;
|
||||||
|
private final MetaCommonCodeConverter converter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object execute(MetaCommonCodeRequest req) {
|
||||||
|
log.info("[MCI Tool] {} 요청 수신. 파라미터: {}", "metaCommonCode", req);
|
||||||
|
try {
|
||||||
|
CLCNNB00001_I mciRequest = converter.toLegacyRequest(req);
|
||||||
|
|
||||||
|
Object mciResponse = mci.callCfpa0001(mciRequest);
|
||||||
|
log.info("[MCI Tool] CLCNNB00001 MCI call completed. Returning response status: {}",
|
||||||
|
mciResponse != null);
|
||||||
|
|
||||||
|
// 현업 테스트용으로 MCI 통신을 바이패스하고 하드코딩된 메타 통합코드 샘플 결과를 반환합니다.
|
||||||
|
MetaCommonCodeResponse res = new MetaCommonCodeResponse();
|
||||||
|
List<MetaCommonCodeItem> list = new ArrayList<>();
|
||||||
|
|
||||||
|
MetaCommonCodeItem item1 = new MetaCommonCodeItem();
|
||||||
|
item1.setGroupCode(req.getGroupCode() != null ? req.getGroupCode() : "GRP_COMM_CD");
|
||||||
|
item1.setCode("CD001");
|
||||||
|
item1.setCodeName("진행중");
|
||||||
|
item1.setCodeDesc("SR 요청 처리 진행 중 상태");
|
||||||
|
item1.setSortSeq(1);
|
||||||
|
item1.setUseYn("Y");
|
||||||
|
list.add(item1);
|
||||||
|
|
||||||
|
MetaCommonCodeItem item2 = new MetaCommonCodeItem();
|
||||||
|
item2.setGroupCode(req.getGroupCode() != null ? req.getGroupCode() : "GRP_COMM_CD");
|
||||||
|
item2.setCode("CD002");
|
||||||
|
item2.setCodeName("완료");
|
||||||
|
item2.setCodeDesc("SR 요청 처리 완료 상태");
|
||||||
|
item2.setSortSeq(2);
|
||||||
|
item2.setUseYn("Y");
|
||||||
|
list.add(item2);
|
||||||
|
|
||||||
|
MetaCommonCodeItem item3 = new MetaCommonCodeItem();
|
||||||
|
item3.setGroupCode(req.getGroupCode() != null ? req.getGroupCode() : "GRP_COMM_CD");
|
||||||
|
item3.setCode("CD003");
|
||||||
|
item3.setCodeName("보류");
|
||||||
|
item3.setCodeDesc("SR 요청 처리 일시 보류 상태");
|
||||||
|
item3.setSortSeq(3);
|
||||||
|
item3.setUseYn("N");
|
||||||
|
list.add(item3);
|
||||||
|
|
||||||
|
res.setCodeList(list);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("[MCI Tool] 연동 중 오류 발생: {}", e.getMessage(), e);
|
||||||
|
return Map.of("status", "ERROR", "message", e.getMessage() != null ? e.getMessage() : "Unknown error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user