disable_features.user_email_verify 기능 추가

This commit is contained in:
Rinjae
2025-10-01 21:00:53 +09:00
parent 3ad3bd087e
commit 250b666722
2 changed files with 30 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
# 광주은행 eAPIM
## 커스텀 항목
### 포탈 Property (EMS 프로퍼티)
- `disable_features.user_email_verify' == true
이메일 인증 기능 비활성화(회원 가입시 이메일 인증은 한걸로 처리)
@@ -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<String, String> 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);