From 41a7f76f32265050cf3fb6018947b58ecaf2f1e0 Mon Sep 17 00:00:00 2001 From: MaxKey Date: Thu, 16 Jul 2020 09:43:37 +0800 Subject: [PATCH] Update UserInfoService.java --- .../persistence/service/UserInfoService.java | 71 ++++++++++++------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java index 4fcb748df..c00c1c824 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java @@ -69,26 +69,35 @@ public class UserInfoService extends JpaBaseService { userInfo = passwordEncoder(userInfo); if (super.insert(userInfo)) { kafkaProvisioningService.send( - KafkaIdentityTopic.USERINFO_TOPIC, userInfo, KafkaIdentityAction.CREATE_ACTION); + KafkaIdentityTopic.USERINFO_TOPIC, + userInfo, + KafkaIdentityAction.CREATE_ACTION); return true; } return false; } - public boolean update(UserInfo userInfo) { - if(super.update(userInfo)){ - kafkaProvisioningService.send( - KafkaIdentityTopic.USERINFO_TOPIC, userInfo, KafkaIdentityAction.UPDATE_ACTION); - return true; - } - return false; - } + public boolean update(UserInfo userInfo) { + userInfo = passwordEncoder(userInfo); + if (super.update(userInfo)) { + kafkaProvisioningService.send( + KafkaIdentityTopic.USERINFO_TOPIC, + userInfo, + KafkaIdentityAction.UPDATE_ACTION); + + changePasswordProvisioning(userInfo); + return true; + } + return false; + } public boolean delete(UserInfo userInfo) { if( super.delete(userInfo)){ kafkaProvisioningService.send( - KafkaIdentityTopic.USERINFO_TOPIC, userInfo, KafkaIdentityAction.DELETE_ACTION); + KafkaIdentityTopic.USERINFO_TOPIC, + userInfo, + KafkaIdentityAction.DELETE_ACTION); return true; } return false; @@ -132,14 +141,16 @@ public class UserInfoService extends JpaBaseService { } public UserInfo passwordEncoder(UserInfo userInfo) { - String password = passwordEncoder.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword())); - userInfo.setDecipherable(ReciprocalUtils.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword()))); - _logger.debug("decipherable : "+userInfo.getDecipherable()); - userInfo.setPassword(password); - userInfo.setPasswordLastSetTime(DateUtils.getCurrentDateTimeAsString()); - - userInfo.setModifiedDate(DateUtils.getCurrentDateTimeAsString()); - + //密码不为空,则需要进行加密处理 + if(userInfo.getPassword()!=null && !userInfo.getPassword().equals("")) { + String password = passwordEncoder.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword())); + userInfo.setDecipherable(ReciprocalUtils.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword()))); + _logger.debug("decipherable : "+userInfo.getDecipherable()); + userInfo.setPassword(password); + userInfo.setPasswordLastSetTime(DateUtils.getCurrentDateTimeAsString()); + + userInfo.setModifiedDate(DateUtils.getCurrentDateTimeAsString()); + } return userInfo; } public boolean changePassword(UserInfo userInfo) { @@ -151,14 +162,7 @@ public class UserInfoService extends JpaBaseService { userInfo = passwordEncoder(userInfo); if(getMapper().changePassword(userInfo) > 0){ - ChangePassword changePassword=new ChangePassword(); - changePassword.setId(userInfo.getId()); - changePassword.setUid(userInfo.getId()); - changePassword.setUsername(userInfo.getUsername()); - changePassword.setDecipherable(userInfo.getDecipherable()); - changePassword.setPassword(userInfo.getPassword()); - kafkaProvisioningService.send( - KafkaIdentityTopic.PASSWORD_TOPIC, changePassword, KafkaIdentityAction.PASSWORD_ACTION); + changePasswordProvisioning(userInfo); return true; } return false; @@ -168,6 +172,21 @@ public class UserInfoService extends JpaBaseService { return false; } + public void changePasswordProvisioning(UserInfo userInfo) { + if(userInfo.getPassword()!=null && !userInfo.getPassword().equals("")) { + ChangePassword changePassword=new ChangePassword(); + changePassword.setId(userInfo.getId()); + changePassword.setUid(userInfo.getId()); + changePassword.setUsername(userInfo.getUsername()); + changePassword.setDecipherable(userInfo.getDecipherable()); + changePassword.setPassword(userInfo.getPassword()); + kafkaProvisioningService.send( + KafkaIdentityTopic.PASSWORD_TOPIC, + changePassword, + KafkaIdentityAction.PASSWORD_ACTION); + } + } + public boolean changeAppLoginPassword(UserInfo userinfo) { try { if(WebContext.getUserInfo() != null) { -- GitLab