| using Microsoft.AspNetCore.Http; | 
| using Microsoft.AspNetCore.Mvc; | 
| using Microsoft.AspNetCore.Routing; | 
| using WIDESEA_DTO.System; | 
| using WIDESEAWCS_Core; | 
| using WIDESEAWCS_Core.BaseController; | 
| using WIDESEAWCS_Core.BaseRepository; | 
| using WIDESEAWCS_ISystemServices; | 
| using WIDESEAWCS_Model.Models; | 
| using WIDESEAWCS_Model.Models.System; | 
|   | 
| namespace WIDESEAWCS_WCSServer.Controllers.System | 
| { | 
|     [Route("api/Sys_Role")] | 
|     [ApiController] | 
|     public class Sys_RoleController : ApiBaseController<ISys_RoleService, Sys_Role> | 
|     { | 
|         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<UserPermissionDTO> userPermissions, int roleId) | 
|         { | 
|             return Json(Service.SavePermission(userPermissions, roleId)); | 
|         } | 
|     } | 
| } |