using Easy.Admin.Application.Organization.Dtos;
namespace Easy.Admin.Application.Organization;
///
/// 组织机构管理
///
public class SysOrganizationService : BaseService
{
private readonly ISqlSugarRepository _orgSqlSugarRepository;
public SysOrganizationService(ISqlSugarRepository orgSqlSugarRepository) : base(orgSqlSugarRepository)
{
_orgSqlSugarRepository = orgSqlSugarRepository;
}
///
/// 组织机构列表查询
///
///
///
[Description("组织机构列表查询")]
[HttpGet]
public async Task> Page([FromQuery] string name)
{
if (!string.IsNullOrWhiteSpace(name))
{
var list = await _orgSqlSugarRepository.AsQueryable().Where(x => x.Name.Contains(name)).ToListAsync();
return list.Adapt>();
}
var tree = await _orgSqlSugarRepository.AsQueryable().OrderBy(x => x.Sort)
.OrderBy(x => x.Id)
.WithCache()
.ToTreeAsync(x => x.Children, x => x.ParentId, null);
return tree.Adapt>();
}
///
/// 添加组织机构
///
///
[Description("添加组织机构")]
[HttpPost("add")]
public async Task AddOrg(AddOrgInput dto)
{
var organization = dto.Adapt();
await _orgSqlSugarRepository.InsertAsync(organization);
}
///
/// 更新组织机构
///
///
///
[Description("更新组织机构")]
[HttpPut("edit")]
public async Task UpdateOrg(UpdateOrgInput dto)
{
var organization = await _orgSqlSugarRepository.GetByIdAsync(dto.Id);
if (organization == null)
{
throw Oops.Bah("无效参数");
}
dto.Adapt(organization);
await _orgSqlSugarRepository.UpdateAsync(organization);
}
///
/// 获取机构下拉选项
///
///
[Description("获取机构下拉选项")]
[HttpGet]
public async Task> TreeSelect()
{
var list = await _orgSqlSugarRepository.AsQueryable().WithCache().ToTreeAsync(x => x.Children, x => x.ParentId, null);
return list.Adapt>();
}
}