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
public void changePassword(CompanyLoginVO companyLoginVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
updatePassword(companyLoginVO, loginUser);
}
private void updatePassword(CompanyLoginVO companyLoginVO, LoginUser loginUser) {
String oldPassword = companyLoginVO.getPassword();
String newPassword = companyLoginVO.getNewPassword();
String verifyPassword = companyLoginVO.getVerifyPassword();
String RSAPublicKey = companyLoginVO.getRsaPublicKey();
String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey));
try {
oldPassword = CommonUtils.decryptBtRsaPriKey(oldPassword, RSAPrivateKey);
newPassword = CommonUtils.decryptBtRsaPriKey(newPassword, RSAPrivateKey);
verifyPassword = CommonUtils.decryptBtRsaPriKey(verifyPassword, RSAPrivateKey);
}catch (Exception e){
@@ -139,6 +137,15 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
queryWrapper.eq(PayContactsManagement::getPhone, phone);
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)) {
throw new JeroBootException("新密码不允许为空!");
}
@@ -155,6 +162,18 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
String token = companyLoginVO.getPassword();
String username = JwtUtil.getUsername(token);
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);
}
}