Browse Source

修改 获取菜单 原有方法逻辑没什么问题 但是无法获取 暂时解决

集成Redis
郑勃旭 2 years ago
parent
commit
1c4f0fc98b
  1. 30
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs
  2. 5
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj
  3. 2
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql

30
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs

@ -66,20 +66,22 @@ public class UserMenuAppService :
[HttpGet("web-menu/{userId}")] [HttpGet("web-menu/{userId}")]
public virtual async Task<List<MenuDto>> GetWebMenusOfUserAsync(Guid? userId) public virtual async Task<List<MenuDto>> GetWebMenusOfUserAsync(Guid? userId)
{ {
//var permissions = await GetPermissionsAsync(userId.Value).ConfigureAwait(false);
var permissions = await GetPermissionsAsync(userId.Value).ConfigureAwait(false); //var menus = await _menuRepository
// .GetListAsync(p => (permissions.Contains(p.Permission) || p.Permission == "skip")
// && p.Portal == WEB_PORTAL
// && p.Status == MenuStatus.Enable).ConfigureAwait(false);
//var dtos = ObjectMapper.Map<List<Menu>, List<MenuDto>>(menus);
var userMenus = await _repository
.GetListAsync(p => p.UserId == userId);
userMenus = userMenus.Where(p => (int)p.Portal == (int)EnumPortal.Web).ToList();
var menus = await _menuRepository var menuCodes = userMenus.Select(p => p.MenuCode).Distinct().ToList();
.GetListAsync(p => (permissions.Contains(p.Permission) || p.Permission == "skip") var menus = await GetListByPortalAndCodesAsync(WEB_PORTAL, menuCodes);
&& p.Portal == WEB_PORTAL
&& p.Status == MenuStatus.Enable).ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Menu>, List<MenuDto>>(menus);
// var userMenus = await _repository
// .GetListAsync(p => p.UserId == userId && p.Portal == WEB_PORTAL);
// var menuCodes = userMenus.Select(p => p.MenuCode).Distinct().ToList();
// var menus = await GetListByPortalAndCodesAsync(WEB_PORTAL, menuCodes);
var result = BuildMenuTree(dtos); var result = BuildMenuTree(menus);
return result; return result;
} }
@ -135,9 +137,9 @@ public class UserMenuAppService :
private async Task<List<MenuDto>> GetListByPortalAndCodesAsync(EnumPortal portal, List<string> menuCodes) private async Task<List<MenuDto>> GetListByPortalAndCodesAsync(EnumPortal portal, List<string> menuCodes)
{ {
var entities = await _menuRepository var entities = await _menuRepository
.GetListAsync(p => menuCodes.Contains(p.Code) .GetListAsync(p => menuCodes.Contains(p.Code));
&& p.Portal == portal
&& p.Status == MenuStatus.Enable).ConfigureAwait(false); entities = entities.Where(p => p.Status == MenuStatus.Enable && p.Portal == EnumPortal.Web).ToList();
return ObjectMapper.Map<List<Menu>, List<MenuDto>>(entities); return ObjectMapper.Map<List<Menu>, List<MenuDto>>(entities);
} }

5
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj

@ -16,6 +16,7 @@
<IncrementVersionOnBuild>1.yyyy.Mdd.Hmm</IncrementVersionOnBuild> <IncrementVersionOnBuild>1.yyyy.Mdd.Hmm</IncrementVersionOnBuild>
<Version>1.2023.327.1207</Version> <Version>1.2023.327.1207</Version>
<GenerateDocumentationFile>True</GenerateDocumentationFile> <GenerateDocumentationFile>True</GenerateDocumentationFile>
<PackageOutputPath />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@ -56,9 +57,9 @@
</Content> </Content>
</ItemGroup> </ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent"> <!--<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="if $(ConfigurationName) == Release (powershell Compress-Archive -Path '$(TargetDir)Win_in*.dll','$(TargetDir)Win_in*.pdb' -DestinationPath '$(SolutionDir)Output\AuthHost.zip' -Force)" /> <Exec Command="if $(ConfigurationName) == Release (powershell Compress-Archive -Path '$(TargetDir)Win_in*.dll','$(TargetDir)Win_in*.pdb' -DestinationPath '$(SolutionDir)Output\AuthHost.zip' -Force)" />
</Target> </Target>-->
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions> <ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>

2
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql

@ -233,7 +233,7 @@ CREATE TABLE [Auth_Menu] (
[Portal] nvarchar(64) NOT NULL, [Portal] nvarchar(64) NOT NULL,
[ParentCode] nvarchar(64) NULL, [ParentCode] nvarchar(64) NULL,
[Permission] nvarchar(64) NULL, [Permission] nvarchar(64) NULL,
[Component] nvarchar(64) NULL, [Component] nvarchar(1024) NULL,
[GroupName] nvarchar(1024) NULL, [GroupName] nvarchar(1024) NULL,
[GroupSort] int NOT NULL, [GroupSort] int NOT NULL,
[CountUrl] nvarchar(max) NULL, [CountUrl] nvarchar(max) NULL,

Loading…
Cancel
Save