修复用户未入职企业,忘记密码功能和修改密码功能

main
zhaokai 2026-01-14 16:32:00 +08:00
parent 948254b93b
commit f3fa7e92e7
2 changed files with 54 additions and 14 deletions

View File

@ -306,6 +306,13 @@ public class UserE extends BaseE {
String s1 = MD5.md5(password);
return s.equalsIgnoreCase(s1);
}
public Boolean checkUserEncryptionPassword(String password, String content) {
String newPassword = DataEncryptDecryptUtil.sm2Decrypt(privateKey, publicKey, password);
String oldPassword = DataEncryptDecryptUtil.sm2Decrypt(privateKey, publicKey, content);
// String s1 = MD5.md5(password);
return newPassword.equalsIgnoreCase(oldPassword);
}
public static void main(String[] args) {
String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee";
@ -382,5 +389,7 @@ public class UserE extends BaseE {
}
}
}

View File

@ -417,7 +417,15 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
userDOUpdate.setId(id);
userDOUpdate.setPassword(password);
updateById(userDOUpdate);
SingleResponse<UserDetailCO> detail = null;
try {
log.info("updateXgf,GBS获取用户信息{}", id);
detail = userFacade.getDetail(id);
log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail));
} catch (Exception e) {
log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage());
}
if(detail.getData() != null){
//更新gbs密码
UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd();
userUpdatePasswordCmd.setId(id);
@ -427,6 +435,8 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
log.info("更新密码结果:{}", response);
}
}
@Override
public void updateUserName(UserDO userDO) {
updateById(userDO);
@ -476,8 +486,18 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
@Override
public Response updatePassword(UserDO userDO) {
UserDO oldUserDO = getById(userDO.getId());
// TODO 验证老密码是否正确
if (userDO.getPassword() != null && !userDO.getPassword().equals("")) {
SingleResponse<UserDetailCO> detail = null;
try {
log.info("updateXgf,GBS获取用户信息{}", userDO.getId());
detail = userFacade.getDetail(userDO.getId());
log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail));
} catch (Exception e) {
log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage());
}
if(detail.getData() != null){
AccountPasswordCheckCmd accountPasswordCheckCmd = new AccountPasswordCheckCmd();
accountPasswordCheckCmd.setUserId(userDO.getId());
accountPasswordCheckCmd.setPassword(userDO.getPassword());
@ -485,8 +505,19 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
if (!response.isSuccess()) {
return Response.buildFailure("原密码不正确");
}
}else{
//验证本地密码
UserE userE = new UserE();
Boolean checkUserPassword = userE.checkUserEncryptionPassword(userDO.getPassword(), oldUserDO.getPassword());
if(!checkUserPassword){
throw new BizException("密码错误");
}
UserDO oldUserDO = getById(userDO.getId());
}
}else{
throw new BizException("请输入原密码");
}
//修改多个密码
String phone = oldUserDO.getPhone();