修改用户密码.
This commit is contained in:
@@ -4,11 +4,10 @@ import com.orion.lang.define.wrapper.HttpWrapper;
|
||||
import com.orion.ops.framework.biz.operator.log.core.annotation.OperatorLog;
|
||||
import com.orion.ops.framework.log.core.annotation.IgnoreLog;
|
||||
import com.orion.ops.framework.log.core.enums.IgnoreLogMode;
|
||||
import com.orion.ops.framework.security.core.utils.SecurityUtils;
|
||||
import com.orion.ops.framework.web.core.annotation.RestWrapper;
|
||||
import com.orion.ops.module.infra.define.operator.AuthenticationOperatorType;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserResetPasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
import com.orion.ops.module.infra.service.AuthenticationService;
|
||||
import com.orion.ops.module.infra.service.SystemUserService;
|
||||
@@ -66,10 +65,8 @@ public class AuthenticationController {
|
||||
@OperatorLog(AuthenticationOperatorType.UPDATE_PASSWORD)
|
||||
@Operation(summary = "修改密码")
|
||||
@PutMapping("/update-password")
|
||||
public HttpWrapper<?> updatePassword(@Validated @RequestBody UserResetPasswordRequest request) {
|
||||
// 当前用户id
|
||||
request.setId(SecurityUtils.getLoginUserId());
|
||||
systemUserService.resetPassword(request);
|
||||
public HttpWrapper<?> updatePassword(@Validated @RequestBody UserUpdatePasswordRequest request) {
|
||||
authenticationService.updatePassword(request);
|
||||
return HttpWrapper.ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 重置密码请求
|
||||
@@ -16,6 +17,7 @@ import javax.validation.constraints.NotEmpty;
|
||||
@Schema(name = "UserResetPasswordRequest", description = "重置密码请求")
|
||||
public class UserResetPasswordRequest {
|
||||
|
||||
@NotNull
|
||||
@Schema(description = "id")
|
||||
private Long id;
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.orion.ops.module.infra.entity.request.user;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* 修改密码请求
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/7/17 12:19
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "UserUpdatePasswordRequest", description = "修改密码请求")
|
||||
public class UserUpdatePasswordRequest {
|
||||
|
||||
@NotEmpty
|
||||
@Schema(description = "原密码")
|
||||
private String beforePassword;
|
||||
|
||||
@NotEmpty
|
||||
@Schema(description = "新密码")
|
||||
private String password;
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.orion.ops.module.infra.service;
|
||||
import com.orion.ops.framework.common.security.LoginUser;
|
||||
import com.orion.ops.module.infra.entity.dto.LoginTokenDTO;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -42,6 +43,13 @@ public interface AuthenticationService {
|
||||
*/
|
||||
void logout(HttpServletRequest servletRequest);
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*
|
||||
* @param request request
|
||||
*/
|
||||
void updatePassword(UserUpdatePasswordRequest request);
|
||||
|
||||
/**
|
||||
* 获取登陆用户信息
|
||||
*
|
||||
|
||||
@@ -73,7 +73,7 @@ public interface SystemUserService {
|
||||
/**
|
||||
* 删除 id 删除用户拓展信息
|
||||
*
|
||||
* @param id
|
||||
* @param id id
|
||||
*/
|
||||
void deleteSystemUserRel(Long id);
|
||||
|
||||
|
||||
@@ -24,11 +24,14 @@ import com.orion.ops.module.infra.entity.domain.SystemRoleDO;
|
||||
import com.orion.ops.module.infra.entity.domain.SystemUserDO;
|
||||
import com.orion.ops.module.infra.entity.dto.LoginTokenDTO;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserLoginRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserResetPasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.request.user.UserUpdatePasswordRequest;
|
||||
import com.orion.ops.module.infra.entity.vo.UserLoginVO;
|
||||
import com.orion.ops.module.infra.enums.LoginTokenStatusEnum;
|
||||
import com.orion.ops.module.infra.enums.UserStatusEnum;
|
||||
import com.orion.ops.module.infra.service.AuthenticationService;
|
||||
import com.orion.ops.module.infra.service.PermissionService;
|
||||
import com.orion.ops.module.infra.service.SystemUserService;
|
||||
import com.orion.web.servlet.web.Servlets;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -57,6 +60,9 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
@Resource
|
||||
private SystemUserRoleDAO systemUserRoleDAO;
|
||||
|
||||
@Resource
|
||||
private SystemUserService systemUserService;
|
||||
|
||||
@Resource
|
||||
private PermissionService permissionService;
|
||||
|
||||
@@ -120,6 +126,22 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
redisTemplate.delete(Lists.of(loginKey, refreshKey));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePassword(UserUpdatePasswordRequest request) {
|
||||
Long userId = SecurityUtils.getLoginUserId();
|
||||
// 查询用户信息
|
||||
SystemUserDO record = systemUserDAO.selectById(userId);
|
||||
Valid.notNull(record, ErrorMessage.USER_ABSENT);
|
||||
// 对比原始密码
|
||||
String beforePassword = Signatures.md5(request.getBeforePassword());
|
||||
Valid.eq(beforePassword, record.getPassword(), ErrorMessage.BEFORE_PASSWORD_ERROR);
|
||||
// 重置密码
|
||||
UserResetPasswordRequest reset = new UserResetPasswordRequest();
|
||||
reset.setId(userId);
|
||||
reset.setPassword(request.getPassword());
|
||||
systemUserService.resetPassword(reset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginUser getLoginUser(Long id) {
|
||||
String userInfoKey = UserCacheKeyDefine.USER_INFO.format(id);
|
||||
|
||||
Reference in New Issue
Block a user