fix(rbac): 角色菜单树接口增加菜单来源参数

This commit is contained in:
wcg
2026-01-27 18:11:52 +08:00
parent 960d8a309c
commit 9afeb59766
3 changed files with 5 additions and 4 deletions

View File

@@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services;
using Yi.Framework.Ddd.Application.Contracts;
using Yi.Framework.Rbac.Application.Contracts.Dtos.Role;
using Yi.Framework.Rbac.Domain.Shared.Enums;
namespace Yi.Framework.Rbac.Application.Contracts.IServices
{
@@ -15,7 +16,7 @@ namespace Yi.Framework.Rbac.Application.Contracts.IServices
/// </summary>
/// <param name="roleId">角色ID</param>
/// <returns>角色菜单树数据包含已选中的菜单ID和菜单树结构</returns>
Task<ActionResult> GetMenuTreeAsync(Guid roleId);
Task<ActionResult> GetMenuTreeAsync(Guid roleId,MenuSourceEnum menuSource);
/// <summary>
/// 获取角色部门树

View File

@@ -227,12 +227,12 @@ namespace Yi.Framework.Rbac.Application.Services.System
/// </summary>
/// <param name="roleId"></param>
/// <returns></returns>
public async Task<ActionResult> GetMenuTreeAsync(Guid roleId)
public async Task<ActionResult> GetMenuTreeAsync(Guid roleId, MenuSourceEnum menuSource = MenuSourceEnum.Vben5)
{
var checkedKeys = await _menuRepository._DbQueryable
.Where(m => SqlFunc.Subqueryable<RoleMenuEntity>().Where(rm => rm.RoleId == roleId && rm.MenuId == m.Id).Any())
.Select(x => x.Id).ToListAsync();
var menus = await _menuRepository._DbQueryable.ToListAsync();
var menus = await _menuRepository._DbQueryable.Where(x => x.State == true && x.MenuSource == menuSource).ToListAsync();
var menuTrees = menus.TreeDtoBuild();
return new JsonResult(new
{