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

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

parent ac214743
......@@ -35,30 +35,35 @@ public class RoleServiceImpl implements RoleService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> addRole(RoleModelVo roleModelVo) {
final String LOG_PRE="RoleServiceImpl.addRole";
log.info("{} 添加角色 roleModelVo={}",LOG_PRE, roleModelVo);
final String LOG_PRE = "RoleServiceImpl.addRole";
log.info("{} 添加角色 roleModelVo={}", LOG_PRE, roleModelVo);
String name = roleModelVo.getName();
Role exist = roleRepository.getByName(name);
if(exist != null){
log.error("{} 已存在角色 name={}",LOG_PRE,name);
return Result.buildFail(name+"已存在,请更换角色名");
if (exist != null) {
log.error("{} 已存在角色 name={}", LOG_PRE, name);
return Result.buildFail(name + "已存在,请更换角色名");
}
Role role = new Role();
BeanUtils.copyProperties(roleModelVo,role);
BeanUtils.copyProperties(roleModelVo, role);
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.setParent(parent);
}
List<Long> permissions = roleModelVo.getPermissions();
if(CollectionUtils.isNotEmpty(permissions)){
if (CollectionUtils.isNotEmpty(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);
}
......@@ -69,13 +74,13 @@ public class RoleServiceImpl implements RoleService {
@Override
public Result<Page<Role>> getRoleByName(RoleQueryModel roleQueryModel) {
final String LOG_PRE="RoleServiceImpl.getRoleByName";
log.info("{} 查询角色 roleQueryModel={}",LOG_PRE,roleQueryModel);
Page<Role> rolePage= roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
final String LOG_PRE = "RoleServiceImpl.getRoleByName";
log.info("{} 查询角色 roleQueryModel={}", LOG_PRE, roleQueryModel);
Page<Role> rolePage = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
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()])));
// 指定排序
......@@ -91,35 +96,39 @@ public class RoleServiceImpl implements RoleService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> modifyRole(RoleModelVo roleModelVo) {
final String LOG_PRE="RoleServiceImpl.modifyRole";
log.info("{} 更新角色 roleQueryModel={}",LOG_PRE, roleModelVo);
final String LOG_PRE = "RoleServiceImpl.modifyRole";
log.info("{} 更新角色 roleQueryModel={}", LOG_PRE, roleModelVo);
Long id = roleModelVo.getId();
if(id == null){
log.error("{} 更新的角色没有Id,无法更新 roleModelVo={}",LOG_PRE, roleModelVo);
if (id == null) {
log.error("{} 更新的角色没有Id,无法更新 roleModelVo={}", LOG_PRE, roleModelVo);
return Result.buildFail("角色没有id,无法更新");
}
Role exist = roleRepository.getOne(id);
if(exist == null){
log.error("{},没有对应的角色 id={}",LOG_PRE,id);
if (!roleRepository.exists(id)) {
log.error("{},没有对应的角色 id={}", LOG_PRE, id);
return Result.buildFail("没有对应的角色");
}
Role exist = roleRepository.getOne(id);
BeanUtils.copyProperties(roleModelVo,exist);
BeanUtils.copyProperties(roleModelVo, exist);
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);
log.info("{},id={},parentId={},父角色为{}",LOG_PRE,id,parentId,parent);
log.info("{},id={},parentId={},父角色为{}", LOG_PRE, id, parentId, parent);
exist.setParent(parent);
}
List<Long> permissions = roleModelVo.getPermissions();
if(CollectionUtils.isEmpty(permissions)){
if (CollectionUtils.isEmpty(permissions)) {
exist.setPermissions(null);
}else {
} else {
List<Permission> permissionList = permissionRepository.findAll(permissions);
exist.setPermissions(permissionList);
}
......@@ -133,10 +142,16 @@ public class RoleServiceImpl implements RoleService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> deleteRole(Long roleId) {
final String LOG_PRE="RoleServiceImpl.deleteRole";
log.info("{} 删除角色 roleId={}",LOG_PRE,roleId);
final String LOG_PRE = "RoleServiceImpl.deleteRole";
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);
}
}
......@@ -222,20 +222,23 @@ public class UserServiceImpl implements UserService {
String username = userModelVo.getUsername();
User exist = this.getUser(username);
if (exist != null) {
log.error("{},户已存在 userName={}", LOG_PRE, username);
return Result.buildFail(username + "户已存在");
log.error("{},户已存在 userName={}", LOG_PRE, username);
return Result.buildFail(username + "户已存在");
}
Long roleId = userModelVo.getRoleId();
Role role = roleRepository.getOne(roleId);
if (role == null) {
log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId);
return Result.buildFail("不存在对应的角色");
Role role = null;
if (roleId != null) {
if (!roleRepository.exists(roleId)) {
log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId);
return Result.buildFail("不存在对应的角色");
}
role = roleRepository.getOne(roleId);
}
User user = User.valueOf(userModelVo, role);
userRepository.save(user);
return Result.buildSuccess(true);
}
......@@ -249,24 +252,27 @@ public class UserServiceImpl implements UserService {
return Result.buildFail("缺少用户Id");
}
User exist = userRepository.getOne(id);
if (exist == null) {
if (!userRepository.exists(id)) {
log.error("{}不存在相应的用户,不能更新 userModelVo={}", LOG_PRE, userModelVo);
return Result.buildFail("不存在相应的用户,不能更新");
}
User exist = userRepository.getOne(id);
String existUsername = exist.getUsername();
String username = userModelVo.getUsername();
if (!existUsername.equals(username)) {
log.error("{}用户名不能修改,userModelVo={}", LOG_PRE, userModelVo);
return Result.buildFail("用户名不能修改");
log.error("{} 账号不能修改,userModelVo={}", LOG_PRE, userModelVo);
return Result.buildFail("账号不能修改");
}
Long roleId = userModelVo.getRoleId();
Role role = roleRepository.getOne(roleId);
if (role == null) {
log.error("{},不存在对应的角色 roleId={}", LOG_PRE, roleId);
return Result.buildFail("不存在对应的角色");
Role role = null;
if (roleId != null) {
if (!roleRepository.exists(roleId)) {
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