| 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<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)); | 
|     } | 
| } | 
| } |