From c0a4b045720e83f8e52ffc110b773aeece590b55 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 07 八月 2025 18:26:29 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob

---
 FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs b/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
index 101d979..da5c5a8 100644
--- a/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
+++ b/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
@@ -18,7 +18,7 @@
     public class DictionaryDatasQueryHandler(
             IRepository<DictionaryData> rep
         ) : IRequestHandler<GetDictionaryDatasQuery, PagedListQueryResult<GetDictionaryDatasQueryResultItem>>,
-            IRequestHandler<GetDictionaryDataSelectQuery, List<SelectQueryResultOption<Guid, GetDictionaryDataSelectQueryResultOption>>>
+            IRequestHandler<GetDictionaryDataSelectQuery, List<SelectOption<string, GetDictionaryDataSelectQueryResultOption>>>
     {
         private readonly IRepository<DictionaryData> rep = rep;
 
@@ -46,6 +46,10 @@
                     {
                         throw Oops.Oh(EnumErrorCodeType.s400, "璇峰~鍐欑被鍒獻d鎴栫紪鍙�");
                     }
+                    if (request.ParentId.HasValue)
+                    {
+                        q = q.Where(it => it.ParentId == request.ParentId);
+                    }
                     if (request.Keywords.IsNotNull())
                     {
                         q = q.Where(it =>
@@ -67,18 +71,35 @@
         /// <param name="request"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public Task<List<SelectQueryResultOption<Guid, GetDictionaryDataSelectQueryResultOption>>> Handle(GetDictionaryDataSelectQuery request, CancellationToken cancellationToken)
+        public Task<List<SelectOption<string, GetDictionaryDataSelectQueryResultOption>>> Handle(GetDictionaryDataSelectQuery request, CancellationToken cancellationToken)
         {
-            return request.GetSelect<DictionaryData, Guid, GetDictionaryDataSelectQueryResultOption>(
-                it => it.Id,
+            return request.GetSelect<DictionaryData, string, GetDictionaryDataSelectQueryResultOption>(
+                it => it.Code,
                 it => it.Content,
                 q =>
                 {
                     q = q
                         .OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime)
-                        .Where(it =>
-                            it.ParentId == request.ParentId
-                            && !it.IsDisabled);
+                        .Where(it => !it.IsDisabled);
+                    if (!request.All)
+                    {
+                        q = q.Where(it => it.ParentId == request.ParentId);
+                    }
+                    if (request.MaxDeep.HasValue)
+                    {
+                        q = q.Where(it => it.Deep <= request.MaxDeep);
+                    }
+                    if (request.Keywords.IsNotNull())
+                    {
+                        q = q.Where(it =>
+                            it.Code.Contains(request.Keywords)
+                            || it.Content.Contains(request.Keywords)
+                            || it.Field1.Contains(request.Keywords)
+                            || it.Field2.Contains(request.Keywords)
+                            || it.Field3.Contains(request.Keywords)
+                            || it.Field4.Contains(request.Keywords)
+                            || it.Field5.Contains(request.Keywords));
+                    }
                     if (request.CategoryId.HasValue)
                     {
                         q = q.Where(it => it.CategoryId == request.CategoryId);

--
Gitblit v1.9.1