From a8b475881959d4a88d821951a615f03e7d0d1725 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 07 八月 2025 13:28:30 +0800
Subject: [PATCH] feat:字典优化

---
 FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs |   27 ++++++++-------------------
 1 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs b/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
index 79d4f86..9f28220 100644
--- a/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
+++ b/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
@@ -17,7 +17,7 @@
     public class DictionaryCategoriesQueryHandler(
             IRepository<DictionaryCategory> rep
         ) : IRequestHandler<GetDictionaryCategoriesQuery, PagedListQueryResult<GetDictionaryCategoriesQueryResultItem>>,
-            IRequestHandler<GetDictionaryCategorySelectQuery, List<SelectQueryResultItem<Guid>>>
+            IRequestHandler<GetDictionaryCategorySelectQuery, List<SelectOption<Guid, GetDictionaryCategorySelectQueryOption>>>
     {
         private readonly IRepository<DictionaryCategory> rep = rep;
 
@@ -29,10 +29,9 @@
         /// <returns></returns>
         public Task<PagedListQueryResult<GetDictionaryCategoriesQueryResultItem>> Handle(GetDictionaryCategoriesQuery request, CancellationToken cancellationToken)
         {
-            return request.PageModel.ToPagedListAsync<DictionaryCategory, GetDictionaryCategoriesQueryResultItem>(
+            return request.PageModel.GetPagedListAsync<DictionaryCategory, GetDictionaryCategoriesQueryResultItem>(
                 q =>
                 {
-                    q = q.OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime);
                     if (request.Keywords.IsNotNull())
                     {
                         q = q.Where(it =>
@@ -50,23 +49,13 @@
         /// <param name="request"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public Task<List<SelectQueryResultItem<Guid>>> Handle(GetDictionaryCategorySelectQuery request, CancellationToken cancellationToken)
+        public Task<List<SelectOption<Guid, GetDictionaryCategorySelectQueryOption>>> Handle(GetDictionaryCategorySelectQuery request, CancellationToken cancellationToken)
         {
-            var items = rep.AsQueryable().AsNoTracking()
-                .Select(it => new SelectQueryResultItem<Guid>
-                {
-                    Value = it.Id,
-                    Label = it.Name,
-                    Data = new
-                    {
-                        it.Id,
-                        it.Name,
-                        it.Remark,
-                        it.FieldNames
-                    }
-                })
-                .ToListAsync(cancellationToken);
-            return items;
+            return request.GetSelect<DictionaryCategory, Guid, GetDictionaryCategorySelectQueryOption>(
+                it => it.Id,
+                it => it.Name,
+                null,
+                cancellationToken);
         }
     }
 }

--
Gitblit v1.9.1