You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
7.5 KiB
233 lines
7.5 KiB
using Microsoft.AspNetCore.Mvc; |
|
using Sanhe.Abp.Identity.Dto; |
|
using System; |
|
using System.Threading.Tasks; |
|
using Volo.Abp; |
|
using Volo.Abp.Application.Dtos; |
|
using Volo.Abp.AspNetCore.Mvc; |
|
using Volo.Abp.Identity; |
|
|
|
namespace Sanhe.Abp.Identity |
|
{ |
|
[RemoteService(Name = IdentityRemoteServiceConsts.RemoteServiceName)] |
|
[Area("identity")] |
|
[ControllerName("organization-units")] |
|
[Route("api/identity/organization-units")] |
|
public class OrganizationUnitController : AbpController, IOrganizationUnitAppService |
|
{ |
|
protected IOrganizationUnitAppService OrganizationUnitAppService { get; } |
|
|
|
public OrganizationUnitController(IOrganizationUnitAppService organizationUnitAppService) |
|
{ |
|
OrganizationUnitAppService = organizationUnitAppService; |
|
} |
|
|
|
/// <summary> |
|
/// 创建组织单位 |
|
/// </summary> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpPost] |
|
public virtual Task<OrganizationUnitDto> CreateAsync(OrganizationUnitCreateDto input) |
|
{ |
|
return OrganizationUnitAppService.CreateAsync(input); |
|
} |
|
|
|
/// <summary> |
|
/// 删除组织单位 |
|
/// </summary> |
|
/// <param name="id">Id</param> |
|
/// <returns></returns> |
|
[HttpDelete] |
|
[Route("{id}")] |
|
public virtual Task DeleteAsync(Guid id) |
|
{ |
|
return OrganizationUnitAppService.DeleteAsync(id); |
|
} |
|
|
|
/// <summary> |
|
/// 查找子单位 |
|
/// </summary> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("find-children")] |
|
public virtual Task<ListResultDto<OrganizationUnitDto>> FindChildrenAsync(OrganizationUnitGetChildrenDto input) |
|
{ |
|
return OrganizationUnitAppService.FindChildrenAsync(input); |
|
} |
|
|
|
/// <summary> |
|
/// 获取组织单位信息 |
|
/// </summary> |
|
/// <param name="id">Id</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}")] |
|
public virtual Task<OrganizationUnitDto> GetAsync(Guid id) |
|
{ |
|
return OrganizationUnitAppService.GetAsync(id); |
|
} |
|
|
|
/// <summary> |
|
/// 获取根组织单位 |
|
/// </summary> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("root-node")] |
|
public virtual Task<ListResultDto<OrganizationUnitDto>> GetRootAsync() |
|
{ |
|
return OrganizationUnitAppService.GetRootAsync(); |
|
} |
|
|
|
/// <summary> |
|
/// 最后一个组织节点 |
|
/// </summary> |
|
/// <param name="parentId">父Id</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("last-children")] |
|
public virtual Task<OrganizationUnitDto> GetLastChildOrNullAsync(Guid? parentId) |
|
{ |
|
return OrganizationUnitAppService.GetLastChildOrNullAsync(parentId); |
|
} |
|
|
|
/// <summary> |
|
/// 获取所有组织单位 |
|
/// </summary> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("all")] |
|
public virtual Task<ListResultDto<OrganizationUnitDto>> GetAllListAsync() |
|
{ |
|
return OrganizationUnitAppService.GetAllListAsync(); |
|
} |
|
|
|
/// <summary> |
|
/// 分页获取 |
|
/// </summary> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
public virtual Task<PagedResultDto<OrganizationUnitDto>> GetListAsync(OrganizationUnitGetByPagedDto input) |
|
{ |
|
return OrganizationUnitAppService.GetListAsync(input); |
|
} |
|
|
|
/// <summary> |
|
/// 获取该组织单位所有角色名称 |
|
/// </summary> |
|
/// <param name="id">Id</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}/role-names")] |
|
public virtual Task<ListResultDto<string>> GetRoleNamesAsync(Guid id) |
|
{ |
|
return OrganizationUnitAppService.GetRoleNamesAsync(id); |
|
} |
|
|
|
/// <summary> |
|
/// 分页获取未添加的角色 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}/unadded-roles")] |
|
public virtual Task<PagedResultDto<IdentityRoleDto>> GetUnaddedRolesAsync(Guid id, OrganizationUnitGetUnaddedRoleByPagedDto input) |
|
{ |
|
return OrganizationUnitAppService.GetUnaddedRolesAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 分页获取组织单位角色 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}/roles")] |
|
public virtual Task<PagedResultDto<IdentityRoleDto>> GetRolesAsync(Guid id, PagedAndSortedResultRequestDto input) |
|
{ |
|
return OrganizationUnitAppService.GetRolesAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 分页获取未添加的用户 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}/unadded-users")] |
|
public virtual Task<PagedResultDto<IdentityUserDto>> GetUnaddedUsersAsync(Guid id, OrganizationUnitGetUnaddedUserByPagedDto input) |
|
{ |
|
return OrganizationUnitAppService.GetUnaddedUsersAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 分页获取组织单位下用户 |
|
/// </summary> |
|
/// <param name="id">Id</param> |
|
/// <param name="input">分页参数</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("{id}/users")] |
|
public virtual Task<PagedResultDto<IdentityUserDto>> GetUsersAsync(Guid id, GetIdentityUsersInput input) |
|
{ |
|
return OrganizationUnitAppService.GetUsersAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 指定组织单位下添加用户 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpPost] |
|
[Route("{id}/users")] |
|
public virtual Task AddUsersAsync(Guid id, OrganizationUnitAddUserDto input) |
|
{ |
|
return OrganizationUnitAppService.AddUsersAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 指定组织单位下添加角色 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpPost] |
|
[Route("{id}/roles")] |
|
public virtual Task AddRolesAsync(Guid id, OrganizationUnitAddRoleDto input) |
|
{ |
|
return OrganizationUnitAppService.AddRolesAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 移动 |
|
/// </summary> |
|
/// <param name="id"></param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpPut] |
|
[Route("{id}/move")] |
|
public virtual Task MoveAsync(Guid id, OrganizationUnitMoveDto input) |
|
{ |
|
return OrganizationUnitAppService.MoveAsync(id, input); |
|
} |
|
|
|
/// <summary> |
|
/// 修改组织单位信息 |
|
/// </summary> |
|
/// <param name="id">Id</param> |
|
/// <param name="input"></param> |
|
/// <returns></returns> |
|
[HttpPut] |
|
[Route("{id}")] |
|
public virtual Task<OrganizationUnitDto> UpdateAsync(Guid id, OrganizationUnitUpdateDto input) |
|
{ |
|
return OrganizationUnitAppService.UpdateAsync(id, input); |
|
} |
|
} |
|
}
|
|
|