ums 연동 대응

This commit is contained in:
Rinjae
2025-10-20 19:26:08 +09:00
parent 423af16926
commit 38057809cf
8 changed files with 2323 additions and 67 deletions
+8 -14
View File
@@ -2,14 +2,11 @@
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>jdbc/dsOBP_EMS</jta-data-source>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle12cDialect" />
<property name="javax.persistence.validation.mode"
value="NONE" />
<property name="eclipselink.weaving.validation" value="false" />
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle12cDialect" />
<property name="javax.persistence.validation.mode" value="NONE" />
<property name="eclipselink.weaving.validation" value="false" />
</properties>
<class>com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusiness
</class>
<class>com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusiness</class>
<class>com.eactive.eai.data.entity.onl.unifbwk.UnifBwkTp</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
@@ -17,14 +14,11 @@
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>jdbc/dsOBP_EMS</jta-data-source>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle12cDialect" />
<property name="javax.persistence.validation.mode"
value="NONE" />
<property name="eclipselink.weaving.validation" value="false" />
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle12cDialect" />
<property name="javax.persistence.validation.mode" value="NONE" />
<property name="eclipselink.weaving.validation" value="false" />
</properties>
<class>com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusiness
</class>
<class>com.eactive.eai.rms.data.entity.onl.bzwkdstcd.UserBusiness</class>
<class>com.eactive.eai.data.entity.onl.unifbwk.UnifBwkTp</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
+5 -12
View File
@@ -41,9 +41,7 @@
</context:component-scan>
<!-- elink-common 적용 후 추가 -->
<context:component-scan
base-package="com.eactive.eai.adapter.loader">
</context:component-scan>
<context:component-scan base-package="com.eactive.eai.adapter.loader" />
<context:component-scan base-package="com.eactive.eai.common.b2badaptermapping.loader"/>
<context:component-scan base-package="com.eactive.eai.common.b2bextractor.loader"/>
<context:component-scan base-package="com.eactive.eai.common.b2bservice.loader"/>
@@ -66,15 +64,10 @@
<context:component-scan base-package="com.eactive.eai.common.sysdomain.loader"/>
<context:component-scan base-package="com.eactive.eai.common.unifbwk.loader"/>
<context:component-scan base-package="com.eactive.eai.common.usedate.loader"/>
<context:component-scan
base-package="com.eactive.eai.flowcontrol.jms.loader">
</context:component-scan>
<context:component-scan
base-package="com.eactive.eai.inbound.error.loader">
</context:component-scan>
<context:component-scan
base-package="com.eactive.apim.portal">
</context:component-scan>
<context:component-scan base-package="com.eactive.eai.flowcontrol.jms.loader" />
<context:component-scan base-package="com.eactive.eai.inbound.error.loader" />
<context:component-scan base-package="com.eactive.apim.portal" />
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheCacheManager">
+4 -4
View File
@@ -52,10 +52,10 @@
</bean>
<!-- <bean id="passwordEncoder"-->
<!-- class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />-->
<bean id="passwordEncoder"
class="org.springframework.security.crypto.password.StandardPasswordEncoder" />
<bean id="kjbSafedbPasswordEncoder"
class="com.eactive.eai.custom.kjb.common.spring.KjbSafedbPasswordEncoder" />
<bean id="passwordEncoder" class="org.springframework.security.crypto.password.StandardPasswordEncoder" />
<!-- 광주은행 전용 PasswordEncoder -->
<bean id="kjbSafedbPasswordEncoder" class="com.eactive.ext.kjb.spring.KjbSafedbPasswordEncoder" />
<import resource="applicationContext-datasource-${eai.datasource.type}.xml"/>
<import resource="applicationContext-jdbc-${eai.datasource.type}.xml"/>
File diff suppressed because it is too large Load Diff
@@ -71,6 +71,7 @@ public class MonitoringFrontFilter implements Filter {
|| uri.indexOf(request.getContextPath() +"/LoginServlet") > -1
|| uri.indexOf(request.getContextPath() +"/login/") > -1
|| uri.indexOf(request.getContextPath() +"/dashboard") > -1
|| uri.indexOf(request.getContextPath() +"/dashmain3.do") > -1
|| uri.indexOf(request.getContextPath() + "/loginForm.do") > -1
|| uri.indexOf(request.getContextPath() + "/login.do") > -1
|| uri.indexOf(request.getContextPath() + "/ssoLogin.do") > -1
@@ -7,6 +7,7 @@ import com.eactive.apim.portal.approval.entity.Approval;
import com.eactive.apim.portal.approval.service.ApprovalDeployException;
import com.eactive.apim.portal.approval.statemachine.listener.ApprovalListener;
import com.eactive.apim.portal.portalproperty.service.PortalPropertyService;
import com.eactive.apim.portal.template.entity.MessageCode;
import com.eactive.apim.portal.template.service.MessageRecipient;
import com.eactive.apim.portal.template.service.MessageSendService;
import com.eactive.eai.agent.command.CommonCommand;
@@ -97,7 +98,6 @@ public class PortalAppApprovalListener implements ApprovalListener {
@Override
public void execute(Approval approval, Map<String, Object> option1) throws ApprovalDeployException {
Optional<AppRequest> optRequest = appRequestRepository.findAppRequestByApproval(approval);
AppRequest appRequest = optRequest.orElseGet(null);
@@ -135,7 +135,8 @@ public class PortalAppApprovalListener implements ApprovalListener {
recipient.setUserId(appRequest.getApproval().getRequester().getEmailAddr());
Map<String, String> params = new HashMap<>();
params.put("apiKey", appRequest.getClientName());
messageSendService.sendMessage("APP_REGISTER_APPROVED", recipient, params);
// messageSendService.sendMessage("APP_REGISTER_APPROVED", recipient, params);
messageSendService.sendMessage(MessageCode.APP_REGISTER_APPROVED, recipient, params);
}
private String determineAction(AppRequestType type) {
@@ -159,6 +160,7 @@ public class PortalAppApprovalListener implements ApprovalListener {
}
private void syncTargetServer(String server, String action, CredentialUI credentialUI) throws ApprovalDeployException {
//TODO: Proxy 제거 작업 필요
// 프록시를 통한 스테이징 서버 호출 추가
Map<String, String> properties = portalPropertyService.getPortalPropertiesAsMap(PORTAL_PROPERTY_GROUP);
@@ -9,6 +9,7 @@ import com.eactive.apim.portal.portalorg.entity.PortalOrgEnums.OrgStatus;
import com.eactive.apim.portal.portalproperty.service.PortalPropertyService;
import com.eactive.apim.portal.portaluser.entity.PortalUser;
import com.eactive.apim.portal.portaluser.entity.PortalUserEnums;
import com.eactive.apim.portal.template.entity.MessageCode;
import com.eactive.apim.portal.template.service.MessageRecipient;
import com.eactive.apim.portal.template.service.MessageSendService;
import com.eactive.eai.rms.data.entity.onl.apim.portalorg.PortalOrgService;
@@ -87,7 +88,7 @@ public class PortalUserApprovalListener implements ApprovalListener {
portalOrg.setOrgStatus(OrgStatus.ACTIVE);
portalOrgService.save(portalOrg);
syncStaging(portalOrgUIMapper.toVo(portalOrg));
// syncStaging(portalOrgUIMapper.toVo(portalOrg));
sendApprovalResult(portalUser);
}
@@ -96,42 +97,49 @@ public class PortalUserApprovalListener implements ApprovalListener {
recipient.setPhone(portalUser.getMobileNumber());
recipient.setUserId(portalUser.getEmailAddr());
Map<String, String> params = new HashMap<>();
messageSendService.sendMessage("USER_REGISTER_APPROVED", recipient, params);
messageSendService.sendMessage(MessageCode.MANAGER_WITH_ORG_REGISTER_APPROVED, recipient, params);
}
/**
* @deprecated 광주은행에서는 사용하지 않음. (개발/운영 완전 분리)
* @param portalOrgUI
* @throws ApprovalDeployException
*/
private void syncStaging(PortalOrgUI portalOrgUI) throws ApprovalDeployException {
// 프록시를 통한 스테이징 서버 호출 추가
Map<String, String> properties = portalPropertyService.getPortalPropertiesAsMap(PORTAL_PROPERTY_GROUP);
String apiKey = properties.get("apiKey");
String proxyUrl = properties.get("portal.url");
String timeout = properties.getOrDefault("deploy.proxy_timeout", "10000");
String proxyEndpoint = proxyUrl + "/_onl/apim/portalorg/portalOrgMan.json";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("X-API-KEY", apiKey);
headers.set("target_host", "stg");
headers.set("action", "insert");
portalOrgUI.setCompRegFile(null);
HttpEntity<PortalOrgUI> request = new HttpEntity<>(portalOrgUI, headers);
try {
ResponseEntity<String> response = createRestTemplateWithTimeout(Integer.parseInt(timeout)).exchange(
proxyEndpoint,
HttpMethod.POST,
request,
String.class
);
if (!response.getStatusCode().is2xxSuccessful()) {
logger.error("Failed to sync with staging server. Status: {}, Body: {}", response.getStatusCode(), response.getBody());
throw new ApprovalDeployException("기관 정보 배포에 실패 했습니다.");
}
} catch (Exception e) {
logger.error("Failed to sync with staging server. {}", e.getMessage());
throw new ApprovalDeployException("기관 정보 배포에 실패 했습니다.");
}
throw new RuntimeException("Unable use this method(syncStaging())");
// // 프록시를 통한 스테이징 서버 호출 추가
// Map<String, String> properties = portalPropertyService.getPortalPropertiesAsMap(PORTAL_PROPERTY_GROUP);
// String apiKey = properties.get("apiKey");
// String proxyUrl = properties.get("portal.url");
// String timeout = properties.getOrDefault("deploy.proxy_timeout", "10000");
// String proxyEndpoint = proxyUrl + "/_onl/apim/portalorg/portalOrgMan.json";
//
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
// headers.set("X-API-KEY", apiKey);
// headers.set("target_host", "stg");
// headers.set("action", "insert");
//
// portalOrgUI.setCompRegFile(null);
// HttpEntity<PortalOrgUI> request = new HttpEntity<>(portalOrgUI, headers);
//
// try {
// ResponseEntity<String> response = createRestTemplateWithTimeout(Integer.parseInt(timeout)).exchange(
// proxyEndpoint,
// HttpMethod.POST,
// request,
// String.class
// );
//
// if (!response.getStatusCode().is2xxSuccessful()) {
// logger.error("Failed to sync with staging server. Status: {}, Body: {}", response.getStatusCode(), response.getBody());
// throw new ApprovalDeployException("기관 정보 배포에 실패 했습니다.");
// }
// } catch (Exception e) {
// logger.error("Failed to sync with staging server. {}", e.getMessage());
// throw new ApprovalDeployException("기관 정보 배포에 실패 했습니다.");
// }
}
@Override
@@ -1,4 +1,4 @@
package com.eactive.eai.custom.kjb.spring;
package com.eactive.ext.kjb.spring;
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
import org.springframework.security.crypto.password.PasswordEncoder;