完善角色菜单分配管理
This commit is contained in:
@@ -9,14 +9,18 @@ namespace Yi.Framework.Service
|
||||
{
|
||||
public partial class RoleService
|
||||
{
|
||||
private IRepository<RoleMenuEntity> _repositoryRoleMenu;
|
||||
public RoleService(IRepository<RoleEntity> repository, IRepository<RoleMenuEntity> repositoryRoleMenu) : base(repository)
|
||||
{
|
||||
_repository = repository;
|
||||
_repositoryRoleMenu = repositoryRoleMenu;
|
||||
}
|
||||
public async Task<List<RoleEntity>> DbTest()
|
||||
{
|
||||
return await _repository._Db.Queryable<RoleEntity>().ToListAsync();
|
||||
}
|
||||
public async Task<bool> GiveRoleSetMenu(List<long> roleIds, List<long> menuIds)
|
||||
{
|
||||
var _repositoryRoleMenu = _repository.ChangeRepository<Repository<RoleMenuEntity>>();
|
||||
|
||||
//多次操作,需要事务确保原子性
|
||||
return await _repositoryRoleMenu.UseTranAsync(async () =>
|
||||
{
|
||||
@@ -35,12 +39,17 @@ namespace Yi.Framework.Service
|
||||
}
|
||||
|
||||
//一次性批量添加
|
||||
await _repositoryRoleMenu.InsertRangeAsync(roleMenuEntity);
|
||||
await _repositoryRoleMenu.InsertReturnSnowflakeIdAsync(roleMenuEntity);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
public async Task<RoleEntity> GetInMenuByRoleId(long roleId)
|
||||
{
|
||||
return await _repository._Db.Queryable<RoleEntity>().Includes(u => u.Menus).InSingleAsync(roleId);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Yi.Framework.Service
|
||||
}
|
||||
|
||||
//一次性批量添加
|
||||
await _repositoryUserRole.InsertRangeAsync(userRoleEntities);
|
||||
await _repositoryUserRole.InsertReturnSnowflakeIdAsync(userRoleEntities);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user