From 8f14dd7235a94375d9394e93a6decc5ec0612d20 Mon Sep 17 00:00:00 2001 From: GiaBaor Date: Thu, 6 Feb 2025 22:57:17 +0700 Subject: [PATCH] feature: add enterprise id when create new user --- .../EnterpriseUserMapperDecorator.java | 7 ++++++ .../idp/service/impl/UserServiceImpl.java | 24 ++++++++++--------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/sep490-idp/src/main/java/sep490/idp/mapper/decoratos/EnterpriseUserMapperDecorator.java b/sep490-idp/src/main/java/sep490/idp/mapper/decoratos/EnterpriseUserMapperDecorator.java index 31669312..34ebb69f 100644 --- a/sep490-idp/src/main/java/sep490/idp/mapper/decoratos/EnterpriseUserMapperDecorator.java +++ b/sep490-idp/src/main/java/sep490/idp/mapper/decoratos/EnterpriseUserMapperDecorator.java @@ -26,6 +26,13 @@ public abstract class EnterpriseUserMapperDecorator implements EnterpriseUserMap @Autowired private BuildingPermissionRepository buildingPermissionRepository; + + @Override + public UserEntity createNewEnterpriseUser(EnterpriseUserDetailsDTO dto) { + UserEntity user = delegate.createNewEnterpriseUser(dto); + user.getEnterprise().setEnterprise(SecurityUtils.getCurrentUserEnterpriseId().orElseThrow()); + return user; + } @Override public void updateEnterpriseUser(UserEntity user, EnterpriseUserDetailsDTO dto) { diff --git a/sep490-idp/src/main/java/sep490/idp/service/impl/UserServiceImpl.java b/sep490-idp/src/main/java/sep490/idp/service/impl/UserServiceImpl.java index b50eb3cf..c5122e3c 100644 --- a/sep490-idp/src/main/java/sep490/idp/service/impl/UserServiceImpl.java +++ b/sep490-idp/src/main/java/sep490/idp/service/impl/UserServiceImpl.java @@ -30,10 +30,7 @@ import sep490.idp.validation.Validator; import sep490.idp.validators.UserValidator; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.UUID; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -133,14 +130,19 @@ public void deleteUsers(Set userIds) { @Override public void createOrUpdateEnterpriseUser(UserEntity user) { userValidator.validateEnterpriseOwnerManageEmployees(user); - - var password = CommonUtils.alphaNumericString(12); - user.setPassword(passwordEncoder.encode(password)); - + this.performCreateUserAction(user); userRepo.save(user); - - var message = sendPasswordToUserByEmail(user.getEmail(), password); - emailUtil.sendMail(message); + } + + private void performCreateUserAction(UserEntity user) { + // Perform create action when create new + if (Objects.isNull(user.getId())) { + var password = CommonUtils.alphaNumericString(12); + user.setPassword(passwordEncoder.encode(password)); + + var message = sendPasswordToUserByEmail(user.getEmail(), password); + emailUtil.sendMail(message); + } } private SEPMailMessage sendPasswordToUserByEmail(String email, String password) {