diff --git a/src/main/java/com/eactive/eai/rms/onl/apim/approval/app/PortalAppApprovalListener.java b/src/main/java/com/eactive/eai/rms/onl/apim/approval/app/PortalAppApprovalListener.java index 6e8f996..6eef6fb 100644 --- a/src/main/java/com/eactive/eai/rms/onl/apim/approval/app/PortalAppApprovalListener.java +++ b/src/main/java/com/eactive/eai/rms/onl/apim/approval/app/PortalAppApprovalListener.java @@ -167,9 +167,10 @@ public class PortalAppApprovalListener implements ApprovalListener { credentialUI.setGranttypes("client_credentials"); credentialUI.setOrgid(appRequest.getOrg().getId()); credentialUI.setOrgname(appRequest.getOrg().getOrgName()); -// credentialUI.setAllowedips(appRequest.getIpWhitelist()); -// credentialUI.setRedirecturi(appRequest.getCallbackUrl()); -// credentialUI.setAppIconFileId(appRequest.getAppIconFileId()); + credentialUI.setAllowedips(appRequest.getIpWhitelist()); + credentialUI.setRedirecturi(appRequest.getCallbackUrl()); + credentialUI.setAppIconFileId(appRequest.getAppIconFileId()); + credentialUI.setAppDescription(appRequest.getAppDescription()); credentialUI.setAccesstokenvalidityseconds("86400"); Set apiIds = processApiGroups(appRequest); diff --git a/src/main/java/com/eactive/eai/rms/onl/apim/approval/user/PortalUserApprovalListener.java b/src/main/java/com/eactive/eai/rms/onl/apim/approval/user/PortalUserApprovalListener.java index c5ee041..59cd753 100644 --- a/src/main/java/com/eactive/eai/rms/onl/apim/approval/user/PortalUserApprovalListener.java +++ b/src/main/java/com/eactive/eai/rms/onl/apim/approval/user/PortalUserApprovalListener.java @@ -152,40 +152,52 @@ public class PortalUserApprovalListener implements ApprovalListener { logger.info("Approval {} rollback", approval.getId()); String userId = approval.getTargetId(); - LocalDateTime now = LocalDateTime.now(); - String rejectedDate = now.format(DateTimeFormatter.ofPattern("yyyyMMdd")); - PortalUser portalUser = portalUserService.findByUserId(userId); + PortalOrg portalOrg = portalUser.getPortalOrg(); - portalUser.setUserName("반려된 사용자"); - portalUser.setMobileNumber(""); - portalUser.setLoginId(portalUser.getId() + "-d" + rejectedDate); - portalUser.setEmailAddr(portalUser.getId() + "-d" + rejectedDate); - portalUser.setUserStatus(PortalUserEnums.UserStatus.INACTIVE); - portalUser.setApprovalStatus(PortalUserEnums.ApprovalStatus.REJECTED); - portalUser.setPhoneNumber(null); - portalUser.setAuthCompletedYn("N"); - portalUser.setLoginFailureCount(0); - portalUser.setAccountLockYn("N"); + // 개인→법인 전환 요청 반려: approvalStatus가 PENDING이면 전환 신청이었으므로 개인 사용자로 복원 + if (PortalUserEnums.ApprovalStatus.PENDING.equals(portalUser.getApprovalStatus())) { + logger.info("Approval {} is a personal-to-corporate conversion rejection. Reverting user {} to personal user.", approval.getId(), userId); + portalUser.setRoleCode(PortalUserEnums.RoleCode.ROLE_USER); + portalUser.setUserStatus(PortalUserEnums.UserStatus.ACTIVE); + portalUser.setApprovalStatus(PortalUserEnums.ApprovalStatus.COMPLETED); + portalUser.setPortalOrg(null); + } else { + // 신규 법인 사용자 등록 반려: 반려된 사용자로 처리 + LocalDateTime now = LocalDateTime.now(); + String rejectedDate = now.format(DateTimeFormatter.ofPattern("yyyyMMdd")); + + portalUser.setUserName("반려된 사용자"); + portalUser.setMobileNumber(""); + portalUser.setLoginId(portalUser.getId() + "-d" + rejectedDate); + portalUser.setEmailAddr(portalUser.getId() + "-d" + rejectedDate); + portalUser.setUserStatus(PortalUserEnums.UserStatus.INACTIVE); + portalUser.setApprovalStatus(PortalUserEnums.ApprovalStatus.REJECTED); + portalUser.setPhoneNumber(null); + portalUser.setAuthCompletedYn("N"); + portalUser.setLoginFailureCount(0); + portalUser.setAccountLockYn("N"); + } portalUserService.save(portalUser); - PortalOrg portalOrg = portalUser.getPortalOrg(); - portalOrg.setOrgName("삭제된법인"); - portalOrg.setApprovalStatus(ApprovalStatus.REJECTED); - portalOrg.setOrgStatus(OrgStatus.REMOVED); - portalOrg.setOrgCode(null); - portalOrg.setCompRegFile(null); - portalOrg.setCorpRegNo(null); - portalOrg.setCompRegNo(null); - portalOrg.setCeoName(null); - portalOrg.setOrgAddr(null); - portalOrg.setOrgPhoneNumber(null); - portalOrg.setScPhoneNumber(null); - portalOrg.setOrgSectors(null); - portalOrg.setOrgIndustryType(null); - portalOrg.setServiceName(null); + if (portalOrg != null) { + portalOrg.setOrgName("삭제된법인"); + portalOrg.setApprovalStatus(ApprovalStatus.REJECTED); + portalOrg.setOrgStatus(OrgStatus.REMOVED); + portalOrg.setOrgCode(null); + portalOrg.setCompRegFile(null); + portalOrg.setCorpRegNo(null); + portalOrg.setCompRegNo(null); + portalOrg.setCeoName(null); + portalOrg.setOrgAddr(null); + portalOrg.setOrgPhoneNumber(null); + portalOrg.setScPhoneNumber(null); + portalOrg.setOrgSectors(null); + portalOrg.setOrgIndustryType(null); + portalOrg.setServiceName(null); - portalOrgService.save(portalOrg); + portalOrgService.save(portalOrg); + } } }