From 6ba8371331834f2eaedda852ec14859a186e08db Mon Sep 17 00:00:00 2001 From: Rinjae Date: Mon, 12 Jan 2026 16:14:57 +0900 Subject: [PATCH] =?UTF-8?q?AppRequest=20JPA=20Entity=20not=20found=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onl/apim/obp/ObpGwMetricJpaDAO.java | 32 ---------------- .../onl/apim/obp/ObpGwMetricManService.java | 37 ++++++++++++++++++- 2 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java index c734adc..834a85a 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java @@ -1,7 +1,5 @@ package com.eactive.eai.rms.data.entity.onl.apim.obp; -import com.eactive.apim.portal.apprequest.entity.AppRequest; -import com.eactive.apim.portal.apprequest.entity.QAppRequest; import com.eactive.eai.data.entity.onl.message.EAIMessageEntity; import com.eactive.eai.data.entity.onl.message.QEAIMessageEntity; import com.eactive.eai.data.entity.onl.unifbwk.QUnifBwkTp; @@ -222,34 +220,4 @@ public class ObpGwMetricJpaDAO { return new UriMethodResult(uriMap, methodMap); } - - /** - * AppId 조회 (PTL_APP_REQUEST) - org_id로 조회 - * - * @param orgIds 기관 ID 목록 - * @return 기관 ID → 앱 ID 맵 - */ - public Map selectAppIdsByOrgIds(Set orgIds) { - if (orgIds == null || orgIds.isEmpty()) { - return new HashMap<>(); - } - - QAppRequest appRequest = QAppRequest.appRequest; - - List results = getQueryFactory() - .select(appRequest.org.id, appRequest.id) - .from(appRequest) - .where(appRequest.org.id.in(orgIds)) - .fetch(); - - Map result = new HashMap<>(); - for (Tuple tuple : results) { - String orgId = tuple.get(appRequest.org.id); - String appId = tuple.get(appRequest.id); - if (orgId != null && appId != null) { - result.put(orgId, appId); - } - } - return result; - } } diff --git a/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java b/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java index 61fc417..6ad1045 100644 --- a/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java @@ -1,5 +1,7 @@ package com.eactive.eai.rms.onl.apim.obp; +import com.eactive.apim.portal.apprequest.entity.AppRequest; +import com.eactive.apim.portal.apprequest.repository.AppRequestRepository; import com.eactive.apim.portal.obp.entity.ObpGwMetric; import com.eactive.eai.rms.common.base.BaseService; import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; @@ -44,10 +46,14 @@ public class ObpGwMetricManService extends BaseService { private final ObpGwMetricJpaDAO obpGwMetricJpaDAO; private final ObpGwMetricService obpGwMetricService; + private final AppRequestRepository appRequestRepository; - public ObpGwMetricManService(ObpGwMetricJpaDAO obpGwMetricJpaDAO, ObpGwMetricService obpGwMetricService) { + public ObpGwMetricManService(ObpGwMetricJpaDAO obpGwMetricJpaDAO, + ObpGwMetricService obpGwMetricService, + AppRequestRepository appRequestRepository) { this.obpGwMetricJpaDAO = obpGwMetricJpaDAO; this.obpGwMetricService = obpGwMetricService; + this.appRequestRepository = appRequestRepository; } /** @@ -174,7 +180,8 @@ public class ObpGwMetricManService extends BaseService { .map(ObpGwMetricVO::getOrgId) .filter(Objects::nonNull) .collect(Collectors.toSet()); - Map appIdMap = obpGwMetricJpaDAO.selectAppIdsByOrgIds(orgIds); + // AppRequestRepository(@EMSDataSource)를 사용하여 MONITORING 스키마에서 조회 + Map appIdMap = selectAppIdsByOrgIds(orgIds); int insertCount = 0; int updateCount = 0; @@ -290,4 +297,30 @@ public class ObpGwMetricManService extends BaseService { .map(ObpGwMetricAfterDTO::from) .collect(Collectors.toList()); } + + /** + * org.id 목록으로 AppRequest를 조회하여 orgId -> appId 맵 반환 + * + *

AppRequestRepository(@EMSDataSource)를 사용하여 MONITORING 스키마에서 조회

+ * + * @param orgIds 기관 ID 목록 + * @return orgId -> appId 맵 + */ + private Map selectAppIdsByOrgIds(Set orgIds) { + if (orgIds == null || orgIds.isEmpty()) { + return new HashMap<>(); + } + + List appRequests = appRequestRepository.findByOrg_IdIn(orgIds); + + Map result = new HashMap<>(); + for (AppRequest appRequest : appRequests) { + String orgId = appRequest.getOrg() != null ? appRequest.getOrg().getId() : null; + String appId = appRequest.getId(); + if (orgId != null && appId != null) { + result.put(orgId, appId); + } + } + return result; + } }