From 53ee0a68605433db362abae3ed1af03fd23a7832 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 08 八月 2025 15:57:33 +0800 Subject: [PATCH] pref:优化 --- FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 50cd830..b925ea7 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -16,13 +16,15 @@ /// 浠诲姟鏌ヨ澶勭悊鍣� /// </summary> public class TaskInfoQueryHandler( - IRepository<TaskInfo> rep + IRepository<TaskInfo> rep, + IRepository<DictionaryData> repDictionaryData ) : IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>, IRequestHandler<GetTaskInfosQuery, PagedListQueryResult<GetTaskInfosQueryResultItem>> { private readonly IRepository<TaskInfo> rep = rep; + private readonly IRepository<DictionaryData> repDictionaryData = repDictionaryData; /// <summary> /// 鏌ヨ浠诲姟璇︽儏 @@ -55,9 +57,13 @@ { q = q.Where(it => it.Name.Contains(request.Keywords)); } - if (request.Time.HasValue) + if (request.EnterpriseId.HasValue) { - q = q.Where(it => it.BeginTime <= request.Time && request.Time <= it.EndTime); + q = q.Where(it => it.EnterpriseId == request.EnterpriseId); + } + if (request.BeginTime.HasValue && request.EndTime.HasValue) + { + q = q.Where(it => request.BeginTime <= it.BeginTime && it.BeginTime <= request.EndTime); } if (request.CityCode.IsNotNull()) { @@ -88,7 +94,6 @@ q = q.Where(it => it.RecommendStatus == request.RecommendStatus); } var s = from t in q - join tu in rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() on t.Id equals tu.TaskInfoId into tug select new GetTaskInfosQueryResultItem { Id = t.Id, @@ -97,12 +102,34 @@ BillingMethod = t.BillingMethod, ServiceFee = t.ServiceFee, SettlementCycle = t.SettlementCycle, + Benefits = t.Benefits.Select(it => new GetTaskInfoQueryResultBenefit + { + BenefitCode = it.BenefitCode, + BenefitContent = it.Benefit.Content + }).ToList(), GenderLimit = t.GenderLimit, - UserCount = tug.Count(), + CredentialLimits = t.CredentialLimits.Select(it => new GetTaskInfoQueryResultCredentialLimit + { + TypeCode = it.TypeCode, + TypeContent = it.Type.Content + }).ToList(), + ProvinceCode = t.ProvinceCode, + ProvinceContent = t.Province.Content, + CityCode = t.CityCode, + CityContent = t.City.Content, + AddressName = t.AddressName, + AddressDetail = t.AddressDetail, + Latitude = t.Latitude, + Longitude = t.Longitude, + UserCount = t.Users.Count(), Status = t.Status, BeginTime = t.BeginTime, EndTime = t.EndTime, - ReleaseStatus = t.ReleaseStatus + ReleaseStatus = t.ReleaseStatus, + CheckReceiveStatus = t.CheckReceiveStatus, + CreatedTime = t.CreatedTime, + RecommendStatus = t.RecommendStatus, + SettlementStatus = t.SettlementStatus }; return request.PageModel.GetPagedListAsync(s, cancellationToken); } -- Gitblit v1.9.1