From 637bff638903af269e199434df720290dc357c12 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 05 九月 2025 11:23:46 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskSelectQuery.cs | 40 ++++++++++++++++++++ FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs | 4 ++ FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 32 ++++++++++++++- 3 files changed, 73 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskSelectQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskSelectQuery.cs new file mode 100644 index 0000000..0b9eb3e --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskSelectQuery.cs @@ -0,0 +1,40 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏌ヨ浠诲姟閫夋嫨鍣ㄦ暟鎹� + /// </summary> + [Resource([EnumResourceController.FlexJobServerTask])] + public class GetTaskSelectQuery : SelectQuery<Guid, GetTaskSelectQueryOption> + { + /// <summary> + /// 鍏抽敭瀛� + /// </summary> + public string Keywords { get; set; } + } + + + public class GetTaskSelectQueryOption + { + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 浠诲姟鍚嶇О + /// </summary> + public string Name { get; set; } + } +} diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs index e9e64e6..18796b0 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs @@ -249,6 +249,10 @@ { errors.Add("鏈畬鎴愰獙鏀�"); } + else if (item.Name != model.Name) + { + errors.Add("鐏靛伐濮撳悕涓庡疄鍚嶄俊鎭笉涓�鑷�"); + } else { item.SettlementAmount = model.SettlementAmount; diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index a89172a..e237a65 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -26,7 +26,8 @@ IRequestHandler<GetPersonalHireTaskInfosQuery, GetPersonalHireTaskInfosQueryResult>, IRequestHandler<GetPersonalCancelTaskInfosQuery, GetPersonalCancelTaskInfosQueryResult>, IRequestHandler<GetSettlementTasksQuery, GetSettlementTasksQueryResult>, - IRequestHandler<GetSettlementTaskQuery, GetSettlementTaskQueryResult> + IRequestHandler<GetSettlementTaskQuery, GetSettlementTaskQueryResult>, + IRequestHandler<GetTaskSelectQuery, List<SelectOption<Guid, GetTaskSelectQueryOption>>> { private readonly IRepository<TaskInfo> rep = rep; @@ -409,8 +410,8 @@ q = q.Where(it => it.SettlementStatus == request.SettlementStatus); } var s = q - .Select(it=>new GetSettlementTasksQueryResultItem - { + .Select(it => new GetSettlementTasksQueryResultItem + { Id = it.Id, Name = it.Name, Code = it.Code, @@ -441,5 +442,30 @@ .GetDetail<TaskInfo, GetSettlementTaskQueryResult>(); return model; } + + /// <summary> + /// 鏌ヨ浠诲姟閫夋嫨鍣ㄦ暟鎹� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<SelectOption<Guid, GetTaskSelectQueryOption>>> Handle(GetTaskSelectQuery request, CancellationToken cancellationToken) + { + return await request.GetSelect<TaskInfo, Guid, GetTaskSelectQueryOption>( + it => it.Id, + it => it.Name, + q => + { + q = TaskInfoRepository.GetQueryable(rep, true); + if (request.Keywords.IsNotNull()) + { + q = q.Where(it => + it.Code.Contains(request.Keywords) + || it.Name.Contains(request.Keywords)); + } + return q; + }, + cancellationToken); + } } } -- Gitblit v1.9.1