// Admin.NET 项目的版æƒã€å•†æ ‡ã€ä¸“利和其他相关æƒåˆ©å‡å—ç›¸åº”æ³•å¾‹æ³•è§„çš„ä¿æŠ¤ã€‚ä½¿ç”¨æœ¬é¡¹ç›®åº”éµå®ˆç›¸å…³æ³•律法规和许å¯è¯çš„è¦æ±‚。 // // 本项目主è¦éµå¾ª MIT 许å¯è¯å’Œ Apache 许å¯è¯ï¼ˆç‰ˆæœ¬ 2.0)进行分å‘和使用。许å¯è¯ä½äºŽæºä»£ç æ ‘æ ¹ç›®å½•ä¸çš„ LICENSE-MIT å’Œ LICENSE-APACHE 文件。 // // ä¸å¾—利用本项目从事å±å®³å›½å®¶å®‰å…¨ã€æ‰°ä¹±ç¤¾ä¼šç§©åºã€ä¾µçŠ¯ä»–äººåˆæ³•æƒç›Šç‰æ³•å¾‹æ³•è§„ç¦æ¢çš„æ´»åЍï¼ä»»ä½•基于本项目二次开å‘è€Œäº§ç”Ÿçš„ä¸€åˆ‡æ³•å¾‹çº çº·å’Œè´£ä»»ï¼Œæˆ‘ä»¬ä¸æ‰¿æ‹…ä»»ä½•è´£ä»»ï¼ namespace Admin.NET.Core.Service; /// <summary> /// ç”¨æˆ·åŸŸè´¦å·æœåŠ¡ /// </summary> public class SysUserLdapService : ITransient { private readonly SqlSugarRepository<SysUserLdap> _sysUserLdapRep; public SysUserLdapService(SqlSugarRepository<SysUserLdap> sysUserLdapRep) { _sysUserLdapRep = sysUserLdapRep; } /// <summary> /// æ‰¹é‡æ’å…¥åŸŸè´¦å· /// </summary> /// <param name="tenantId"></param> /// <param name="sysUserLdaps"></param> /// <returns></returns> public async Task InsertUserLdaps(long tenantId, List<SysUserLdap> sysUserLdaps) { await _sysUserLdapRep.DeleteAsync(u => u.TenantId == tenantId); await _sysUserLdapRep.InsertRangeAsync(sysUserLdaps); await _sysUserLdapRep.AsUpdateable() .InnerJoin<SysUser>((l, u) => l.EmployeeId == u.Account && u.Status == StatusEnum.Enable && u.IsDelete == false && l.IsDelete == false) .SetColumns((l, u) => new SysUserLdap { UserId = u.Id }) .ExecuteCommandAsync(); } /// <summary> /// å¢žåŠ åŸŸè´¦å· /// </summary> /// <param name="tenantId"></param> /// <param name="userId"></param> /// <param name="account"></param> /// <param name="domainAccount"></param> /// <returns></returns> public async Task AddUserLdap(long tenantId, long userId, string account, string domainAccount) { var userLdap = await _sysUserLdapRep.GetFirstAsync(u => u.TenantId == tenantId && u.IsDelete == false && (u.Account == account || u.UserId == userId || u.EmployeeId == domainAccount)); if (userLdap != null) await _sysUserLdapRep.DeleteByIdAsync(userLdap.Id); if (!string.IsNullOrWhiteSpace(domainAccount)) await _sysUserLdapRep.InsertAsync(new SysUserLdap { EmployeeId = account, TenantId = tenantId, UserId = userId, Account = domainAccount }); } /// <summary> /// åˆ é™¤åŸŸè´¦å· /// </summary> /// <param name="userId"></param> /// <returns></returns> public async Task DeleteUserLdapByUserId(long userId) { await _sysUserLdapRep.DeleteAsync(u => u.UserId == userId); } }