update 企业端 修改密码增加旧密码

This commit is contained in:
lijiarao
2021-10-12 10:40:23 +08:00
parent e1388434c0
commit 5647fb9bdf
@@ -120,15 +120,13 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
@Override @Override
public void changePassword(CompanyLoginVO companyLoginVO) { public void changePassword(CompanyLoginVO companyLoginVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
updatePassword(companyLoginVO, loginUser); String oldPassword = companyLoginVO.getPassword();
}
private void updatePassword(CompanyLoginVO companyLoginVO, LoginUser loginUser) {
String newPassword = companyLoginVO.getNewPassword(); String newPassword = companyLoginVO.getNewPassword();
String verifyPassword = companyLoginVO.getVerifyPassword(); String verifyPassword = companyLoginVO.getVerifyPassword();
String RSAPublicKey = companyLoginVO.getRsaPublicKey(); String RSAPublicKey = companyLoginVO.getRsaPublicKey();
String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey)); String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey));
try { try {
oldPassword = CommonUtils.decryptBtRsaPriKey(oldPassword, RSAPrivateKey);
newPassword = CommonUtils.decryptBtRsaPriKey(newPassword, RSAPrivateKey); newPassword = CommonUtils.decryptBtRsaPriKey(newPassword, RSAPrivateKey);
verifyPassword = CommonUtils.decryptBtRsaPriKey(verifyPassword, RSAPrivateKey); verifyPassword = CommonUtils.decryptBtRsaPriKey(verifyPassword, RSAPrivateKey);
}catch (Exception e){ }catch (Exception e){
@@ -139,6 +137,15 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
queryWrapper.eq(PayContactsManagement::getPhone, phone); queryWrapper.eq(PayContactsManagement::getPhone, phone);
PayContactsManagement contactsManagement = this.getOne(queryWrapper); PayContactsManagement contactsManagement = this.getOne(queryWrapper);
String passwordEncode = PasswordUtil.encrypt(PasswordUtil.decrypt(phone), oldPassword, contactsManagement.getSalt());
if (!contactsManagement.getPassword().equals(passwordEncode)) {
throw new JeroBootException("旧密码输入错误!");
}
updatePassword(newPassword,verifyPassword,phone);
}
private void updatePassword(String newPassword,String verifyPassword,String phone) {
if (oConvertUtils.isEmpty(newPassword)) { if (oConvertUtils.isEmpty(newPassword)) {
throw new JeroBootException("新密码不允许为空!"); throw new JeroBootException("新密码不允许为空!");
} }
@@ -155,6 +162,18 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
String token = companyLoginVO.getPassword(); String token = companyLoginVO.getPassword();
String username = JwtUtil.getUsername(token); String username = JwtUtil.getUsername(token);
LoginUser loginUser = sysBaseAPI.getUserByName(username); LoginUser loginUser = sysBaseAPI.getUserByName(username);
updatePassword(companyLoginVO, loginUser); String newPassword = companyLoginVO.getNewPassword();
String verifyPassword = companyLoginVO.getVerifyPassword();
String RSAPublicKey = companyLoginVO.getRsaPublicKey();
String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey));
try {
newPassword = CommonUtils.decryptBtRsaPriKey(newPassword, RSAPrivateKey);
verifyPassword = CommonUtils.decryptBtRsaPriKey(verifyPassword, RSAPrivateKey);
}catch (Exception e){
e.printStackTrace();
}
String phone = loginUser.getPhone();
updatePassword(newPassword,verifyPassword,phone);
} }
} }