feat: 用户修改密码
This commit is contained in:
parent
6e2541ebba
commit
2d430d6c32
@ -5,6 +5,7 @@ import com.aizuda.snailjob.server.web.annotation.LoginRequired;
|
||||
import com.aizuda.snailjob.server.web.annotation.LoginUser;
|
||||
import com.aizuda.snailjob.server.web.annotation.RoleEnum;
|
||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUpdateUserPasswordRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserQueryVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
|
||||
@ -83,4 +84,11 @@ public class SystemUserController {
|
||||
}
|
||||
return systemUserService.delUser(id);
|
||||
}
|
||||
|
||||
@LoginRequired
|
||||
@PutMapping("/update-user-password")
|
||||
public void updateUserPassword(@RequestBody @Valid SystemUpdateUserPasswordRequestVO requestVO) {
|
||||
systemUserService.updateUserPassword(requestVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,21 @@
|
||||
package com.aizuda.snailjob.server.web.model.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
|
||||
/**
|
||||
* @author dhb52
|
||||
* @date 2024-06-09
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class SystemUpdateUserPasswordRequestVO {
|
||||
|
||||
@NotBlank(message = "原密码不能为空", groups = PutMapping.class)
|
||||
private String oldPassword;
|
||||
|
||||
@NotBlank(message = "新密码不能为空", groups = PutMapping.class)
|
||||
private String newPassword;
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package com.aizuda.snailjob.server.web.service;
|
||||
|
||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUpdateUserPasswordRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserQueryVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
|
||||
@ -34,4 +35,7 @@ public interface SystemUserService {
|
||||
boolean delUser(Long id);
|
||||
|
||||
List<PermissionsResponseVO> getSystemUserPermissionByUserName(Long id);
|
||||
|
||||
void updateUserPassword(SystemUpdateUserPasswordRequestVO requestVO);
|
||||
|
||||
}
|
||||
|
@ -9,16 +9,14 @@ import com.aizuda.snailjob.common.core.util.StreamUtils;
|
||||
import com.aizuda.snailjob.server.common.exception.SnailJobServerException;
|
||||
import com.aizuda.snailjob.server.web.annotation.RoleEnum;
|
||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserQueryVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.SystemUserRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.UserPermissionRequestVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
|
||||
import com.aizuda.snailjob.server.web.model.request.*;
|
||||
import com.aizuda.snailjob.server.web.model.response.PermissionsResponseVO;
|
||||
import com.aizuda.snailjob.server.web.model.response.SystemUserResponseVO;
|
||||
import com.aizuda.snailjob.server.web.service.SystemUserService;
|
||||
import com.aizuda.snailjob.server.web.service.convert.NamespaceResponseVOConverter;
|
||||
import com.aizuda.snailjob.server.web.service.convert.PermissionsResponseVOConverter;
|
||||
import com.aizuda.snailjob.server.web.service.convert.SystemUserResponseVOConverter;
|
||||
import com.aizuda.snailjob.server.web.util.UserSessionUtils;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.mapper.NamespaceMapper;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.mapper.SystemUserMapper;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.mapper.SystemUserPermissionMapper;
|
||||
@ -291,6 +289,21 @@ public class SystemUserServiceImpl implements SystemUserService {
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserPassword(SystemUpdateUserPasswordRequestVO requestVO) {
|
||||
Long userId = UserSessionUtils.currentUserSession().getId();
|
||||
SystemUser systemUser = systemUserMapper.selectOne(
|
||||
new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getId, userId));
|
||||
if (Objects.isNull(systemUser)) {
|
||||
throw new SnailJobServerException("该用户不存在");
|
||||
}
|
||||
if (!SecureUtil.sha256(requestVO.getOldPassword()).equals(systemUser.getPassword())) {
|
||||
throw new SnailJobServerException("用户原密码错误");
|
||||
}
|
||||
systemUser.setPassword(SecureUtil.sha256(requestVO.getNewPassword()));
|
||||
Assert.isTrue(1 == systemUserMapper.updateById(systemUser), () -> new SnailJobServerException("更新用户密码失败"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean delUser(final Long id) {
|
||||
|
Loading…
Reference in New Issue
Block a user