|
|
@@ -662,25 +662,29 @@ public class KwfDriverService {
|
|
|
*/
|
|
|
public HttpResult updatePassword(UpdatePasswordDto params) {
|
|
|
/**获取信息**/
|
|
|
- Long driverId = null;//LoginUserHolder.getUserId(); //暂时----------------zk
|
|
|
+ Long driverId = LoginUserHolder.getUserId();
|
|
|
driverId = driverId == null ? params.getDriverId() : driverId;
|
|
|
KwfDriver driver = driverDao.selectById(driverId);
|
|
|
if (driver == null) {
|
|
|
return HttpResult.error("信息不存在!");
|
|
|
}
|
|
|
|
|
|
- /**原密码校验**/
|
|
|
- if (!PasswordUtils.validatePassword(params.getPassword(), driver.getPassword())) {
|
|
|
- return HttpResult.error("原密码不正确!");
|
|
|
+ /**校验**/
|
|
|
+ String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_UPDATE_PASSWORD.getValue(), params.getAccount());
|
|
|
+ RedissonUtils.putString(key, params.getCaptcha(), RedisConstant.SMS_VERIFY_CODE_VALID_TIME);
|
|
|
+ String smsCaptcha = RedissonUtils.getString(key);
|
|
|
+ if (StringUtils.isBlank(smsCaptcha)){
|
|
|
+ return HttpResult.error(HttpStatus.UN_LOGIN_CODE, "验证码不能为空!");
|
|
|
}
|
|
|
-
|
|
|
- /**新旧密码不能一只**/
|
|
|
- if (PasswordUtils.validatePassword(params.getNewPassword(), driver.getPassword())) {
|
|
|
- return HttpResult.error("原密码与新密码不能一致!");
|
|
|
+ if (StringUtils.isBlank(smsCaptcha)){
|
|
|
+ return HttpResult.error(HttpStatus.UN_LOGIN_CODE, "验证码已过期,请重新获取!");
|
|
|
+ }
|
|
|
+ if (!params.getCaptcha().equals(smsCaptcha)){
|
|
|
+ return HttpResult.error(HttpStatus.UN_LOGIN_CODE, "验证码不正确,请确认再输入!");
|
|
|
}
|
|
|
|
|
|
/**更新数据**/
|
|
|
- driver.setPassword(PasswordUtils.entryptPassword(params.getNewPassword()));
|
|
|
+ driver.setPassword(PasswordUtils.entryptPassword(params.getPassword()));
|
|
|
driver.setSalt(PasswordUtils.getSaltSubPwd(driver.getPassword()));
|
|
|
int count = driverDao.updateById(driver);
|
|
|
return count > 0 ? HttpResult.ok("密码修改成功!") : HttpResult.error("密码修改失败!");
|