From 5e8eeecf291ad6ccd6379b41788ce26c80d5c570 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Sat, 17 Jan 2026 21:12:37 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=95=EC=9D=B8=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authserver/client/ClientManService.java | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/client/ClientManService.java b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/client/ClientManService.java index f24cd88..8e2f2bc 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/client/ClientManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/client/ClientManService.java @@ -2,7 +2,7 @@ package com.eactive.eai.rms.onl.manage.authserver.client; import com.eactive.apim.portal.app.entity.Credential; import com.eactive.apim.portal.portalorg.entity.PortalOrg; -import com.eactive.eai.data.entity.onl.eaimsg.EAIMessageEntity; +import com.eactive.eai.data.entity.onl.message.EAIMessageEntity; import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; import com.eactive.eai.rms.common.datasource.DataSourceType; import com.eactive.eai.rms.common.datasource.DataSourceTypeManager; @@ -130,12 +130,24 @@ public class ClientManService extends OnlBaseService { // 3. API 유효성 검증 (APIGW 스키마) List invalidApis = new ArrayList<>(); - if (clientEntity.getApiList() != null) { - for (EAIMessageEntity apiEntity : clientEntity.getApiList()) { - String eaiSvcName = apiEntity.getEaiSvcName(); - // APIGW에 실제 API 존재하는지 확인 - if (!eaiMessageService.existsById(eaiSvcName)) { - invalidApis.add(eaiSvcName); + List requestedApiIds = new ArrayList<>(); + + if (clientEntity.getApiList() != null && !clientEntity.getApiList().isEmpty()) { + // ClientEntity의 apiList에서 API ID 목록 추출 + requestedApiIds = clientEntity.getApiList().stream() + .map(EAIMessageEntity::getEaisvcname) + .collect(Collectors.toList()); + + // APIGW에 실제 존재하는 API 조회 + List existingApis = eaiMessageService.findByEaisvcnameList(requestedApiIds); + List existingApiIds = existingApis.stream() + .map(EAIMessageEntity::getEaisvcname) + .collect(Collectors.toList()); + + // 요청된 API 중 존재하지 않는 API 찾기 + for (String apiId : requestedApiIds) { + if (!existingApiIds.contains(apiId)) { + invalidApis.add(apiId); } } } @@ -242,8 +254,7 @@ public class ClientManService extends OnlBaseService { // 앱 상태 credentialUI.setAppstatus(clientEntity.getAppstatus()); - credentialUI.setDailytokenlimit(Integer.parseInt( - StringUtils.defaultIfBlank(clientEntity.getDailytokenlimit(), "0"))); + credentialUI.setDailytokenlimit(clientEntity.getDailytokenlimit()); // 수정 정보 credentialUI.setModifiedby(clientEntity.getModifiedby()); @@ -254,7 +265,7 @@ public class ClientManService extends OnlBaseService { if (clientEntity.getApiList() != null) { for (EAIMessageEntity apiEntity : clientEntity.getApiList()) { ApiSpecInfoUI apiUI = new ApiSpecInfoUI(); - apiUI.setApiId(apiEntity.getEaiSvcName()); + apiUI.setApiId(apiEntity.getEaisvcname()); apiList.add(apiUI); } }