using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Mvc;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using WIDESEA_Core.Controllers.Basic;
|
using WIDESEA_Core.Enums;
|
using WIDESEA_Core.Filters;
|
using WIDESEA_Core.ManageUser;
|
using WIDESEA_Core.UserManager;
|
using WIDESEA_Core.Utilities;
|
using WIDESEA_Entity.AttributeManager;
|
using WIDESEA_Entity.DomainModels;
|
using WIDESEA_Services.IServices;
|
using WIDESEA_Services.Repositories;
|
using WIDESEA_Services.Services;
|
|
namespace WIDESEA_Services.Controllers
|
{
|
[Route("api/role")]
|
public partial class Sys_RoleController
|
{
|
[HttpPost, Route("getCurrentTreePermission")]
|
[ApiActionPermission(ActionPermissionOptions.Search)]
|
public async Task<IActionResult> GetCurrentTreePermission()
|
{
|
return Json(await Service.GetCurrentTreePermission());
|
}
|
|
[HttpPost, Route("getUserTreePermission")]
|
[ApiActionPermission(ActionPermissionOptions.Search)]
|
public async Task<IActionResult> GetUserTreePermission(int roleId)
|
{
|
return Json(await Service.GetUserTreePermission(roleId));
|
}
|
|
[HttpPost, Route("savePermission")]
|
[ApiActionPermission(ActionPermissionOptions.Update)]
|
public async Task<IActionResult> SavePermission([FromBody] List<UserPermissions> userPermissions, int roleId)
|
{
|
return Json(await Service.SavePermission(userPermissions, roleId));
|
}
|
|
/// <summary>
|
/// 获取当前角色下的所有角色
|
/// </summary>
|
/// <returns></returns>
|
|
[HttpPost, Route("getUserChildRoles")]
|
[ApiActionPermission(ActionPermissionOptions.Search)]
|
public IActionResult GetUserChildRoles()
|
{
|
int roleId = UserContext.Current.RoleId;
|
var data = RoleContext.GetAllChildren(UserContext.Current.RoleId);
|
|
if (UserContext.Current.IsSuperAdmin)
|
{
|
return Json(WebResponseContent.Instance.OK(null, data));
|
}
|
//不是超级管理,将自己的角色查出来,在树形菜单上作为根节点
|
var self = Sys_RoleRepository.Instance.FindAsIQueryable(x => x.Role_Id == roleId)
|
.Select(s => new WIDESEA_Core.UserManager.RoleNodes()
|
{
|
Id = s.Role_Id,
|
ParentId = 0,//将自己的角色作为root节点
|
RoleName = s.RoleName
|
}).ToList();
|
data.AddRange(self);
|
return Json(WebResponseContent.Instance.OK(null, data));
|
}
|
}
|
}
|