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<>();