用户管理更新
This commit is contained in:
@@ -92,6 +92,9 @@ public class AuthorizationController {
|
||||
throw new BadRequestException("账号或密码错误");
|
||||
}
|
||||
|
||||
// 判断是否被锁
|
||||
if (!userDto.getEnabled()) throw new BadRequestException("账号未激活");
|
||||
|
||||
// 获取权限列表 - 登录查找权限
|
||||
List<String> permissionList = roleService.getPermissionList(userDto);
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.secure.SaSecureUtil;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -109,7 +110,10 @@ public class UserController {
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody User resources){
|
||||
checkLevel(resources);
|
||||
// 默认密码 123456
|
||||
resources.setPassword(SaSecureUtil.md5BySalt("123456", "salt"));
|
||||
if (ObjectUtil.isEmpty(resources.getPassword()))
|
||||
resources.setPassword(SaSecureUtil.md5BySalt("123456", "salt"));
|
||||
else
|
||||
resources.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt"));
|
||||
userService.create(resources);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package org.nl.modules.system.service.impl;
|
||||
|
||||
import cn.dev33.satoken.secure.SaSecureUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.modules.common.config.FileProperties;
|
||||
@@ -89,9 +91,6 @@ public class UserServiceImpl implements UserService {
|
||||
if (userRepository.findByUsername(resources.getUsername()) != null) {
|
||||
throw new EntityExistException(User.class, "username", resources.getUsername());
|
||||
}
|
||||
if (userRepository.findByEmail(resources.getEmail()) != null) {
|
||||
throw new EntityExistException(User.class, "email", resources.getEmail());
|
||||
}
|
||||
resources.setCreateBy(SecurityUtils.getCurrentUsername());
|
||||
userRepository.save(resources);
|
||||
}
|
||||
@@ -102,45 +101,37 @@ public class UserServiceImpl implements UserService {
|
||||
User user = userRepository.findById(resources.getId()).orElseGet(User::new);
|
||||
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId());
|
||||
User user1 = userRepository.findByUsername(resources.getUsername());
|
||||
User user2 = userRepository.findByEmail(resources.getEmail());
|
||||
|
||||
if (user1 != null && !user.getId().equals(user1.getId())) {
|
||||
throw new EntityExistException(User.class, "username", resources.getUsername());
|
||||
}
|
||||
|
||||
if (user2 != null && !user.getId().equals(user2.getId())) {
|
||||
throw new EntityExistException(User.class, "email", resources.getEmail());
|
||||
}
|
||||
// 如果用户的角色改变
|
||||
if (!resources.getRoles().equals(user.getRoles())) {
|
||||
redisUtils.del(CacheKey.DATA_USER + resources.getId());
|
||||
redisUtils.del(CacheKey.MENU_USER + resources.getId());
|
||||
redisUtils.del(CacheKey.ROLE_AUTH + resources.getId());
|
||||
}
|
||||
// 如果用户名称修改
|
||||
if(!resources.getUsername().equals(user.getUsername())){
|
||||
redisUtils.del("user::username:" + user.getUsername());
|
||||
}
|
||||
// 如果用户名称或者状态修改
|
||||
redisUtils.del("user::username:" + user.getUsername());
|
||||
// 如果用户被禁用,则清除用户登录信息
|
||||
if(!resources.getEnabled()){
|
||||
onlineUserService.kickOutForUsername(resources.getUsername());
|
||||
}
|
||||
User clone = new User(); // jpa 多表问题,需要用新的类来进行修改
|
||||
clone.setId(resources.getId());
|
||||
clone.setUsername(resources.getUsername());
|
||||
clone.setEmail(resources.getEmail());
|
||||
clone.setEnabled(resources.getEnabled());
|
||||
clone.setRoles(resources.getRoles());
|
||||
clone.setDept(resources.getDept());
|
||||
clone.setPhone(resources.getPhone());
|
||||
clone.setNickName(resources.getNickName());
|
||||
clone.setGender(resources.getGender());
|
||||
user.setId(resources.getId());
|
||||
user.setUsername(resources.getUsername());
|
||||
user.setEmail(resources.getEmail());
|
||||
user.setEnabled(resources.getEnabled());
|
||||
user.setRoles(resources.getRoles());
|
||||
user.setDept(resources.getDept());
|
||||
user.setPhone(resources.getPhone());
|
||||
user.setNickName(resources.getNickName());
|
||||
user.setGender(resources.getGender());
|
||||
if (ObjectUtil.isNotEmpty(resources.getPassword()))
|
||||
user.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt"));
|
||||
|
||||
userRepository.save(clone);
|
||||
userRepository.save(user);
|
||||
// 清除缓存
|
||||
delCaches(user.getId(), user.getUsername());
|
||||
// 修改session
|
||||
// flushSession(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -153,8 +144,6 @@ public class UserServiceImpl implements UserService {
|
||||
userRepository.save(user);
|
||||
// 清理缓存
|
||||
delCaches(user.getId(), user.getUsername());
|
||||
// 修改session
|
||||
// flushSession(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -184,7 +173,6 @@ public class UserServiceImpl implements UserService {
|
||||
public void updatePass(String username, String pass) {
|
||||
userRepository.updatePass(username, pass, new Date());
|
||||
redisUtils.del("user::username:" + username);
|
||||
// flushSession(userRepository.findByUsername(username));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -200,7 +188,6 @@ public class UserServiceImpl implements UserService {
|
||||
FileUtil.del(oldPath);
|
||||
}
|
||||
@NotBlank String username = user.getUsername();
|
||||
// flushSession(user);
|
||||
return new HashMap<String, String>(1) {{
|
||||
put("avatar", file.getName());
|
||||
}};
|
||||
@@ -210,7 +197,6 @@ public class UserServiceImpl implements UserService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateEmail(String username, String email) {
|
||||
userRepository.updateEmail(username, email);
|
||||
// flushSession(userRepository.findByUsername(username));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -239,17 +225,6 @@ public class UserServiceImpl implements UserService {
|
||||
*/
|
||||
public void delCaches(Long id, String username) {
|
||||
redisUtils.del(CacheKey.USER_ID + id);
|
||||
// flushCache(username);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理 登陆时 用户缓存信息
|
||||
*
|
||||
* @param user /
|
||||
*/
|
||||
// private void flushSession(User user) {
|
||||
// UserDto userDto = this.findByName(user.getUsername());
|
||||
// List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
|
||||
// flushSessionUtil.flushSessionInfo(userDto, permissionList);
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user