fix: update password
This commit is contained in:
@@ -149,6 +149,17 @@ public class SysUserController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改用户密码", notes = "修改当前用户的密码")
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "操作成功")
|
||||
})
|
||||
@PostMapping(value = "/profile/updatePwd")
|
||||
public R updatePasswordV2(@ApiParam(value = "密码修改参数", required = true) @Valid @RequestBody UpdateUserPasswordParamV2 param) {
|
||||
userService.updatePasswordV2(param);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "修改用户手机号", notes = "修改当前用户的手机号")
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "操作成功")
|
||||
|
||||
@@ -151,4 +151,6 @@ public interface SysUserService extends IService<SysUserEntity> {
|
||||
void updateMobile(UpdateUserMobileParam param);
|
||||
|
||||
void logoutUser(String uid);
|
||||
|
||||
void updatePasswordV2(UpdateUserPasswordParamV2 param);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.starry.admin.manager.AsyncManager;
|
||||
import com.starry.admin.manager.factory.AsyncFactory;
|
||||
import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity;
|
||||
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayPersonnelAdminInfoEntity;
|
||||
@@ -29,12 +31,14 @@ import com.starry.admin.modules.system.vo.*;
|
||||
import com.starry.admin.utils.SecurityUtils;
|
||||
import com.starry.admin.utils.SmsUtils;
|
||||
import com.starry.common.annotation.DataScope;
|
||||
import com.starry.common.constant.Constants;
|
||||
import com.starry.common.constant.UserConstants;
|
||||
import com.starry.common.redis.RedisCache;
|
||||
import com.starry.common.utils.IdUtils;
|
||||
import com.starry.common.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.security.authentication.BadCredentialsException;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -359,4 +363,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
||||
String key2 = object.toString();
|
||||
redisCache.deleteObject(key2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePasswordV2(UpdateUserPasswordParamV2 param) {
|
||||
String userId = SecurityUtils.getUserId();
|
||||
SysUserEntity user = selectUserById(userId);
|
||||
if (!passwordEncoder.matches(param.getOldPassword(), user.getPassWord())) {
|
||||
throw new BadCredentialsException("旧密码不正确");
|
||||
}
|
||||
this.update(Wrappers.lambdaUpdate(SysUserEntity.class).eq(SysUserEntity::getUserId, userId).set(SysUserEntity::getPassWord, SecurityUtils.encryptPassword(param.getNewPassword())));
|
||||
AsyncManager.me().execute(AsyncFactory.recordLoginLog(user.getUserCode(), Constants.LOGIN_SUCCESS, "修改密码"));
|
||||
logoutUser(userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.starry.admin.modules.system.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @Author: huchuansai
|
||||
* @Date: 2024/6/14 3:05 PM
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "修改密码参数", description = "用户修改密码的请求参数")
|
||||
public class UpdateUserPasswordParamV2 {
|
||||
|
||||
@NotBlank(message = "新密码不能为空")
|
||||
private String newPassword;
|
||||
|
||||
@NotBlank(message = "旧密码不能为空")
|
||||
private String oldPassword;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user