using System.Collections.Generic; using System.Threading.Tasks; using ZhonTai.Admin.Core.Consts; using ZhonTai.Admin.Core.Db.Transaction; using ZhonTai.Admin.Core.Repositories; using ZhonTai.Admin.Domain; using ZhonTai.Admin.Domain.Org; namespace ZhonTai.Admin.Repositories; public class OrgRepository : RepositoryBase, IOrgRepository { private readonly IRepositoryBase _userOrgRepository; public OrgRepository(UnitOfWorkManagerCloud uowm, IRepositoryBase userOrgRepository) : base(DbKeys.AdminDb, uowm) { _userOrgRepository = userOrgRepository; } /// /// 获得本部门和下级部门Id /// /// /// public async Task> GetChildIdListAsync(long id) { return await Select .Where(a => a.Id == id) .AsTreeCte() .ToListAsync(a => a.Id); } /// /// 本部门下是否有员工 /// /// /// public async Task HasUser(long id) { return await _userOrgRepository.Select.Where(a => a.OrgId == id).AnyAsync(); } /// /// 部门列表下是否有员工 /// /// /// public async Task HasUser(List idList) { return await _userOrgRepository.Select.Where(a => idList.Contains(a.OrgId)).AnyAsync(); } }