using Volo.Abp.Domain.Services; using Volo.Abp.Guids; using Yi.Framework.Rbac.Domain.Entities; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.Rbac.Domain.Managers { public class UserManager : DomainService { private readonly ISqlSugarRepository _repository; private readonly ISqlSugarRepository _repositoryUserRole; private readonly ISqlSugarRepository _repositoryUserPost; private readonly IGuidGenerator _guidGenerator; public UserManager(ISqlSugarRepository repository, ISqlSugarRepository repositoryUserRole, ISqlSugarRepository repositoryUserPost, IGuidGenerator guidGenerator) => (_repository, _repositoryUserRole, _repositoryUserPost, _guidGenerator) = (repository, repositoryUserRole, repositoryUserPost, guidGenerator); /// /// 给用户设置角色 /// /// /// /// public async Task GiveUserSetRoleAsync(List userIds, List roleIds) { //删除用户之前所有的用户角色关系(物理删除,没有恢复的必要) await _repositoryUserRole.DeleteAsync(u => userIds.Contains(u.UserId)); if (roleIds is not null) { //遍历用户 foreach (var userId in userIds) { //添加新的关系 List userRoleEntities = new(); foreach (var roleId in roleIds) { userRoleEntities.Add(new UserRoleEntity() { UserId = userId, RoleId = roleId }); } //一次性批量添加 await _repositoryUserRole.InsertRangeAsync(userRoleEntities); } } } /// /// 给用户设置岗位 /// /// /// /// public async Task GiveUserSetPostAsync(List userIds, List postIds) { //删除用户之前所有的用户角色关系(物理删除,没有恢复的必要) await _repositoryUserPost.DeleteAsync(u => userIds.Contains(u.UserId)); if (postIds is not null) { //遍历用户 foreach (var userId in userIds) { //添加新的关系 List userPostEntities = new(); foreach (var post in postIds) { userPostEntities.Add(new UserPostEntity() { UserId = userId, PostId = post }); } //一次性批量添加 await _repositoryUserPost.InsertRangeAsync(userPostEntities); } } } } }