using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Routing;
using WIDESEA_DTO.System;
using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_Core.BaseRepository;
using WIDESEA_ISystemService;
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("getCurrentTreePermissionPDA")]
public IActionResult GetCurrentTreePermissionPDA()
{
return Json(Service.GetCurrentTreePermissionPDA());
}
[HttpPost, Route("getUserTreePermissionPDA")]
public IActionResult GetUserTreePermissionPDA(int roleId)
{
return Json(Service.GetUserTreePermissionPDA(roleId));
}
[HttpPost, Route("savePermission")]
public IActionResult SavePermission([FromBody] List userPermissions, int roleId)
{
return Json(Service.SavePermission(userPermissions, roleId));
}
[HttpPost, Route("SavePermissionPDA")]
public IActionResult SavePermissionPDA([FromBody] List userPermissions, int roleId)
{
return Json(Service.SavePermissionPDA(userPermissions, roleId));
}
}
}