|
@@ -7,7 +7,6 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -74,15 +73,14 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|
|
|
|
|
|
|
private Wrapper<SysRole> buildQueryWrapper(SysRoleBo bo) {
|
|
private Wrapper<SysRole> buildQueryWrapper(SysRoleBo bo) {
|
|
|
Map<String, Object> params = bo.getParams();
|
|
Map<String, Object> params = bo.getParams();
|
|
|
- QueryWrapper<SysRole> wrapper = Wrappers.query();
|
|
|
|
|
- wrapper.eq("r.del_flag", SystemConstants.NORMAL)
|
|
|
|
|
- .eq(ObjectUtil.isNotNull(bo.getRoleId()), "r.role_id", bo.getRoleId())
|
|
|
|
|
- .like(StringUtils.isNotBlank(bo.getRoleName()), "r.role_name", bo.getRoleName())
|
|
|
|
|
- .eq(StringUtils.isNotBlank(bo.getStatus()), "r.status", bo.getStatus())
|
|
|
|
|
- .like(StringUtils.isNotBlank(bo.getRoleKey()), "r.role_key", bo.getRoleKey())
|
|
|
|
|
|
|
+ LambdaQueryWrapper<SysRole> wrapper = Wrappers.lambdaQuery();
|
|
|
|
|
+ wrapper.eq(ObjectUtil.isNotNull(bo.getRoleId()), SysRole::getRoleId, bo.getRoleId())
|
|
|
|
|
+ .like(StringUtils.isNotBlank(bo.getRoleName()), SysRole::getRoleName, bo.getRoleName())
|
|
|
|
|
+ .eq(StringUtils.isNotBlank(bo.getStatus()), SysRole::getStatus, bo.getStatus())
|
|
|
|
|
+ .like(StringUtils.isNotBlank(bo.getRoleKey()), SysRole::getRoleKey, bo.getRoleKey())
|
|
|
.between(params.get("beginTime") != null && params.get("endTime") != null,
|
|
.between(params.get("beginTime") != null && params.get("endTime") != null,
|
|
|
- "r.create_time", params.get("beginTime"), params.get("endTime"))
|
|
|
|
|
- .orderByAsc("r.role_sort").orderByAsc("r.create_time");
|
|
|
|
|
|
|
+ SysRole::getCreateTime, params.get("beginTime"), params.get("endTime"))
|
|
|
|
|
+ .orderByAsc(SysRole::getRoleSort).orderByAsc(SysRole::getCreateTime);
|
|
|
return wrapper;
|
|
return wrapper;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -176,9 +174,9 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
public List<SysRoleVo> selectRoleByIds(List<Long> roleIds) {
|
|
public List<SysRoleVo> selectRoleByIds(List<Long> roleIds) {
|
|
|
- return baseMapper.selectRoleList(new QueryWrapper<SysRole>()
|
|
|
|
|
- .eq("r.status", SystemConstants.NORMAL)
|
|
|
|
|
- .in(CollUtil.isNotEmpty(roleIds), "r.role_id", roleIds));
|
|
|
|
|
|
|
+ return baseMapper.selectRoleList(new LambdaQueryWrapper<SysRole>()
|
|
|
|
|
+ .eq(SysRole::getStatus, SystemConstants.NORMAL)
|
|
|
|
|
+ .in(CollUtil.isNotEmpty(roleIds), SysRole::getRoleId, roleIds));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -359,7 +357,7 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|
|
rm.setMenuId(menuId);
|
|
rm.setMenuId(menuId);
|
|
|
list.add(rm);
|
|
list.add(rm);
|
|
|
}
|
|
}
|
|
|
- if (list.size() > 0) {
|
|
|
|
|
|
|
+ if (CollUtil.isEmpty(list)) {
|
|
|
rows = roleMenuMapper.insertBatch(list) ? list.size() : 0;
|
|
rows = roleMenuMapper.insertBatch(list) ? list.size() : 0;
|
|
|
}
|
|
}
|
|
|
return rows;
|
|
return rows;
|
|
@@ -380,7 +378,7 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|
|
rd.setDeptId(deptId);
|
|
rd.setDeptId(deptId);
|
|
|
list.add(rd);
|
|
list.add(rd);
|
|
|
}
|
|
}
|
|
|
- if (list.size() > 0) {
|
|
|
|
|
|
|
+ if (CollUtil.isEmpty(list)) {
|
|
|
rows = roleDeptMapper.insertBatch(list) ? list.size() : 0;
|
|
rows = roleDeptMapper.insertBatch(list) ? list.size() : 0;
|
|
|
}
|
|
}
|
|
|
return rows;
|
|
return rows;
|
|
@@ -412,21 +410,20 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|
|
@CacheEvict(cacheNames = CacheNames.SYS_ROLE_CUSTOM, allEntries = true)
|
|
@CacheEvict(cacheNames = CacheNames.SYS_ROLE_CUSTOM, allEntries = true)
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public int deleteRoleByIds(Long[] roleIds) {
|
|
|
|
|
- for (Long roleId : roleIds) {
|
|
|
|
|
- SysRole role = baseMapper.selectById(roleId);
|
|
|
|
|
|
|
+ public int deleteRoleByIds(List<Long> roleIds) {
|
|
|
|
|
+ List<SysRole> roles = baseMapper.selectByIds(roleIds);
|
|
|
|
|
+ for (SysRole role : roles) {
|
|
|
checkRoleAllowed(BeanUtil.toBean(role, SysRoleBo.class));
|
|
checkRoleAllowed(BeanUtil.toBean(role, SysRoleBo.class));
|
|
|
- checkRoleDataScope(roleId);
|
|
|
|
|
- if (countUserRoleByRoleId(roleId) > 0) {
|
|
|
|
|
|
|
+ checkRoleDataScope(role.getRoleId());
|
|
|
|
|
+ if (countUserRoleByRoleId(role.getRoleId()) > 0) {
|
|
|
throw new ServiceException(String.format("%1$s已分配,不能删除!", role.getRoleName()));
|
|
throw new ServiceException(String.format("%1$s已分配,不能删除!", role.getRoleName()));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- List<Long> ids = Arrays.asList(roleIds);
|
|
|
|
|
// 删除角色与菜单关联
|
|
// 删除角色与菜单关联
|
|
|
- roleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getRoleId, ids));
|
|
|
|
|
|
|
+ roleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getRoleId, roleIds));
|
|
|
// 删除角色与部门关联
|
|
// 删除角色与部门关联
|
|
|
- roleDeptMapper.delete(new LambdaQueryWrapper<SysRoleDept>().in(SysRoleDept::getRoleId, ids));
|
|
|
|
|
- return baseMapper.deleteByIds(ids);
|
|
|
|
|
|
|
+ roleDeptMapper.delete(new LambdaQueryWrapper<SysRoleDept>().in(SysRoleDept::getRoleId, roleIds));
|
|
|
|
|
+ return baseMapper.deleteByIds(roleIds);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|