diff --git a/kjb-docs/mermaid/invite-flow-integrated.mermaid b/kjb-docs/mermaid/invite-flow-integrated.mermaid index c5d5f1d..3c36d86 100644 --- a/kjb-docs/mermaid/invite-flow-integrated.mermaid +++ b/kjb-docs/mermaid/invite-flow-integrated.mermaid @@ -14,7 +14,7 @@ flowchart TD NewUserPath -->|일반 회원가입| DirectSignup[일반 회원가입 진행
ROLE_USER로 생성] EmailLink1 --> SignupPage1[회원가입 페이지
- 이메일 자동 입력됨
- 법인명 표시] - SignupPage1 --> RegisterForm[가입 정보 입력
약관 동의] + SignupPage1 --> RegisterForm[가입 정보 입력
초대 수락] RegisterForm --> RegisterComplete[회원가입 완료
ROLE_CORP_USER로 생성
상태: COMPLETED] RegisterComplete --> NewUserEnd([가입 완료 안내]) @@ -38,7 +38,7 @@ flowchart TD Login2 --> AfterLogin2[로그인 성공] %% 로그인 상태에서 이메일 링크 클릭 → 바로 수락 페이지 - EmailLinkLoggedIn --> DecisionPageDirect[초대 수락 페이지
/signup/decision_process
약관 동의] + EmailLinkLoggedIn --> DecisionPageDirect[초대 수락 페이지
/signup/decision_process
초대 수락] DecisionPageDirect --> UserDecision %% 직접 로그인 @@ -71,7 +71,7 @@ flowchart TD StayHome --> NextLogin[다음 로그인] NextLogin --> CheckInvitation - GoDecisionPage --> DecisionPage[초대 수락 페이지
/signup/decision_process
약관 동의] + GoDecisionPage --> DecisionPage[초대 수락 페이지
/signup/decision_process
초대 수락] DecisionPage --> UserDecision{사용자 선택} diff --git a/src/main/java/com/eactive/apim/portal/apps/login/controller/AccountRecoveryController.java b/src/main/java/com/eactive/apim/portal/apps/login/controller/AccountRecoveryController.java index 433870d..4d6030e 100644 --- a/src/main/java/com/eactive/apim/portal/apps/login/controller/AccountRecoveryController.java +++ b/src/main/java/com/eactive/apim/portal/apps/login/controller/AccountRecoveryController.java @@ -119,7 +119,7 @@ public class AccountRecoveryController { try { // 사용자 정보 확인 - portalUserAuthService.initializePassword( + portalUserAuthService.resetPassword( passwordReset.getLoginId(), passwordReset.getUserName(), passwordReset.getMobileNumber() diff --git a/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java b/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java index 5d93a91..8c8aa29 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/facade/OrgRegisterFacadeImpl.java @@ -76,7 +76,7 @@ public class OrgRegisterFacadeImpl implements OrgRegisterFacade { // 2025.10.20 - 휴대폰 번호 중복 무시 // PortalUser existingUser = portalUserRepository.findByUserNameAndMobileNumber(orgDTO.getUserName(), orgDTO.getMobileNumber()); - Optional existingUser = portalUserRepository.findByUserName(orgDTO.getUserName()); + Optional existingUser = portalUserRepository.findByLoginId(orgDTO.getLoginId()); if(existingUser.isPresent()) { return new ValidationResponse(false, "가입된 계정이 이미 존재합니다."); @@ -195,7 +195,8 @@ public class OrgRegisterFacadeImpl implements OrgRegisterFacade { agreementsFacade.saveUserAgreements(newUser.getId(), AgreementType.PRIVACY_COLLECT_ORG); approvalService.createUserApproval(newUser); - sendActivationEmail(newUser); + // 11.28 - 회원 가입단계가 아닌 로그인 단계로 이메일 인증 이동 +// sendActivationEmail(newUser); return new ValidationResponse(true, "법인 사용자 등록 신청이 완료되었습니다."); } diff --git a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java index 3ec73a5..1c84d81 100644 --- a/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java +++ b/src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java @@ -94,13 +94,17 @@ public class PortalUserAuthService implements UserDetailsService { return portalUserRepository.findPortalUserByEmailAddr(emailAddr).orElseThrow(() -> new UserNotFoundException("USER_NOT_FOUND_MESSAGE")); } - public void initializePassword(String loginId, String userName, String mobileNumber) { + public void resetPassword(String loginId, String userName, String mobileNumber) { PortalUser portalUser = portalUserRepository.findByLoginIdAndUserNameAndMobileNumber(loginId, userName, mobileNumber) .orElseThrow(() -> new UserNotFoundException("일치하는 사용자 정보를 찾을 수 없습니다.")); - String tempPassword = EncryptionUtil.generateNewPasswordForKjbank(loginId); +// String tempPassword = EncryptionUtil.generateNewPasswordForKjbank(loginId); + String tempPassword = EncryptionUtil.generateNewPassword(); portalUser.setPasswordHash(passwordEncoder.encode(tempPassword)); + if ("Y".equalsIgnoreCase(portalUser.getAccountLockYn())) { + portalUser.setAccountLockYn("N"); + } portalUserRepository.save(portalUser); HashMap params = new HashMap<>();