From 7f162ab11684a2afddd2773c476b8df0248c6849 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 01 八月 2025 15:54:32 +0800 Subject: [PATCH] feat:文档开发 --- FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs b/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs index 7a6011d..d2bba62 100644 --- a/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs +++ b/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs @@ -1,14 +1,47 @@ 锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Mapster; using MediatR; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -锛氾細 + namespace FlexJobApi.User.Application { - //public class MenuAllQueryHandler:IRequestHandler<MenuAllQuery, > - //{ - //} + /// <summary> + /// 鏌ヨ鎵�鏈夎彍鍗� + /// </summary> + public class MenuAllQueryHandler : IRequestHandler<MenuAllQuery, MenuAllCallback> + { + private readonly IRepository<Menu> menuRep; + + public MenuAllQueryHandler( + IRepository<Menu> menuRep) + { + this.menuRep = menuRep; + } + + public async Task<MenuAllCallback> Handle(MenuAllQuery request, CancellationToken cancellationToken) + { + var config = new TypeAdapterConfig(); + config.Default.MaxDepth(10); + var callback = new MenuAllCallback(); + callback.Items = await menuRep.AsQueryable() + .Include(it => it.Childrens.Where(c => + c.Type == EnumMenuType.Menu + || c.Type == EnumMenuType.Page + || c.Type == EnumMenuType.Modal)) + .OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime) + .Where(it => + it.Type == EnumMenuType.Menu + || it.Type == EnumMenuType.Page + || it.Type == EnumMenuType.Modal) + .ProjectToType<MenuAllCallbackItem>(config) + .ToListAsync(cancellationToken); + return callback; + } + } } -- Gitblit v1.9.1