mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【user】调整代码
parent
1b51e659b8
commit
a82ad02cf2
|
@ -8,7 +8,6 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
|||
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserService;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
@ -34,7 +33,7 @@ public class PersonalInfoController {
|
|||
* @author luojie
|
||||
* @date 2020/11/6 13:50
|
||||
*/
|
||||
@PostResource(name = "个人信息_更新个人信息", path = "/sysUser/updateInfo", requiredPermission = false)
|
||||
@PostResource(name = "个人信息_更新个人信息", path = "/sysUser/updateInfo")
|
||||
@BusinessLog
|
||||
public ResponseData<?> updateInfo(@RequestBody @Validated(SysUserRequest.updateInfo.class) SysUserRequest sysUserRequest) {
|
||||
sysUserService.editInfo(sysUserRequest);
|
||||
|
@ -47,7 +46,7 @@ public class PersonalInfoController {
|
|||
* @author luojie
|
||||
* @date 2020/11/6 13:50
|
||||
*/
|
||||
@PostResource(name = "个人信息_修改密码", path = "/sysUser/updatePassword", requiredPermission = false)
|
||||
@PostResource(name = "个人信息_修改密码", path = "/sysUser/updatePassword")
|
||||
@BusinessLog
|
||||
public ResponseData<?> updatePwd(@RequestBody @Validated(SysUserRequest.updatePwd.class) SysUserRequest sysUserRequest) {
|
||||
sysUserService.editPassword(sysUserRequest);
|
||||
|
@ -60,7 +59,7 @@ public class PersonalInfoController {
|
|||
* @author luojie
|
||||
* @date 2020/11/6 13:48
|
||||
*/
|
||||
@PostResource(name = "个人信息_修改头像", path = "/sysUser/updateAvatar", requiredPermission = false)
|
||||
@PostResource(name = "个人信息_修改头像", path = "/sysUser/updateAvatar")
|
||||
@BusinessLog
|
||||
public ResponseData<?> updateAvatar(@RequestBody @Validated(SysUserRequest.updateAvatar.class) SysUserRequest sysUserRequest) {
|
||||
sysUserService.editAvatar(sysUserRequest);
|
||||
|
|
|
@ -29,7 +29,7 @@ public enum SysUserExceptionEnum implements AbstractExceptionEnum {
|
|||
* 但是提示:用户账号或密码错误,请重新输入
|
||||
*/
|
||||
ACCOUNT_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10003", "用户账号或密码错误,请重新输入"),
|
||||
|
||||
|
||||
/**
|
||||
* 原密码错误
|
||||
*/
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.user.factory;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.SexEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUser;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRequest;
|
||||
|
||||
|
@ -18,7 +12,6 @@ import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserRequest;
|
|||
*/
|
||||
public class SysUserCreateFactory {
|
||||
|
||||
|
||||
/**
|
||||
* 编辑用户时候的用户信息填充
|
||||
*
|
||||
|
@ -43,5 +36,4 @@ public class SysUserCreateFactory {
|
|||
sysUser.setPhone(sysUserRequest.getPhone());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public class SysUserRequest extends BaseRequest {
|
|||
/**
|
||||
* 密码,加密方式为BCrypt
|
||||
*/
|
||||
@NotBlank(message = "密码,加密方式为BCrypt不能为空", groups = {add.class,updatePwd.class})
|
||||
@NotBlank(message = "密码,加密方式为BCrypt不能为空", groups = {add.class, updatePwd.class})
|
||||
@ChineseDescription("密码,加密方式为BCrypt")
|
||||
private String password;
|
||||
|
||||
|
@ -71,7 +71,7 @@ public class SysUserRequest extends BaseRequest {
|
|||
@NotBlank(message = "新密码不能为空", groups = {updatePwd.class})
|
||||
@ChineseDescription("新密码")
|
||||
private String newPassword;
|
||||
|
||||
|
||||
/**
|
||||
* 头像,存的为文件id
|
||||
*/
|
||||
|
@ -88,7 +88,7 @@ public class SysUserRequest extends BaseRequest {
|
|||
/**
|
||||
* 性别:M-男,F-女
|
||||
*/
|
||||
@NotBlank(message = "性别:M-男,F-女不能为空", groups = {add.class, edit.class,updateInfo.class})
|
||||
@NotBlank(message = "性别:M-男,F-女不能为空", groups = {add.class, edit.class, updateInfo.class})
|
||||
@ChineseDescription("性别:M-男,F-女")
|
||||
private String sex;
|
||||
|
||||
|
@ -173,13 +173,13 @@ public class SysUserRequest extends BaseRequest {
|
|||
*/
|
||||
public @interface updateInfo {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 参数校验分组:修改密码
|
||||
*/
|
||||
public @interface updatePwd {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 参数校验分组:修改头像
|
||||
*/
|
||||
|
|
|
@ -94,7 +94,7 @@ public interface SysUserService extends IService<SysUser> {
|
|||
* @since 2023/6/12 14:55
|
||||
*/
|
||||
void resetPassword(SysUserRequest sysUserRequest);
|
||||
|
||||
|
||||
/**
|
||||
* 更新用户信息(一般用于更新个人信息)
|
||||
*
|
||||
|
@ -103,7 +103,7 @@ public interface SysUserService extends IService<SysUser> {
|
|||
* @date 2020/11/21 12:32
|
||||
*/
|
||||
void editInfo(SysUserRequest sysUserRequest);
|
||||
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*
|
||||
|
@ -112,7 +112,7 @@ public interface SysUserService extends IService<SysUser> {
|
|||
* @date 2020/11/21 14:26
|
||||
*/
|
||||
void editPassword(SysUserRequest sysUserRequest);
|
||||
|
||||
|
||||
/**
|
||||
* 修改头像
|
||||
*
|
||||
|
|
|
@ -145,6 +145,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
return sysUser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUser> findList(SysUserRequest sysUserRequest) {
|
||||
LambdaQueryWrapper<SysUser> wrapper = this.createWrapper(sysUserRequest);
|
||||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SysUser> findPage(SysUserRequest sysUserRequest) {
|
||||
LambdaQueryWrapper<SysUser> wrapper = createWrapper(sysUserRequest);
|
||||
|
@ -195,9 +201,58 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<SysUser> findList(SysUserRequest sysUserRequest) {
|
||||
LambdaQueryWrapper<SysUser> wrapper = this.createWrapper(sysUserRequest);
|
||||
return this.list(wrapper);
|
||||
public void editInfo(SysUserRequest sysUserRequest) {
|
||||
|
||||
// 获取当前登录用户的id
|
||||
sysUserRequest.setUserId(LoginContext.me().getLoginUser().getUserId());
|
||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||
|
||||
// 填充更新用户的信息
|
||||
SysUserCreateFactory.fillUpdateInfo(sysUserRequest, sysUser);
|
||||
|
||||
this.updateById(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editPassword(SysUserRequest sysUserRequest) {
|
||||
|
||||
// 新密码与原密码相同
|
||||
if (sysUserRequest.getNewPassword().equals(sysUserRequest.getPassword())) {
|
||||
throw new ServiceException(SysUserExceptionEnum.USER_PWD_REPEAT);
|
||||
}
|
||||
|
||||
// 获取当前用户的userId
|
||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||
sysUserRequest.setUserId(loginUser.getUserId());
|
||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||
|
||||
// 原密码错误
|
||||
if (!passwordStoredEncryptApi.checkPasswordWithSalt(sysUserRequest.getPassword(), sysUser.getPasswordSalt(),
|
||||
sysUser.getPassword())) {
|
||||
throw new ServiceException(SysUserExceptionEnum.USER_PWD_ERROR);
|
||||
}
|
||||
|
||||
// 设置新的加密后密码和盐
|
||||
SaltedEncryptResult saltedEncryptResult = passwordStoredEncryptApi.encryptWithSalt(sysUserRequest.getNewPassword());
|
||||
sysUser.setPassword(saltedEncryptResult.getEncryptPassword());
|
||||
sysUser.setPasswordSalt(saltedEncryptResult.getPasswordSalt());
|
||||
|
||||
this.updateById(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editAvatar(SysUserRequest sysUserRequest) {
|
||||
// 新头像文件id
|
||||
Long fileId = sysUserRequest.getAvatar();
|
||||
|
||||
// 从当前用户获取用户id
|
||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||
|
||||
// 更新用户头像
|
||||
LambdaUpdateWrapper<SysUser> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SysUser::getUserId, loginUser.getUserId());
|
||||
wrapper.set(SysUser::getAvatar, fileId);
|
||||
this.update(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -270,78 +325,4 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editInfo(SysUserRequest sysUserRequest) {
|
||||
|
||||
// 获取当前登录用户的id
|
||||
sysUserRequest.setUserId(LoginContext.me().getLoginUser().getUserId());
|
||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||
|
||||
// 填充更新用户的信息
|
||||
SysUserCreateFactory.fillUpdateInfo(sysUserRequest, sysUser);
|
||||
|
||||
this.updateById(sysUser);
|
||||
|
||||
// 清除缓存中的用户信息
|
||||
//sysUserCacheOperatorApi.remove(String.valueOf(sysUser.getUserId()));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editPassword(SysUserRequest sysUserRequest) {
|
||||
|
||||
|
||||
// 获取当前用户的userId
|
||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||
sysUserRequest.setUserId(loginUser.getUserId());
|
||||
|
||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||
|
||||
// 新密码与原密码相同
|
||||
if (sysUserRequest.getNewPassword().equals(sysUserRequest.getPassword())) {
|
||||
throw new ServiceException(SysUserExceptionEnum.USER_PWD_REPEAT);
|
||||
}
|
||||
|
||||
// 原密码错误
|
||||
if (!passwordStoredEncryptApi.checkPassword(sysUserRequest.getPassword(), sysUser.getPassword())) {
|
||||
throw new ServiceException(SysUserExceptionEnum.USER_PWD_ERROR);
|
||||
}
|
||||
|
||||
sysUser.setPassword(passwordStoredEncryptApi.encrypt(sysUserRequest.getNewPassword()));
|
||||
this.updateById(sysUser);
|
||||
|
||||
// 清除缓存中的用户信息
|
||||
//sysUserCacheOperatorApi.remove(String.valueOf(sysUser.getUserId()));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editAvatar(SysUserRequest sysUserRequest) {
|
||||
|
||||
|
||||
// 新头像文件id
|
||||
Long fileId = sysUserRequest.getAvatar();
|
||||
|
||||
// 从当前用户获取用户id
|
||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||
sysUserRequest.setUserId(loginUser.getUserId());
|
||||
|
||||
// 更新用户头像
|
||||
SysUser sysUser = this.querySysUser(sysUserRequest);
|
||||
sysUser.setAvatar(fileId);
|
||||
this.updateById(sysUser);
|
||||
|
||||
// 更新当前用户的session信息
|
||||
//SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
||||
//simpleUserInfo.setAvatar(fileId);
|
||||
//sessionManagerApi.updateSession(LoginContext.me().getToken(), loginUser);
|
||||
|
||||
// 清除缓存中的用户信息
|
||||
//sysUserCacheOperatorApi.remove(String.valueOf(sysUser.getUserId()));
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue