From 59833ddbf47ed028462e1b089b46bf7c6f7518e3 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 05 八月 2025 18:31:38 +0800 Subject: [PATCH] feat:字典开发 --- FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs b/FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs index cfa4f72..0d0b8ca 100644 --- a/FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs +++ b/FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.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; @@ -11,11 +14,32 @@ /// <summary> /// 鑾峰彇瀛楀吀鏁版嵁鍒嗛〉鍒楄〃 /// </summary> - public class GetDictionaryDatasQueryHandler : IRequestHandler<GetDictionaryDatasQuery, GetDictionaryDatasQueryResult> + public class GetDictionaryDatasQueryHandler( + IRepository<DictionaryData> rep + ) : IRequestHandler<GetDictionaryDatasQuery, PagedListQueryResult<GetDictionaryDatasQueryResultItem>> { - public Task<GetDictionaryDatasQueryResult> Handle(GetDictionaryDatasQuery request, CancellationToken cancellationToken) + private readonly IRepository<DictionaryData> rep = rep; + + public async Task<PagedListQueryResult<GetDictionaryDatasQueryResultItem>> Handle(GetDictionaryDatasQuery request, CancellationToken cancellationToken) { - throw new NotImplementedException(); + var q = rep.AsQueryable().AsNoTracking() + .OrderBy(it => it.Sort).ThenByDescending(it => it.CreatedTime) + .Where(it => it.CategoryId == request.CategoryId); + 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)); + } + var result = await q + .ProjectToType<GetDictionaryDatasQueryResultItem>() + .ToPagedListAsync(request.PageModel, cancellationToken); + return result; } } } -- Gitblit v1.9.1