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

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); String s1 = MD5.md5(password);
return s.equalsIgnoreCase(s1); 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) { public static void main(String[] args) {
String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee"; 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.setId(id);
userDOUpdate.setPassword(password); userDOUpdate.setPassword(password);
updateById(userDOUpdate); 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密码 //更新gbs密码
UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd(); UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd();
userUpdatePasswordCmd.setId(id); userUpdatePasswordCmd.setId(id);
@ -427,6 +435,8 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
log.info("更新密码结果:{}", response); log.info("更新密码结果:{}", response);
} }
}
@Override @Override
public void updateUserName(UserDO userDO) { public void updateUserName(UserDO userDO) {
updateById(userDO); updateById(userDO);
@ -476,8 +486,18 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
@Override @Override
public Response updatePassword(UserDO userDO) { public Response updatePassword(UserDO userDO) {
UserDO oldUserDO = getById(userDO.getId());
// TODO 验证老密码是否正确 // TODO 验证老密码是否正确
if (userDO.getPassword() != null && !userDO.getPassword().equals("")) { 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 accountPasswordCheckCmd = new AccountPasswordCheckCmd();
accountPasswordCheckCmd.setUserId(userDO.getId()); accountPasswordCheckCmd.setUserId(userDO.getId());
accountPasswordCheckCmd.setPassword(userDO.getPassword()); accountPasswordCheckCmd.setPassword(userDO.getPassword());
@ -485,8 +505,19 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
if (!response.isSuccess()) { if (!response.isSuccess()) {
return Response.buildFailure("原密码不正确"); 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(); String phone = oldUserDO.getPhone();