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