merge
This commit is contained in:
@@ -18,6 +18,8 @@ public interface SysAuthorityRepository extends JpaRepository<SysAuthority, Stri
|
||||
|
||||
List<SysAuthority> getByParentIdAndEnable(String parentId, String enable);
|
||||
|
||||
List<SysAuthority> getByParentId(String parentId);
|
||||
|
||||
List<SysAuthority> getByEnableAndIdIn(String enable, List<String> ids);
|
||||
|
||||
}
|
||||
|
||||
@@ -56,7 +56,6 @@ public class SysAuthorityService {
|
||||
result.setMessage("保存权限失败");
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -128,7 +127,7 @@ public class SysAuthorityService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有子节点
|
||||
* 根据状态查询所有子节点
|
||||
*
|
||||
* @param parentId
|
||||
* @param enable
|
||||
@@ -137,7 +136,10 @@ public class SysAuthorityService {
|
||||
public List<SysAuthority> listByParentEnable(String parentId, String enable) {
|
||||
if (StringUtils.isEmpty(parentId))
|
||||
parentId = CommonConstant.ROOT;
|
||||
return sysAuthorityRepository.getByParentIdAndEnable(parentId, enable);
|
||||
if (StringUtils.isNotEmpty(enable))
|
||||
return sysAuthorityRepository.getByParentIdAndEnable(parentId, enable);
|
||||
else
|
||||
return sysAuthorityRepository.getByParentId(parentId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -158,27 +160,6 @@ public class SysAuthorityService {
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归查询父节点下所有权限的id集合,并将状态设置为禁用(禁用权限时用)
|
||||
*
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
public List<SysAuthority> queryAllChildren(String parentId) {
|
||||
//获取结果
|
||||
List<SysAuthority> sysAuthoritys = listByParentEnable(parentId, CommonConstant.ISENABLE);
|
||||
//遍历子集
|
||||
List<SysAuthority> list = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(sysAuthoritys)) {
|
||||
for (SysAuthority sysAuthority : sysAuthoritys) {
|
||||
sysAuthority.setEnable(CommonConstant.ISNOTENABLE);
|
||||
sysAuthority.setModifiedTime(new Date());
|
||||
list.add(sysAuthority);
|
||||
list.addAll(queryAllChildren(sysAuthority.getId()));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据父节点禁用所有子节点
|
||||
@@ -204,7 +185,11 @@ public class SysAuthorityService {
|
||||
*/
|
||||
public List<SysAuthVo> queryAllChildren(String parentId, String enable) {
|
||||
List<SysAuthVo> list = new ArrayList<>();
|
||||
List<SysAuthority> authoritys = sysAuthorityRepository.getByParentIdAndEnable(parentId, enable);
|
||||
List<SysAuthority> authoritys;
|
||||
if (StringUtils.isNotEmpty(enable))
|
||||
authoritys = sysAuthorityRepository.getByParentIdAndEnable(parentId, enable);
|
||||
else
|
||||
authoritys = sysAuthorityRepository.getByParentId(parentId);
|
||||
if (CollectionUtils.isEmpty(authoritys))
|
||||
return list;
|
||||
SysAuthVo vo;
|
||||
@@ -216,6 +201,28 @@ public class SysAuthorityService {
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归查询父节点下所有权限的id集合,并将状态设置为禁用(禁用权限时用)
|
||||
*
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
private List<SysAuthority> queryAllChildren(String parentId) {
|
||||
//获取结果
|
||||
List<SysAuthority> sysAuthoritys = listByParentEnable(parentId, CommonConstant.ISENABLE);
|
||||
//遍历子集
|
||||
List<SysAuthority> list = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(sysAuthoritys)) {
|
||||
for (SysAuthority sysAuthority : sysAuthoritys) {
|
||||
sysAuthority.setEnable(CommonConstant.ISNOTENABLE);
|
||||
sysAuthority.setModifiedTime(new Date());
|
||||
list.add(sysAuthority);
|
||||
list.addAll(queryAllChildren(sysAuthority.getId()));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查code是否唯一 true唯一
|
||||
*
|
||||
|
||||
@@ -62,4 +62,18 @@ public class SysRoleAuthorityService {
|
||||
public List<SysRoleAuthority> listByRoleId(String roleId) {
|
||||
return sysRoleAuthorityRepository.getByRoleId(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param roleAuthorities
|
||||
* @return
|
||||
*/
|
||||
public RestMessage removeBatch(List<SysRoleAuthority> roleAuthorities) {
|
||||
RestMessage result = new RestMessage();
|
||||
sysRoleAuthorityRepository.deleteInBatch(roleAuthorities);
|
||||
result.setSuccess(true);
|
||||
result.setMessage("批量删除成功");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.xwbing.service;
|
||||
|
||||
import com.xwbing.entity.SysRole;
|
||||
import com.xwbing.entity.SysRoleAuthority;
|
||||
import com.xwbing.entity.SysUserRole;
|
||||
import com.xwbing.exception.BusinessException;
|
||||
import com.xwbing.repository.SysRoleRepository;
|
||||
@@ -30,6 +31,8 @@ public class SysRoleService {
|
||||
private SysRoleRepository sysRoleRepository;
|
||||
@Resource
|
||||
private SysUserRoleService sysUserRoleService;
|
||||
@Resource
|
||||
private SysRoleAuthorityService sysRoleAuthorityService;
|
||||
private final Logger logger = LoggerFactory.getLogger(SysRoleService.class);
|
||||
|
||||
/**
|
||||
@@ -68,7 +71,12 @@ public class SysRoleService {
|
||||
SysRole one = getById(id);
|
||||
if (one == null)
|
||||
throw new BusinessException("该角色不存在");
|
||||
//删除角色
|
||||
sysRoleRepository.delete(id);
|
||||
//删除角色权限
|
||||
List<SysRoleAuthority> roleAuthorities = sysRoleAuthorityService.listByRoleId(id);
|
||||
if (CollectionUtils.isNotEmpty(roleAuthorities))
|
||||
sysRoleAuthorityService.removeBatch(roleAuthorities);
|
||||
result.setMessage("删除成功");
|
||||
result.setSuccess(true);
|
||||
return result;
|
||||
|
||||
@@ -61,4 +61,18 @@ public class SysUserRoleService {
|
||||
public List<SysUserRole> listByUserId(String userId) {
|
||||
return sysUserRoleRepository.getByUserId(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param userRoles
|
||||
* @return
|
||||
*/
|
||||
public RestMessage removeBatch(List<SysUserRole> userRoles) {
|
||||
RestMessage result = new RestMessage();
|
||||
sysUserRoleRepository.deleteInBatch(userRoles);
|
||||
result.setSuccess(true);
|
||||
result.setMessage("批量删除成功");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ public class SysUserService {
|
||||
private SysRoleService sysRoleService;
|
||||
@Resource
|
||||
private SysAuthorityService sysAuthorityService;
|
||||
@Resource
|
||||
private SysUserRoleService sysUserRoleService;
|
||||
|
||||
/**
|
||||
* 增
|
||||
@@ -89,7 +91,13 @@ public class SysUserService {
|
||||
if (CommonEnum.YesOrNoEnum.YES.getCode().equals(old.getAdmin())) {
|
||||
throw new BusinessException("不能对管理员进行删除操作");
|
||||
}
|
||||
//删除用户
|
||||
sysUserRepository.delete(id);
|
||||
//删除用户角色
|
||||
List<SysUserRole> sysUserRoles = sysUserRoleService.listByUserId(id);
|
||||
if (CollectionUtils.isNotEmpty(sysUserRoles)) {
|
||||
sysUserRoleService.removeBatch(sysUserRoles);
|
||||
}
|
||||
result.setMessage("删除成功");
|
||||
result.setSuccess(true);
|
||||
return result;
|
||||
@@ -302,8 +310,8 @@ public class SysUserService {
|
||||
List<SysRole> sysRoles = sysRoleService.listByUserIdEnable(userId, enable);
|
||||
if (CollectionUtils.isEmpty(sysRoles))
|
||||
return list;
|
||||
List<SysAuthority> temp;
|
||||
//遍获取每个角色拥有的权限,并去重
|
||||
List<SysAuthority> temp;
|
||||
for (SysRole sysRole : sysRoles) {
|
||||
temp = sysAuthorityService.listByRoleIdEnable(sysRole.getId(), enable);
|
||||
if (CollectionUtils.isNotEmpty(temp)) {
|
||||
|
||||
Reference in New Issue
Block a user