增加数据权限
This commit is contained in:
@@ -16,5 +16,10 @@ namespace ZR.Service.System.IService
|
||||
List<SysDept> GetChildrenDepts(List<SysDept> depts, long deptId);
|
||||
List<SysDept> BuildDeptTree(List<SysDept> depts);
|
||||
List<TreeSelectVo> BuildDeptTreeSelect(List<SysDept> depts);
|
||||
List<SysRoleDept> SelectRoleDeptByRoleId(long roleId);
|
||||
|
||||
List<long> SelectRoleDepts(long roleId);
|
||||
int DeleteRoleDeptByRoleId(long roleId);
|
||||
int InsertRoleDepts(SysRole role);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,10 +21,11 @@ namespace ZR.Service.System
|
||||
public class SysDeptService : BaseService<SysDept>, ISysDeptService
|
||||
{
|
||||
public SysDeptRepository DeptRepository;
|
||||
|
||||
public SysDeptService(SysDeptRepository deptRepository) : base(deptRepository)
|
||||
public SysRoleDeptRepository RoleDeptRepository;
|
||||
public SysDeptService(SysDeptRepository deptRepository, SysRoleDeptRepository roleDeptRepository) : base(deptRepository)
|
||||
{
|
||||
DeptRepository = deptRepository;
|
||||
RoleDeptRepository = roleDeptRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -225,5 +226,60 @@ namespace ZR.Service.System
|
||||
{
|
||||
return list.Where(p => p.ParentId == dept.DeptId).ToList();
|
||||
}
|
||||
|
||||
#region 角色部门
|
||||
|
||||
/// <summary>
|
||||
/// 根据角色获取菜单id
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public List<SysRoleDept> SelectRoleDeptByRoleId(long roleId)
|
||||
{
|
||||
return RoleDeptRepository.SelectRoleDeptByRoleId(roleId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取角色部门id集合
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public List<long> SelectRoleDepts(long roleId)
|
||||
{
|
||||
var list = SelectRoleDeptByRoleId(roleId);
|
||||
|
||||
return list.Select(x => x.DeptId).Distinct().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除角色部门数据
|
||||
/// </summary>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public int DeleteRoleDeptByRoleId(long roleId)
|
||||
{
|
||||
return RoleDeptRepository.Delete(f => f.RoleId == roleId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量插入角色部门
|
||||
/// </summary>
|
||||
/// <param name="role"></param>
|
||||
/// <returns></returns>
|
||||
public int InsertRoleDepts(SysRole role)
|
||||
{
|
||||
int rows = 1;
|
||||
List<SysRoleDept> list = new();
|
||||
foreach (var item in role.DeptIds)
|
||||
{
|
||||
list.Add(new SysRoleDept() { DeptId = item, RoleId = role.RoleId });
|
||||
}
|
||||
if (list.Count > 0)
|
||||
{
|
||||
rows = RoleDeptRepository.Insert(list);
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,19 +21,23 @@ namespace ZR.Service
|
||||
{
|
||||
private SysRoleRepository SysRoleRepository;
|
||||
private ISysUserRoleService SysUserRoleService;
|
||||
private ISysDeptService DeptService;
|
||||
|
||||
public SysRoleService(
|
||||
SysRoleRepository sysRoleRepository,
|
||||
ISysUserRoleService sysUserRoleService) : base(sysRoleRepository)
|
||||
ISysUserRoleService sysUserRoleService,
|
||||
ISysDeptService deptService) : base(sysRoleRepository)
|
||||
{
|
||||
SysRoleRepository = sysRoleRepository;
|
||||
SysUserRoleService = sysUserRoleService;
|
||||
DeptService = deptService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据条件分页查询角色数据
|
||||
/// </summary>
|
||||
/// <param name="role">角色信息</param>
|
||||
/// <param name="pager">分页信息</param>
|
||||
/// <returns>角色数据集合信息</returns>
|
||||
public PagedInfo<SysRole> SelectRoleList(SysRole role, PagerInfo pager)
|
||||
{
|
||||
@@ -157,17 +161,9 @@ namespace ZR.Service
|
||||
{
|
||||
return UseTran2(() =>
|
||||
{
|
||||
int result = Update(sysRoleDto, it => new
|
||||
{
|
||||
it.DataScope
|
||||
}, f => f.RoleId == sysRoleDto.RoleId);
|
||||
|
||||
//if (result > 0 && sysRoleDto.DataScope == "2")
|
||||
//{
|
||||
//删除角色菜单
|
||||
DeleteRoleMenuByRoleId(sysRoleDto.RoleId);
|
||||
InsertRoleMenu(sysRoleDto);
|
||||
//}
|
||||
});
|
||||
}
|
||||
#region Service
|
||||
@@ -185,11 +181,13 @@ namespace ZR.Service
|
||||
List<SysRoleMenu> sysRoleMenus = new List<SysRoleMenu>();
|
||||
foreach (var item in sysRoleDto.MenuIds)
|
||||
{
|
||||
SysRoleMenu rm = new SysRoleMenu();
|
||||
rm.Menu_id = item;
|
||||
rm.Role_id = sysRoleDto.RoleId;
|
||||
rm.Create_by = sysRoleDto.Create_by;
|
||||
rm.Create_time = DateTime.Now;
|
||||
SysRoleMenu rm = new SysRoleMenu
|
||||
{
|
||||
Menu_id = item,
|
||||
Role_id = sysRoleDto.RoleId,
|
||||
Create_by = sysRoleDto.Create_by,
|
||||
Create_time = DateTime.Now
|
||||
};
|
||||
sysRoleMenus.Add(rm);
|
||||
}
|
||||
//添加角色菜单
|
||||
@@ -301,7 +299,17 @@ namespace ZR.Service
|
||||
/// <returns></returns>
|
||||
public int UpdateRole(SysRole sysRole)
|
||||
{
|
||||
return SysRoleRepository.UpdateSysRole(sysRole);
|
||||
var result = UseTran(() =>
|
||||
{
|
||||
//修改角色信息
|
||||
SysRoleRepository.UpdateSysRole(sysRole);
|
||||
//删除角色与部门管理
|
||||
DeptService.DeleteRoleDeptByRoleId(sysRole.RoleId);
|
||||
//插入角色部门数据
|
||||
DeptService.InsertRoleDepts(sysRole);
|
||||
});
|
||||
|
||||
return result.IsSuccess ? 1 : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user