From 313c5cbe5c63fa07f78fa24d8cc33b75435a266f Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 07 八月 2025 17:00:40 +0800 Subject: [PATCH] feat:字典优化 --- FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs b/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs index 101d979..7e064f7 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<Guid, 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,7 +71,7 @@ /// <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<Guid, GetDictionaryDataSelectQueryResultOption>>> Handle(GetDictionaryDataSelectQuery request, CancellationToken cancellationToken) { return request.GetSelect<DictionaryData, Guid, GetDictionaryDataSelectQueryResultOption>( it => it.Id, @@ -76,9 +80,26 @@ { 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.CategoryCode == "70" || request.CategoryId == new Guid("B21FE000-BB7F-4498-08E9-08DDD572EF73")) + { + q = q.Where(it => it.Deep <= 3); + } + 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