using YD_Event.Application.Organization.Dtos; namespace YD_Event.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>(); } }