diff --git a/kjb-docs/README.md b/kjb-docs/README.md new file mode 100644 index 0000000..010efe9 --- /dev/null +++ b/kjb-docs/README.md @@ -0,0 +1,6 @@ +# 광주은행 eAPIM + +## 커스텀 항목 +### 포탈 Property (EMS 프로퍼티) +- `disable_features.user_email_verify' == true + 이메일 인증 기능 비활성화(회원 가입시 이메일 인증은 한걸로 처리) \ No newline at end of file diff --git a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserService.java b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserService.java index 85ba21f..ba95543 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserService.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserService.java @@ -3,6 +3,7 @@ package com.eactive.apim.portal.apps.user.service; import com.eactive.apim.portal.apps.user.dto.PortalUserRegistrationDTO; import com.eactive.apim.portal.apps.user.repository.PortalOrgRepository; import com.eactive.apim.portal.portalorg.entity.PortalOrg; +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.portaluser.entity.PortalUserEnums.ApprovalStatus; @@ -12,20 +13,33 @@ import com.eactive.apim.portal.portaluser.repository.PortalUserRepository; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.Map; import java.util.Optional; import lombok.RequiredArgsConstructor; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; @Service @Transactional -@RequiredArgsConstructor public class PortalUserService { - private final PortalUserRepository portalUserRepository; private final PortalOrgRepository portalOrgRepository; private final PasswordEncoder passwordEncoder; + private final PortalPropertyService portalPropertyService; + + + public PortalUserService(PortalUserRepository portalUserRepository, + PortalOrgRepository portalOrgRepository, + PasswordEncoder passwordEncoder, + PortalPropertyService portalPropertyService) { + this.portalUserRepository = portalUserRepository; + this.portalOrgRepository = portalOrgRepository; + this.passwordEncoder = passwordEncoder; + this.portalPropertyService = portalPropertyService; + } + public PortalUser findById(String userId) { return portalUserRepository.findById(userId).orElse(null); @@ -81,7 +95,15 @@ public class PortalUserService { PortalUser newUser = new PortalUser(); mapDtoToEntity(newUser, newUserDTO); setUserProperties(newUser); + + Map propertyMap = portalPropertyService.getPortalPropertiesAsMap("Portal"); + newUser.setUserStatus(UserStatus.READY); + + // 이메일 인증 기능 비활성화 시 바로 활성화 처리 + if ("true".equalsIgnoreCase(propertyMap.getOrDefault("disable_features.user_email_verify", ""))) { + newUser.setUserStatus(UserStatus.ACTIVE); + } newUser.setApprovalStatus(ApprovalStatus.COMPLETED); setUserRole(newUser, registrationType); portalUserRepository.save(newUser);