From 4eb03794f7b0f315c2f4ae8d84e12b7c3ca9a407 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 01 八月 2025 15:03:00 +0800
Subject: [PATCH] feat:文档修改

---
 FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs b/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs
index 7ce7492..28eb804 100644
--- a/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs
+++ b/FlexJobApi.User.Application/Menus/Queries/MenuAllQueryHandler.cs
@@ -1,5 +1,8 @@
 锘縰sing FlexJobApi.Core;
+using Furion.DatabaseAccessor;
+using Mapster;
 using MediatR;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -8,7 +11,35 @@
 
 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 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>()
+              .ToListAsync(cancellationToken);
+            return callback;
+        }
+    }
 }

--
Gitblit v1.9.1