using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; using WIDESEA_Core; using WIDESEA_Core.BaseController; using WIDESEA_Core.BaseRepository; using WIDESEA_DTO.System; using WIDESEA_IServices; using WIDESEA_Model.Models; using WIDESEA_Model.Models.System; namespace WIDESEA_WMSServer.Controllers{ [Route("api/Sys_Role")] [ApiController] public class Sys_RoleController : ApiBaseController { private readonly IHttpContextAccessor _httpContextAccessor; public Sys_RoleController(ISys_RoleService service, IHttpContextAccessor httpContextAccessor) : base(service) { _httpContextAccessor = httpContextAccessor; } [HttpPost, Route("getUserChildRoles")] public IActionResult GetUserChildRoles() { int roleId = App.User.RoleId; var data = Service.GetAllChildren(roleId); if (App.User.IsSuperAdmin) { return Json(WebResponseContent.Instance.OK(null, data)); } //不是超级管理,将自己的角色查出来,在树形菜单上作为根节点 var self = data.Where(x => x.Id == roleId) .Select(s => new RoleNodes() { Id = s.Id, ParentId = 0,//将自己的角色作为root节点 RoleName = s.RoleName }).ToList(); data.AddRange(self); return Json(WebResponseContent.Instance.OK(null, data)); } [HttpPost, Route("getCurrentTreePermission")] public IActionResult GetCurrentTreePermission() { return Json(Service.GetCurrentTreePermission()); } [HttpPost, Route("getUserTreePermission")] public IActionResult GetUserTreePermission(int roleId) { return Json(Service.GetUserTreePermission(roleId)); } [HttpPost, Route("savePermission")] public IActionResult SavePermission([FromBody] List userPermissions, int roleId) { return Json(Service.SavePermission(userPermissions, roleId)); } } }