Commit aa16d15b authored by 王向伟's avatar 王向伟

根据id查询用户或角色时,先判断是否存在

parent ac214743
...@@ -35,30 +35,35 @@ public class RoleServiceImpl implements RoleService { ...@@ -35,30 +35,35 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<Boolean> addRole(RoleModelVo roleModelVo) { public Result<Boolean> addRole(RoleModelVo roleModelVo) {
final String LOG_PRE="RoleServiceImpl.addRole"; final String LOG_PRE = "RoleServiceImpl.addRole";
log.info("{} 添加角色 roleModelVo={}",LOG_PRE, roleModelVo); log.info("{} 添加角色 roleModelVo={}", LOG_PRE, roleModelVo);
String name = roleModelVo.getName(); String name = roleModelVo.getName();
Role exist = roleRepository.getByName(name); Role exist = roleRepository.getByName(name);
if(exist != null){ if (exist != null) {
log.error("{} 已存在角色 name={}",LOG_PRE,name); log.error("{} 已存在角色 name={}", LOG_PRE, name);
return Result.buildFail(name+"已存在,请更换角色名"); return Result.buildFail(name + "已存在,请更换角色名");
} }
Role role = new Role(); Role role = new Role();
BeanUtils.copyProperties(roleModelVo,role); BeanUtils.copyProperties(roleModelVo, role);
Long parentId = roleModelVo.getParentId(); Long parentId = roleModelVo.getParentId();
if(parentId != null){
log.info("{},父角色查询 parentId={}",LOG_PRE,parentId); if (parentId != null) {
log.info("{},父角色查询 parentId={}", LOG_PRE, parentId);
if (!roleRepository.exists(parentId)) {
log.error("id为 {} 的父角色不存在");
return Result.buildFail("父角色不存在");
}
Role parent = roleRepository.getOne(parentId); Role parent = roleRepository.getOne(parentId);
role.setParent(parent); role.setParent(parent);
} }
List<Long> permissions = roleModelVo.getPermissions(); List<Long> permissions = roleModelVo.getPermissions();
if(CollectionUtils.isNotEmpty(permissions)){ if (CollectionUtils.isNotEmpty(permissions)) {
List<Permission> all = permissionRepository.findAll(permissions); List<Permission> all = permissionRepository.findAll(permissions);
log.info("{} 权限ids={} 对应的权限size={}",LOG_PRE,permissions,all.size()); log.info("{} 权限ids={} 对应的权限size={}", LOG_PRE, permissions, all.size());
role.setPermissions(all); role.setPermissions(all);
} }
...@@ -69,13 +74,13 @@ public class RoleServiceImpl implements RoleService { ...@@ -69,13 +74,13 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public Result<Page<Role>> getRoleByName(RoleQueryModel roleQueryModel) { public Result<Page<Role>> getRoleByName(RoleQueryModel roleQueryModel) {
final String LOG_PRE="RoleServiceImpl.getRoleByName"; final String LOG_PRE = "RoleServiceImpl.getRoleByName";
log.info("{} 查询角色 roleQueryModel={}",LOG_PRE,roleQueryModel); log.info("{} 查询角色 roleQueryModel={}", LOG_PRE, roleQueryModel);
Page<Role> rolePage= roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> { Page<Role> rolePage = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>(); List<Predicate> predicates = new ArrayList<>();
if (StringUtils.isNotEmpty(roleQueryModel.getName())) { if (StringUtils.isNotEmpty(roleQueryModel.getName())) {
predicates.add(criteriaBuilder.equal(root.get("name"),roleQueryModel.getName())); predicates.add(criteriaBuilder.equal(root.get("name"), roleQueryModel.getName()));
} }
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()]))); criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
// 指定排序 // 指定排序
...@@ -91,35 +96,39 @@ public class RoleServiceImpl implements RoleService { ...@@ -91,35 +96,39 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<Boolean> modifyRole(RoleModelVo roleModelVo) { public Result<Boolean> modifyRole(RoleModelVo roleModelVo) {
final String LOG_PRE="RoleServiceImpl.modifyRole"; final String LOG_PRE = "RoleServiceImpl.modifyRole";
log.info("{} 更新角色 roleQueryModel={}",LOG_PRE, roleModelVo); log.info("{} 更新角色 roleQueryModel={}", LOG_PRE, roleModelVo);
Long id = roleModelVo.getId(); Long id = roleModelVo.getId();
if(id == null){ if (id == null) {
log.error("{} 更新的角色没有Id,无法更新 roleModelVo={}",LOG_PRE, roleModelVo); log.error("{} 更新的角色没有Id,无法更新 roleModelVo={}", LOG_PRE, roleModelVo);
return Result.buildFail("角色没有id,无法更新"); return Result.buildFail("角色没有id,无法更新");
} }
Role exist = roleRepository.getOne(id); if (!roleRepository.exists(id)) {
if(exist == null){ log.error("{},没有对应的角色 id={}", LOG_PRE, id);
log.error("{},没有对应的角色 id={}",LOG_PRE,id);
return Result.buildFail("没有对应的角色"); return Result.buildFail("没有对应的角色");
} }
Role exist = roleRepository.getOne(id);
BeanUtils.copyProperties(roleModelVo,exist); BeanUtils.copyProperties(roleModelVo, exist);
Long parentId = roleModelVo.getParentId(); Long parentId = roleModelVo.getParentId();
if(parentId != null){ if (parentId != null) {
if(!roleRepository.exists(parentId)){
log.error("{} 不存在父角色 id={}",LOG_PRE,parentId);
return Result.buildFail("父角色不存在");
}
Role parent = roleRepository.getOne(parentId); Role parent = roleRepository.getOne(parentId);
log.info("{},id={},parentId={},父角色为{}",LOG_PRE,id,parentId,parent); log.info("{},id={},parentId={},父角色为{}", LOG_PRE, id, parentId, parent);
exist.setParent(parent); exist.setParent(parent);
} }
List<Long> permissions = roleModelVo.getPermissions(); List<Long> permissions = roleModelVo.getPermissions();
if(CollectionUtils.isEmpty(permissions)){ if (CollectionUtils.isEmpty(permissions)) {
exist.setPermissions(null); exist.setPermissions(null);
}else { } else {
List<Permission> permissionList = permissionRepository.findAll(permissions); List<Permission> permissionList = permissionRepository.findAll(permissions);
exist.setPermissions(permissionList); exist.setPermissions(permissionList);
} }
...@@ -133,10 +142,16 @@ public class RoleServiceImpl implements RoleService { ...@@ -133,10 +142,16 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<Boolean> deleteRole(Long roleId) { public Result<Boolean> deleteRole(Long roleId) {
final String LOG_PRE="RoleServiceImpl.deleteRole"; final String LOG_PRE = "RoleServiceImpl.deleteRole";
log.info("{} 删除角色 roleId={}",LOG_PRE,roleId); log.info("{} 删除角色 roleId={}", LOG_PRE, roleId);
if(roleId == null){
log.error("{} 删除角色失败 id为空");
return Result.buildFail("角色id不能为空");
}
if (roleRepository.exists(roleId)) {
roleRepository.delete(roleId);
}
roleRepository.delete(roleId);
return Result.buildSuccess(true); return Result.buildSuccess(true);
} }
} }
...@@ -222,20 +222,23 @@ public class UserServiceImpl implements UserService { ...@@ -222,20 +222,23 @@ public class UserServiceImpl implements UserService {
String username = userModelVo.getUsername(); String username = userModelVo.getUsername();
User exist = this.getUser(username); User exist = this.getUser(username);
if (exist != null) { if (exist != null) {
log.error("{},户已存在 userName={}", LOG_PRE, username); log.error("{},户已存在 userName={}", LOG_PRE, username);
return Result.buildFail(username + "户已存在"); return Result.buildFail(username + "户已存在");
} }
Long roleId = userModelVo.getRoleId(); Long roleId = userModelVo.getRoleId();
Role role = roleRepository.getOne(roleId); Role role = null;
if (role == null) { if (roleId != null) {
log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId); if (!roleRepository.exists(roleId)) {
return Result.buildFail("不存在对应的角色"); log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId);
return Result.buildFail("不存在对应的角色");
}
role = roleRepository.getOne(roleId);
} }
User user = User.valueOf(userModelVo, role); User user = User.valueOf(userModelVo, role);
userRepository.save(user); userRepository.save(user);
return Result.buildSuccess(true); return Result.buildSuccess(true);
} }
...@@ -249,24 +252,27 @@ public class UserServiceImpl implements UserService { ...@@ -249,24 +252,27 @@ public class UserServiceImpl implements UserService {
return Result.buildFail("缺少用户Id"); return Result.buildFail("缺少用户Id");
} }
User exist = userRepository.getOne(id); if (!userRepository.exists(id)) {
if (exist == null) {
log.error("{}不存在相应的用户,不能更新 userModelVo={}", LOG_PRE, userModelVo); log.error("{}不存在相应的用户,不能更新 userModelVo={}", LOG_PRE, userModelVo);
return Result.buildFail("不存在相应的用户,不能更新"); return Result.buildFail("不存在相应的用户,不能更新");
} }
User exist = userRepository.getOne(id);
String existUsername = exist.getUsername(); String existUsername = exist.getUsername();
String username = userModelVo.getUsername(); String username = userModelVo.getUsername();
if (!existUsername.equals(username)) { if (!existUsername.equals(username)) {
log.error("{}用户名不能修改,userModelVo={}", LOG_PRE, userModelVo); log.error("{} 账号不能修改,userModelVo={}", LOG_PRE, userModelVo);
return Result.buildFail("用户名不能修改"); return Result.buildFail("账号不能修改");
} }
Long roleId = userModelVo.getRoleId(); Long roleId = userModelVo.getRoleId();
Role role = roleRepository.getOne(roleId); Role role = null;
if (role == null) { if (roleId != null) {
log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId); if (!roleRepository.exists(roleId)) {
return Result.buildFail("不存在对应的角色"); log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId);
return Result.buildFail("不存在对应的角色");
}
role = roleRepository.getOne(roleId);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment