fix: update password
This commit is contained in:
@@ -149,6 +149,17 @@ public class SysUserController {
|
|||||||
return R.ok();
|
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 = "修改当前用户的手机号")
|
@ApiOperation(value = "修改用户手机号", notes = "修改当前用户的手机号")
|
||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(code = 200, message = "操作成功")
|
@ApiResponse(code = 200, message = "操作成功")
|
||||||
|
|||||||
@@ -151,4 +151,6 @@ public interface SysUserService extends IService<SysUserEntity> {
|
|||||||
void updateMobile(UpdateUserMobileParam param);
|
void updateMobile(UpdateUserMobileParam param);
|
||||||
|
|
||||||
void logoutUser(String uid);
|
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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
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.module.entity.PlayClerkUserInfoEntity;
|
||||||
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
||||||
import com.starry.admin.modules.personnel.module.entity.PlayPersonnelAdminInfoEntity;
|
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.SecurityUtils;
|
||||||
import com.starry.admin.utils.SmsUtils;
|
import com.starry.admin.utils.SmsUtils;
|
||||||
import com.starry.common.annotation.DataScope;
|
import com.starry.common.annotation.DataScope;
|
||||||
|
import com.starry.common.constant.Constants;
|
||||||
import com.starry.common.constant.UserConstants;
|
import com.starry.common.constant.UserConstants;
|
||||||
import com.starry.common.redis.RedisCache;
|
import com.starry.common.redis.RedisCache;
|
||||||
import com.starry.common.utils.IdUtils;
|
import com.starry.common.utils.IdUtils;
|
||||||
import com.starry.common.utils.StringUtils;
|
import com.starry.common.utils.StringUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.security.authentication.BadCredentialsException;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -359,4 +363,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|||||||
String key2 = object.toString();
|
String key2 = object.toString();
|
||||||
redisCache.deleteObject(key2);
|
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