From 421b883ad4a46a680c9312101febcf190bc5f128 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 12 八月 2025 15:38:09 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs | 2 FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalApplyTaskInfosQuery.cs | 98 ++++++++ FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml | 26 ++ FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs | 2 FlexJobApi.Core/FlexJobApi.Core.xml | 217 +++++++++++++++++ FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs | 11 FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 167 +++++++++++++ FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalCancelTaskInfosQuery.cs | 76 ++++++ FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalHireTaskInfosQuery.cs | 98 ++++++++ 9 files changed, 663 insertions(+), 34 deletions(-) diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 58aab16..0adb0c2 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -3763,6 +3763,211 @@ 鍙戝竷鐘舵�� </summary> </member> + <member name="T:FlexJobApi.Core.GetPersonalApplyTaskInfosQuery"> + <summary> + 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResult"> + <summary> + 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem"> + <summary> + 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.Name"> + <summary> + 浠诲姟鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.BeginTime"> + <summary> + 浠诲姟寮�濮嬫椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.EndTime"> + <summary> + 浠诲姟缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.BillingMethod"> + <summary> + 缁撶畻鍛ㄦ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.ServiceFee"> + <summary> + 鏈嶅姟璐� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.SettlementCycle"> + <summary> + 缁撶畻鏂瑰紡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.Benefits"> + <summary> + 绂忓埄 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryResultItem.Status"> + <summary> + 鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryStatus"> + <summary> + 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryStatus.WaitHire"> + <summary> + 寰呯‘璁� + </summary> + </member> + <member name="F:FlexJobApi.Core.GetPersonalApplyTaskInfosQueryStatus.WaitSignContract"> + <summary> + 寰呯绾� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalCancelTaskInfosQuery"> + <summary> + 鎴戠殑宸插彇娑堝垎椤靛垪琛� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResult"> + <summary> + 鎴戠殑宸插彇娑堝垎椤靛垪琛�-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem"> + <summary> + 鎴戠殑宸插彇娑堝垎椤靛垪琛�-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.Name"> + <summary> + 浠诲姟鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.BeginTime"> + <summary> + 浠诲姟寮�濮嬫椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.EndTime"> + <summary> + 浠诲姟缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.BillingMethod"> + <summary> + 缁撶畻鍛ㄦ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.ServiceFee"> + <summary> + 鏈嶅姟璐� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.SettlementCycle"> + <summary> + 缁撶畻鏂瑰紡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalCancelTaskInfosQueryResultItem.Benefits"> + <summary> + 绂忓埄 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalHireTaskInfosQuery"> + <summary> + 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResult"> + <summary> + 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem"> + <summary> + 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.Name"> + <summary> + 浠诲姟鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.BeginTime"> + <summary> + 浠诲姟寮�濮嬫椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.EndTime"> + <summary> + 浠诲姟缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.BillingMethod"> + <summary> + 缁撶畻鍛ㄦ湡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.ServiceFee"> + <summary> + 鏈嶅姟璐� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.SettlementCycle"> + <summary> + 缁撶畻鏂瑰紡 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.Benefits"> + <summary> + 绂忓埄 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalHireTaskInfosQueryResultItem.Status"> + <summary> + 鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalHireTaskInfosQueryStatus"> + <summary> + 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.GetPersonalHireTaskInfosQueryStatus.InProcess"> + <summary> + 杩涜涓� + </summary> + </member> + <member name="F:FlexJobApi.Core.GetPersonalHireTaskInfosQueryStatus.Completed"> + <summary> + 宸插畬鎴� + </summary> + </member> <member name="T:FlexJobApi.Core.GetTaskInfoQuery"> <summary> 鏌ヨ浠诲姟璇︽儏 @@ -4028,11 +4233,6 @@ 楠屾敹鐘舵�� </summary> </member> - <member name="P:FlexJobApi.Core.GetTaskInfosQuery.HireStatus"> - <summary> - 褰曠敤鐘舵�� - </summary> - </member> <member name="P:FlexJobApi.Core.GetTaskInfosQueryResult.ObjectData"> <summary> 缁熻 @@ -4193,11 +4393,6 @@ 鍒涘缓鏃堕棿 </summary> </member> - <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.HireStatus"> - <summary> - 褰曠敤鐘舵�� - </summary> - </member> <member name="T:FlexJobApi.Core.TaskInfoRepository"> <summary> 浠诲姟浠撳簱 @@ -4254,7 +4449,7 @@ </member> <member name="T:FlexJobApi.Core.GetTaskUsersQuery"> <summary> - 鏌ヨ搴旇仒鎶ュ悕鍒嗛〉鍒楄〃淇℃伅 + B绔煡璇㈠簲鑱樻姤鍚嶅垎椤靛垪琛ㄤ俊鎭� </summary> </member> <member name="P:FlexJobApi.Core.GetTaskUsersQuery.Id"> diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs index 2eb5796..82ad399 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs @@ -9,7 +9,7 @@ namespace FlexJobApi.Core { /// <summary> - /// 鏌ヨ搴旇仒鎶ュ悕鍒嗛〉鍒楄〃淇℃伅 + /// B绔煡璇㈠簲鑱樻姤鍚嶅垎椤靛垪琛ㄤ俊鎭� /// </summary> [Resource([EnumResourceController.TaskUser])] public class GetTaskUsersQuery : PagedListQuery<GetTaskUsersQueryResult, GetTaskUsersQueryResultItem> diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalApplyTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalApplyTaskInfosQuery.cs new file mode 100644 index 0000000..7325d1f --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalApplyTaskInfosQuery.cs @@ -0,0 +1,98 @@ +锘縰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.Task])] + public class GetPersonalApplyTaskInfosQuery : PagedListQuery<GetPersonalApplyTaskInfosQueryResult, GetPersonalApplyTaskInfosQueryResultItem> + { + public GetPersonalApplyTaskInfosQueryStatus? Status { get; set; } + } + + /// <summary> + /// 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-缁撴灉 + /// </summary> + public class GetPersonalApplyTaskInfosQueryResult : PagedListQueryResult<GetPersonalApplyTaskInfosQueryResultItem> + { + + } + + /// <summary> + /// 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-缁撴灉-椤� + /// </summary> + public class GetPersonalApplyTaskInfosQueryResultItem + { + public GetPersonalApplyTaskInfosQueryResultItem() + { + Benefits = []; + } + + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 浠诲姟鍚嶇О + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 浠诲姟寮�濮嬫椂闂� + /// </summary> + public DateTime BeginTime { get; set; } + + /// <summary> + /// 浠诲姟缁撴潫鏃堕棿 + /// </summary> + public DateTime EndTime { get; set; } + + /// <summary> + /// 缁撶畻鍛ㄦ湡 + /// </summary> + public EnumBillingMethod BillingMethod { get; set; } + + /// <summary> + /// 鏈嶅姟璐� + /// </summary> + public decimal ServiceFee { get; set; } + + /// <summary> + /// 缁撶畻鏂瑰紡 + /// </summary> + public EnumSettlementCycle SettlementCycle { get; set; } + + /// <summary> + /// 绂忓埄 + /// </summary> + public List<GetTaskInfoQueryResultBenefit> Benefits { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public GetPersonalApplyTaskInfosQueryStatus Status { get; set; } + } + + + /// <summary> + /// 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-鐘舵�� + /// </summary> + public enum GetPersonalApplyTaskInfosQueryStatus + { + /// <summary> + /// 寰呯‘璁� + /// </summary> + WaitHire = 10, + /// <summary> + /// 寰呯绾� + /// </summary> + WaitSignContract = 20 + } +} diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalCancelTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalCancelTaskInfosQuery.cs new file mode 100644 index 0000000..9010c2a --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalCancelTaskInfosQuery.cs @@ -0,0 +1,76 @@ +锘縰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.Task])] + public class GetPersonalCancelTaskInfosQuery : PagedListQuery<GetPersonalCancelTaskInfosQueryResult, GetPersonalCancelTaskInfosQueryResultItem> + { + } + + /// <summary> + /// 鎴戠殑宸插彇娑堝垎椤靛垪琛�-缁撴灉 + /// </summary> + public class GetPersonalCancelTaskInfosQueryResult : PagedListQueryResult<GetPersonalCancelTaskInfosQueryResultItem> + { + + } + + /// <summary> + /// 鎴戠殑宸插彇娑堝垎椤靛垪琛�-缁撴灉-椤� + /// </summary> + public class GetPersonalCancelTaskInfosQueryResultItem + { + public GetPersonalCancelTaskInfosQueryResultItem() + { + Benefits = []; + } + + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 浠诲姟鍚嶇О + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 浠诲姟寮�濮嬫椂闂� + /// </summary> + public DateTime BeginTime { get; set; } + + /// <summary> + /// 浠诲姟缁撴潫鏃堕棿 + /// </summary> + public DateTime EndTime { get; set; } + + /// <summary> + /// 缁撶畻鍛ㄦ湡 + /// </summary> + public EnumBillingMethod BillingMethod { get; set; } + + /// <summary> + /// 鏈嶅姟璐� + /// </summary> + public decimal ServiceFee { get; set; } + + /// <summary> + /// 缁撶畻鏂瑰紡 + /// </summary> + public EnumSettlementCycle SettlementCycle { get; set; } + + /// <summary> + /// 绂忓埄 + /// </summary> + public List<GetTaskInfoQueryResultBenefit> Benefits { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalHireTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalHireTaskInfosQuery.cs new file mode 100644 index 0000000..88766a6 --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetPersonalHireTaskInfosQuery.cs @@ -0,0 +1,98 @@ +锘縰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.Task])] + public class GetPersonalHireTaskInfosQuery : PagedListQuery<GetPersonalHireTaskInfosQueryResult, GetPersonalHireTaskInfosQueryResultItem> + { + public GetPersonalHireTaskInfosQueryStatus? Status { get; set; } + } + + /// <summary> + /// 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-缁撴灉 + /// </summary> + public class GetPersonalHireTaskInfosQueryResult : PagedListQueryResult<GetPersonalHireTaskInfosQueryResultItem> + { + + } + + /// <summary> + /// 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-缁撴灉-椤� + /// </summary> + public class GetPersonalHireTaskInfosQueryResultItem + { + public GetPersonalHireTaskInfosQueryResultItem() + { + Benefits = []; + } + + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 浠诲姟鍚嶇О + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 浠诲姟寮�濮嬫椂闂� + /// </summary> + public DateTime BeginTime { get; set; } + + /// <summary> + /// 浠诲姟缁撴潫鏃堕棿 + /// </summary> + public DateTime EndTime { get; set; } + + /// <summary> + /// 缁撶畻鍛ㄦ湡 + /// </summary> + public EnumBillingMethod BillingMethod { get; set; } + + /// <summary> + /// 鏈嶅姟璐� + /// </summary> + public decimal ServiceFee { get; set; } + + /// <summary> + /// 缁撶畻鏂瑰紡 + /// </summary> + public EnumSettlementCycle SettlementCycle { get; set; } + + /// <summary> + /// 绂忓埄 + /// </summary> + public List<GetTaskInfoQueryResultBenefit> Benefits { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public GetPersonalHireTaskInfosQueryStatus Status { get; set; } + } + + + /// <summary> + /// 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-鐘舵�� + /// </summary> + public enum GetPersonalHireTaskInfosQueryStatus + { + /// <summary> + /// 杩涜涓� + /// </summary> + InProcess = 10, + /// <summary> + /// 宸插畬鎴� + /// </summary> + Completed = 20 + } +} diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs index 80a6fef..d64ade0 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs @@ -16,7 +16,6 @@ public GetTaskInfosQuery() { BenefitCodes = []; - HireStatus = []; } /// <summary> @@ -78,11 +77,6 @@ /// 楠屾敹鐘舵�� /// </summary> public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } - - /// <summary> - /// 褰曠敤鐘舵�� - /// </summary> - public List<EnumTaskUserHireStatus> HireStatus { get; set; } } public class GetTaskInfosQueryResult : PagedListQueryResult<GetTaskInfosQueryResultItem> @@ -251,10 +245,5 @@ /// 鍒涘缓鏃堕棿 /// </summary> public DateTimeOffset CreatedTime { get; set; } - - /// <summary> - /// 褰曠敤鐘舵�� - /// </summary> - public EnumTaskUserHireStatus? HireStatus { get; set; } } } diff --git a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml index 4f91ad4..798c5c7 100644 --- a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml +++ b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml @@ -73,6 +73,30 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetPersonalApplyTaskInfosQuery,System.Threading.CancellationToken)"> + <summary> + 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetPersonalHireTaskInfosQuery,System.Threading.CancellationToken)"> + <summary> + 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛� + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetPersonalCancelTaskInfosQuery,System.Threading.CancellationToken)"> + <summary> + 鎴戠殑宸插彇娑堝垎椤靛垪琛� + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.FlexJobServer.Application.ApplyTaskCommandHandler"> <summary> 鎶ュ悕浠诲姟 @@ -129,7 +153,7 @@ </member> <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserQueryHandler.Handle(FlexJobApi.Core.GetTaskUsersQuery,System.Threading.CancellationToken)"> <summary> - 鏌ヨ搴旇仒鎶ュ悕鍒嗛〉鍒楄〃淇℃伅 + B绔煡璇㈠簲鑱樻姤鍚嶅垎椤靛垪琛ㄤ俊鎭� </summary> <param name="request"></param> <param name="cancellationToken"></param> diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs index 98fb711..7c14240 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs @@ -20,7 +20,7 @@ private readonly IRepository<TaskInfoUser> rep = rep; /// <summary> - /// 鏌ヨ搴旇仒鎶ュ悕鍒嗛〉鍒楄〃淇℃伅 + /// B绔煡璇㈠簲鑱樻姤鍚嶅垎椤靛垪琛ㄤ俊鎭� /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 11634cb..f2c155d 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -20,7 +20,10 @@ IRepository<DictionaryData> repDictionaryData ) : IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>, - IRequestHandler<GetTaskInfosQuery, GetTaskInfosQueryResult> + IRequestHandler<GetTaskInfosQuery, GetTaskInfosQueryResult>, + IRequestHandler<GetPersonalApplyTaskInfosQuery, GetPersonalApplyTaskInfosQueryResult>, + IRequestHandler<GetPersonalHireTaskInfosQuery, GetPersonalHireTaskInfosQueryResult>, + IRequestHandler<GetPersonalCancelTaskInfosQuery, GetPersonalCancelTaskInfosQueryResult> { private readonly IRepository<TaskInfo> rep = rep; @@ -94,10 +97,6 @@ { q = q.Where(it => it.GenderLimit == request.GenderLimit); } - if (request.HireStatus.IsNotNull() && logier.Type == EnumUserType.Personal) - { - q = q.Where(it => it.TaskInfoUsers.Any(u => request.HireStatus.Contains(u.EnterpriseEmployee.HireStatus))); - } var count = new GetTaskInfosQueryResultObjectData { @@ -159,14 +158,164 @@ CheckReceiveStatus = t.CheckReceiveStatus, CreatedTime = t.CreatedTime, RecommendStatus = t.RecommendStatus, - SettlementStatus = t.SettlementStatus, - HireStatus = logier != null - ? t.TaskInfoUsers.Where(it => it.EnterpriseEmployee.UserId == logier.Id).Select(u => u.EnterpriseEmployee.HireStatus).FirstOrDefault() - : null + SettlementStatus = t.SettlementStatus }; var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); result.ObjectData = count; return result; } + + /// <summary> + /// 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetPersonalApplyTaskInfosQueryResult> Handle(GetPersonalApplyTaskInfosQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = TaskInfoRepository.GetQueryable(rep, true, logier); + if (request.Status.HasValue) + { + switch (request.Status.Value) + { + case GetPersonalApplyTaskInfosQueryStatus.WaitHire: + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait)); + break; + case GetPersonalApplyTaskInfosQueryStatus.WaitSignContract: + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait)); + break; + default: + break; + } + } + else + { + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait + || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait))); + } + var s = q.Select(it => new GetPersonalApplyTaskInfosQueryResultItem + { + Id = it.Id, + Name = it.Name, + BeginTime = it.BeginTime, + EndTime = it.EndTime, + BillingMethod = it.BillingMethod, + ServiceFee = it.ServiceFee, + SettlementCycle = it.SettlementCycle, + Benefits = it.Benefits.Select(it => new GetTaskInfoQueryResultBenefit + { + BenefitCode = it.BenefitCode, + BenefitContent = it.Benefit.Content + }).ToList(), + Status = it.TaskInfoUsers.Any(it => + it.EnterpriseEmployee.UserId == logier.Id + && it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait) + ? GetPersonalApplyTaskInfosQueryStatus.WaitHire + : GetPersonalApplyTaskInfosQueryStatus.WaitSignContract + }); + return await request.PageModel.GetPagedListAsync<GetPersonalApplyTaskInfosQueryResult, GetPersonalApplyTaskInfosQueryResultItem>(s, cancellationToken); + } + + /// <summary> + /// 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetPersonalHireTaskInfosQueryResult> Handle(GetPersonalHireTaskInfosQuery request, CancellationToken cancellationToken) + { + var now = DateTime.Now; + var logier = JwtUtils.GetCurrentLogier(); + var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass + && tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete)); + if (request.Status.HasValue) + { + switch (request.Status.Value) + { + case GetPersonalHireTaskInfosQueryStatus.InProcess: + q = q.Where(it => now <= it.EndTime); + break; + case GetPersonalHireTaskInfosQueryStatus.Completed: + q = q.Where(it => it.EndTime < now); + break; + default: + break; + } + } + else + { + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait + || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait))); + } + var s = q.Select(it => new GetPersonalHireTaskInfosQueryResultItem + { + Id = it.Id, + Name = it.Name, + BeginTime = it.BeginTime, + EndTime = it.EndTime, + BillingMethod = it.BillingMethod, + ServiceFee = it.ServiceFee, + SettlementCycle = it.SettlementCycle, + Benefits = it.Benefits.Select(it => new GetTaskInfoQueryResultBenefit + { + BenefitCode = it.BenefitCode, + BenefitContent = it.Benefit.Content + }).ToList(), + Status = now <= it.EndTime + ? GetPersonalHireTaskInfosQueryStatus.InProcess + : GetPersonalHireTaskInfosQueryStatus.Completed + }); + return await request.PageModel.GetPagedListAsync<GetPersonalHireTaskInfosQueryResult, GetPersonalHireTaskInfosQueryResultItem>(s, cancellationToken); + } + + /// <summary> + /// 鎴戠殑宸插彇娑堝垎椤靛垪琛� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetPersonalCancelTaskInfosQueryResult> Handle(GetPersonalCancelTaskInfosQuery request, CancellationToken cancellationToken) + { + var now = DateTime.Now; + var logier = JwtUtils.GetCurrentLogier(); + var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it => + it.TaskInfoUsers.Any(tu => + tu.EnterpriseEmployee.UserId == logier.Id + && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Refuse + || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse + || tu.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Refuse))); + var s = q.Select(it => new GetPersonalCancelTaskInfosQueryResultItem + { + Id = it.Id, + Name = it.Name, + BeginTime = it.BeginTime, + EndTime = it.EndTime, + BillingMethod = it.BillingMethod, + ServiceFee = it.ServiceFee, + SettlementCycle = it.SettlementCycle, + Benefits = it.Benefits.Select(it => new GetTaskInfoQueryResultBenefit + { + BenefitCode = it.BenefitCode, + BenefitContent = it.Benefit.Content + }).ToList(), + }); + return await request.PageModel.GetPagedListAsync<GetPersonalCancelTaskInfosQueryResult, GetPersonalCancelTaskInfosQueryResultItem>(s, cancellationToken); + } } } -- Gitblit v1.9.1