using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using WIDESEA_Core.Enums; using WIDESEA_Core.Filters; using WIDESEA_Core.ManageUser; using WIDESEA_Core.UserManager; using WIDESEA_Core.Utilities; using WIDESEA_Services.Repositories; using WIDESEA_Services.Services; namespace WIDESEA_Services.Controllers { [Route("api/role")] public partial class Sys_RoleController { [HttpPost, Route("getCurrentTreePermission")] [ApiActionPermission(ActionPermissionOptions.Search)] public async Task GetCurrentTreePermission() { return Json(await Service.GetCurrentTreePermission()); } [HttpPost, Route("getUserTreePermission")] [ApiActionPermission(ActionPermissionOptions.Search)] public async Task GetUserTreePermission(int roleId) { return Json(await Service.GetUserTreePermission(roleId)); } [HttpPost, Route("savePermission")] [ApiActionPermission(ActionPermissionOptions.Update)] public async Task SavePermission([FromBody] List userPermissions, int roleId) { return Json(await Service.SavePermission(userPermissions, roleId)); } /// /// 获取当前角色下的所有角色 /// /// [HttpPost, Route("getUserChildRoles")] [ApiActionPermission(ActionPermissionOptions.Search)] public IActionResult GetUserChildRoles() { int roleId = UserContext.Current.RoleId; var data = RoleContext.GetAllChildren(UserContext.Current.RoleId); if (UserContext.Current.IsSuperAdmin) { return Json(WebResponseContent.Instance.OK(null, data)); } //不是超级管理,将自己的角色查出来,在树形菜单上作为根节点 var self = Sys_RoleRepository.Instance.FindAsIQueryable(x => x.Role_Id == roleId) .Select(s => new WIDESEA_Core.UserManager.RoleNodes() { Id = s.Role_Id, ParentId = 0,//将自己的角色作为root节点 RoleName = s.RoleName }).ToList(); data.AddRange(self); return Json(WebResponseContent.Instance.OK(null, data)); } [HttpPost, Route("getCurrentTreePermissionByPda")] public async Task getCurrentTreePermissionByPda() { return Json(await Service.GetCurrentTreePermissionBypda()); } [HttpPost, Route("GetUserTreePermissionByPda")] public async Task GetUserTreePermissionByPda(int roleId) { return Json(await Service.GetUserTreePermissionByPda(roleId)); } } }