From d4f337f31e614fa3ed90d6a0fad10831b4e91a49 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 13 八月 2025 10:16:27 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs | 4 FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs | 8 FlexJobApi.Core/Utils/PasswordUtils/PasswordUtils.cs | 26 ++ FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs | 184 ++++++++++++++ FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs | 37 ++ FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml | 34 ++ FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs | 86 ------ FlexJobApi.Core/FlexJobApi.Core.xml | 298 +++++++++++++++------- FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs | 4 FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 2 FlexJobApi.Core/Enums/Common/EnumResourceController.cs | 5 FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs | 70 +++++ 12 files changed, 553 insertions(+), 205 deletions(-) diff --git a/FlexJobApi.Core/Enums/Common/EnumResourceController.cs b/FlexJobApi.Core/Enums/Common/EnumResourceController.cs index 36b279c..5e24f9e 100644 --- a/FlexJobApi.Core/Enums/Common/EnumResourceController.cs +++ b/FlexJobApi.Core/Enums/Common/EnumResourceController.cs @@ -26,6 +26,11 @@ /// </summary> [ResourceController(Service = EnumResourceService.FlexJobServer)] TaskUser, + /// <summary> + /// 浠诲姟楠屾敹 + /// </summary> + [ResourceController(Service = EnumResourceService.FlexJobServer)] + TaskCheckReceive, /// <summary> /// 鐢ㄦ埛璁よ瘉 diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs index bc3fc8b..45bf85c 100644 --- a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs @@ -14,11 +14,11 @@ /// <summary> /// 寰呮彁浜� /// </summary> - Submit = 10, + WaitSubmit = 10, /// <summary> /// 寰呴獙鏀� /// </summary> - Wait = 20, + WaitCheckReceive = 20, /// <summary> /// 楠屾敹閫氳繃 /// </summary> diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 545b6af..c37d4f9 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -2362,6 +2362,11 @@ 浠诲姟浜哄憳 </summary> </member> + <member name="F:FlexJobApi.Core.EnumResourceController.TaskCheckReceive"> + <summary> + 浠诲姟楠屾敹 + </summary> + </member> <member name="F:FlexJobApi.Core.EnumResourceController.Auth"> <summary> 鐢ㄦ埛璁よ瘉 @@ -2762,12 +2767,12 @@ 浠诲姟楠屾敹鐘舵�� </summary> </member> - <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Submit"> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit"> <summary> 寰呮彁浜� </summary> </member> - <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Wait"> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive"> <summary> 寰呴獙鏀� </summary> @@ -3716,6 +3721,182 @@ <member name="P:FlexJobApi.Core.SaveScheduleJobDetailCommand.Cron"> <summary> Cron琛ㄨ揪寮� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQuery"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.DateBegin"> + <summary> + 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.DateEnd"> + <summary> + 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQuery.CheckReceiveStatus"> + <summary> + 楠屾敹鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResult"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.Name"> + <summary> + 浠诲姟鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.BeginTime"> + <summary> + 浠诲姟寮�濮嬫椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.EndTime"> + <summary> + 浠诲姟缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskQueryResultItem.AddressName"> + <summary> + 浠诲姟鍦扮偣鍚嶇О + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQuery"> + <summary> + 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.TaskInfoId"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.Keywords"> + <summary> + 鍏抽敭瀛� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.DateBegin"> + <summary> + 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.DateEnd"> + <summary> + 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQuery.CheckReceiveStatus"> + <summary> + 楠屾敹鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResult"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.TaskName"> + <summary> + 浠诲姟鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.BeginTime"> + <summary> + 浠诲姟寮�濮嬫椂闂� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.EndTime"> + <summary> + 浠诲姟缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.AddressName"> + <summary> + 浠诲姟鍦扮偣鍚嶇О + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Name"> + <summary> + 濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Identity"> + <summary> + 韬唤璇佸彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Gender"> + <summary> + 鎬у埆 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.Age"> + <summary> + 骞撮緞 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.ContactPhoneNumber"> + <summary> + 鎵嬫満鍙� + </summary> + <remarks>鑱旂郴鐢佃瘽</remarks> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.LastSubmitTime"> + <summary> + 鎻愪氦鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserQueryResultItem.CheckReceiveStatus"> + <summary> + 楠屾敹鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQuery"> + <summary> + 鏌ヨ楠屾敹璇︽儏 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQuery.Id"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResult"> + <summary> + 鏌ヨ楠屾敹璇︽儏-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserSubmitsQueryResultItem"> + <summary> + 鏌ヨ楠屾敹璇︽儏-缁撴灉 </summary> </member> <member name="T:FlexJobApi.Core.DeleteTaskInfoCommand"> @@ -4716,107 +4897,6 @@ <member name="P:FlexJobApi.Core.GetArrangeTaskUsersQueryResultItem.ArrangeStatus"> <summary> 瀹夋帓鐘舵�� - </summary> - </member> - <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery"> - <summary> - 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.TaskInfoId"> - <summary> - 浠诲姟Id - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.Keywords"> - <summary> - 鍏抽敭瀛� - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateBegin"> - <summary> - 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.DateEnd"> - <summary> - 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery.CheckReceiveStatus"> - <summary> - 楠屾敹鐘舵�� - </summary> - </member> - <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResult"> - <summary> - 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉 - </summary> - </member> - <member name="T:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem"> - <summary> - 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Id"> - <summary> - 浠诲姟Id - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.TaskName"> - <summary> - 浠诲姟鍚嶇О - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.BeginTime"> - <summary> - 浠诲姟寮�濮嬫椂闂� - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.EndTime"> - <summary> - 浠诲姟缁撴潫鏃堕棿 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.AddressName"> - <summary> - 浠诲姟鍦扮偣鍚嶇О - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Name"> - <summary> - 濮撳悕 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Identity"> - <summary> - 韬唤璇佸彿 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Gender"> - <summary> - 鎬у埆 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.Age"> - <summary> - 骞撮緞 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.ContactPhoneNumber"> - <summary> - 鎵嬫満鍙� - </summary> - <remarks>鑱旂郴鐢佃瘽</remarks> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.LastSubmitTime"> - <summary> - 鎻愪氦鏃堕棿 - </summary> - </member> - <member name="P:FlexJobApi.Core.GetCheckReceiveTaskUserInfosQueryResultItem.CheckReceiveStatus"> - <summary> - 楠屾敹鐘舵�� </summary> </member> <member name="T:FlexJobApi.Core.GetTaskUsersQuery"> @@ -8514,6 +8594,18 @@ </summary> <returns></returns> </member> + <member name="T:FlexJobApi.Core.PasswordUtils"> + <summary> + 瀵嗙爜宸ュ叿 + </summary> + </member> + <member name="M:FlexJobApi.Core.PasswordUtils.EncryptPassword(System.String)"> + <summary> + 鍔犲瘑 + </summary> + <param name="password"></param> + <returns></returns> + </member> <member name="P:FlexJobApi.Core.TokenDataModel.AccessToken"> <summary> 鐢ㄦ埛璁块棶浠ょ墝 diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs new file mode 100644 index 0000000..d2295ff --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskQuery.cs @@ -0,0 +1,70 @@ +锘縰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.TaskCheckReceive])] + public class GetCheckReceiveTaskQuery : PagedListQuery<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem> + { + /// <summary> + /// 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� + /// </summary> + public DateTime? DateBegin { get; set; } + + /// <summary> + /// 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� + /// </summary> + public DateTime? DateEnd { get; set; } + + /// <summary> + /// 楠屾敹鐘舵�� + /// </summary> + public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } + } + + /// <summary> + /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉 + /// </summary> + public class GetCheckReceiveTaskQueryResult : PagedListQueryResult<GetCheckReceiveTaskQueryResultItem> + { + + } + + /// <summary> + /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� + /// </summary> + public class GetCheckReceiveTaskQueryResultItem + { + /// <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 string AddressName { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs similarity index 86% rename from FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs rename to FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs index 27e61b5..da99b43 100644 --- a/FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetCheckReceiveTaskUserInfosQuery.cs +++ b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserQuery.cs @@ -10,8 +10,8 @@ /// <summary> /// 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 /// </summary> - [Resource([EnumResourceController.TaskUser])] - public class GetCheckReceiveTaskUserInfosQuery : PagedListQuery<GetCheckReceiveTaskUserInfosQueryResult, GetCheckReceiveTaskUserInfosQueryResultItem> + [Resource([EnumResourceController.TaskCheckReceive])] + public class GetCheckReceiveTaskUserQuery : PagedListQuery<GetCheckReceiveTaskUserQueryResult, GetCheckReceiveTaskUserQueryResultItem> { /// <summary> /// 浠诲姟Id @@ -42,7 +42,7 @@ /// <summary> /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉 /// </summary> - public class GetCheckReceiveTaskUserInfosQueryResult : PagedListQueryResult<GetCheckReceiveTaskUserInfosQueryResultItem> + public class GetCheckReceiveTaskUserQueryResult : PagedListQueryResult<GetCheckReceiveTaskUserQueryResultItem> { } @@ -50,7 +50,7 @@ /// <summary> /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� /// </summary> - public class GetCheckReceiveTaskUserInfosQueryResultItem + public class GetCheckReceiveTaskUserQueryResultItem { /// <summary> /// 浠诲姟Id diff --git a/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs new file mode 100644 index 0000000..f817fed --- /dev/null +++ b/FlexJobApi.Core/Models/FlexJobServer/TaskCheckReceive/Queries/GetCheckReceiveTaskUserSubmitsQuery.cs @@ -0,0 +1,37 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏌ヨ楠屾敹璇︽儏 + /// </summary> + [Resource([EnumResourceController.TaskCheckReceive])] + public class GetCheckReceiveTaskUserSubmitsQuery : PagedListQuery<GetCheckReceiveTaskUserSubmitsQueryResult, GetCheckReceiveTaskUserSubmitsQueryResultItem> + { + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid Id { get; set; } + } + + /// <summary> + /// 鏌ヨ楠屾敹璇︽儏-缁撴灉 + /// </summary> + public class GetCheckReceiveTaskUserSubmitsQueryResult : PagedListQueryResult<GetCheckReceiveTaskUserSubmitsQueryResultItem> + { + + } + + /// <summary> + /// 鏌ヨ楠屾敹璇︽儏-缁撴灉 + /// </summary> + public class GetCheckReceiveTaskUserSubmitsQueryResultItem + { + + } +} diff --git a/FlexJobApi.Core/Utils/PasswordUtils/PasswordUtils.cs b/FlexJobApi.Core/Utils/PasswordUtils/PasswordUtils.cs new file mode 100644 index 0000000..9dc0fb9 --- /dev/null +++ b/FlexJobApi.Core/Utils/PasswordUtils/PasswordUtils.cs @@ -0,0 +1,26 @@ +锘縰sing Azure.Core; +using Furion.DataEncryption; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 瀵嗙爜宸ュ叿 + /// </summary> + public static class PasswordUtils + { + /// <summary> + /// 鍔犲瘑 + /// </summary> + /// <param name="password"></param> + /// <returns></returns> + public static string EncryptPassword(this string password) + { + return PBKDF2Encryption.Encrypt(MD5Encryption.Encrypt(password)); + } + } +} diff --git a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml index 9580770..6e657d7 100644 --- a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml +++ b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml @@ -4,6 +4,32 @@ <name>FlexJobApi.FlexJobServer.Application</name> </assembly> <members> + <member name="T:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler"> + <summary> + 浠诲姟浜哄憳鏌ヨ澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfoUser})"> + <summary> + 浠诲姟浜哄憳鏌ヨ澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskQuery,System.Threading.CancellationToken)"> + <summary> + 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserSubmitQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskUserQuery,System.Threading.CancellationToken)"> + <summary> + 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler"> <summary> 浠诲姟鍛戒护澶勭悊鍣� @@ -170,14 +196,6 @@ <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserQueryHandler.Handle(FlexJobApi.Core.GetArrangeTaskUsersQuery,System.Threading.CancellationToken)"> <summary> B绔煡璇汉鍛樺畨鎺掑垎椤靛垪琛ㄤ俊鎭� - </summary> - <param name="request"></param> - <param name="cancellationToken"></param> - <returns></returns> - </member> - <member name="M:FlexJobApi.FlexJobServer.Application.TaskUserQueryHandler.Handle(FlexJobApi.Core.GetCheckReceiveTaskUserInfosQuery,System.Threading.CancellationToken)"> - <summary> - 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 </summary> <param name="request"></param> <param name="cancellationToken"></param> diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs new file mode 100644 index 0000000..81323ed --- /dev/null +++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs @@ -0,0 +1,184 @@ +锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using MediatR; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.FlexJobServer.Application +{ + /// <summary> + /// 浠诲姟浜哄憳鏌ヨ澶勭悊鍣� + /// </summary> + public class TaskUserSubmitQueryHandler( + IRepository<TaskInfo> repTaskInfo, + IRepository<TaskInfoUser> repTaskInfoUser) : + IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>, + IRequestHandler<GetCheckReceiveTaskUserQuery, GetCheckReceiveTaskUserQueryResult> + { + private readonly IRepository<TaskInfo> repTaskInfo = repTaskInfo; + private readonly IRepository<TaskInfoUser> repTaskInfoUser = repTaskInfoUser; + + /// <summary> + /// 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetCheckReceiveTaskQueryResult> Handle(GetCheckReceiveTaskQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = repTaskInfo.AsQueryable().AsNoTracking() + .OrderBy(it => it.CreatedTime) + .AsQueryable(); + + if (logier.Type == EnumUserType.Personal) + { + q = q.Where(it => it.TaskInfoUsers.Any(tu => tu.EnterpriseEmployee.UserId == logier.Id)); + } + else if (logier.Type == EnumUserType.Enterprise) + { + q = q.Where(it => it.EnterpriseId == logier.EnterpriseId); + } + if (logier.ClientType == EnumClientType.Wxmp) + { + if (request.CheckReceiveStatus == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨楠屾敹鐘舵��"); + } + if (request.DateBegin == null || request.DateEnd == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡"); + } + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date + && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit + : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive + : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success + || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))))); + } + else + { + if (request.DateBegin.HasValue && request.DateEnd.HasValue) + { + q = q.Where(it => + it.TaskInfoUsers.Any(tu => + tu.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date))); + } + if (request.CheckReceiveStatus.HasValue) + { + q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); + } + } + var s = q.ProjectToType<GetCheckReceiveTaskQueryResultItem>(); + return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>(s, cancellationToken); + } + + /// <summary> + /// 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetCheckReceiveTaskUserQueryResult> Handle(GetCheckReceiveTaskUserQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = repTaskInfoUser.AsQueryable().AsNoTracking() + .OrderBy(it => it.CreatedTime) + .AsQueryable(); + + if (logier.Type == EnumUserType.Personal) + { + q = q.Where(it => it.EnterpriseEmployee.UserId == logier.Id); + } + else if (logier.Type == EnumUserType.Enterprise) + { + q = q.Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId); + } + if (request.TaskInfoId.HasValue) + { + q = q.Where(it => it.TaskInfoId == request.TaskInfoId); + } + if (request.Keywords.IsNotNull()) + { + q = q.Where(it => + it.EnterpriseEmployee.User.Name.Contains(request.Keywords) + || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords) + || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords)); + } + if (logier.ClientType == EnumClientType.Wxmp) + { + if (request.CheckReceiveStatus == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨楠屾敹鐘舵��"); + } + if (request.DateBegin == null || request.DateEnd == null) + { + throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡"); + } + q = q.Where(it => it.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date + && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit + : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive + ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive + : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success + || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))); + } + else + { + if (request.DateBegin.HasValue && request.DateEnd.HasValue) + { + q = q.Where(it => it.Submits.Any(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date)); + } + if (request.CheckReceiveStatus.HasValue) + { + q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); + } + } + var s = q.Select(it => new GetCheckReceiveTaskUserQueryResultItem + { + Id = it.TaskInfoId, + TaskName = it.TaskInfo.Name, + BeginTime = it.TaskInfo.BeginTime, + EndTime = it.TaskInfo.EndTime, + AddressName = it.TaskInfo.AddressName, + Name = it.EnterpriseEmployee.User.Name, + Identity = it.EnterpriseEmployee.User.Identity, + Age = it.EnterpriseEmployee.User.Age, + Gender = it.EnterpriseEmployee.User.Gender, + ContactPhoneNumber = it.EnterpriseEmployee.User.ContactPhoneNumber, + CheckReceiveStatus = logier.ClientType == EnumClientType.Wxmp && request.DateBegin.HasValue && request.DateEnd.HasValue + ? it.Submits + .Where(s => + request.DateBegin.Value.Date <= s.Date.Date + && s.Date.Date <= request.DateEnd.Value.Date) + .Select(s => + s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit + ? EnumTaskCheckReceiveStatus.WaitSubmit + : s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive + ? EnumTaskCheckReceiveStatus.WaitCheckReceive + : EnumTaskCheckReceiveStatus.Completed) + .FirstOrDefault() + : it.CheckReceiveStatus, + LastSubmitTime = it.LastSubmitTime, + }); + return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserQueryResult, GetCheckReceiveTaskUserQueryResultItem>(s, cancellationToken); + } + } +} diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs index e970789..5da9734 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs @@ -17,8 +17,7 @@ public class TaskUserQueryHandler( IRepository<TaskInfoUser> rep) : IRequestHandler<GetTaskUsersQuery, GetTaskUsersQueryResult>, - IRequestHandler<GetArrangeTaskUsersQuery, GetArrangeTaskUsersQueryResult>, - IRequestHandler<GetCheckReceiveTaskUserInfosQuery, GetCheckReceiveTaskUserInfosQueryResult> + IRequestHandler<GetArrangeTaskUsersQuery, GetArrangeTaskUsersQueryResult> { private readonly IRepository<TaskInfoUser> rep = rep; @@ -119,89 +118,6 @@ ArrangeStatus = it.ArrangeStatus }); return await request.PageModel.GetPagedListAsync<GetArrangeTaskUsersQueryResult, GetArrangeTaskUsersQueryResultItem>(s, cancellationToken); - } - - /// <summary> - /// 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 - /// </summary> - /// <param name="request"></param> - /// <param name="cancellationToken"></param> - /// <returns></returns> - public async Task<GetCheckReceiveTaskUserInfosQueryResult> Handle(GetCheckReceiveTaskUserInfosQuery request, CancellationToken cancellationToken) - { - var logier = JwtUtils.GetCurrentLogier(); - var q = rep.AsQueryable().AsNoTracking() - .OrderBy(it => it.CreatedTime) - .AsQueryable(); - - if (logier.Type == EnumUserType.Personal) - { - q = q.Where(it => it.EnterpriseEmployee.UserId == logier.Id); - } - else if (logier.Type == EnumUserType.Enterprise) - { - q = q.Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId); - } - if (request.TaskInfoId.HasValue) - { - q = q.Where(it => it.TaskInfoId == request.TaskInfoId); - } - if (request.Keywords.IsNotNull()) - { - q = q.Where(it => - it.EnterpriseEmployee.User.Name.Contains(request.Keywords) - || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords) - || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords)); - } - if (logier.ClientType == EnumClientType.Wxmp) - { - if (request.CheckReceiveStatus == null) - { - throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨楠屾敹鐘舵��"); - } - if (request.DateBegin == null || request.DateEnd == null) - { - throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨鏃ユ湡"); - } - q = q.Where(it => it.Submits.Any(s => - request.DateBegin.Value.Date <= s.Date.Date - && s.Date.Date <= request.DateEnd.Value.Date - && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit - ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Submit - : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive - ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Wait - : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success - || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))); - } - else - { - if (request.DateBegin.HasValue && request.DateEnd.HasValue) - { - q = q.Where(it => it.Submits.Any(s => - request.DateBegin.Value.Date <= s.Date.Date - && s.Date.Date <= request.DateEnd.Value.Date)); - } - if (request.CheckReceiveStatus.HasValue) - { - q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); - } - } - var s = q.Select(it => new GetCheckReceiveTaskUserInfosQueryResultItem - { - Id = it.TaskInfoId, - TaskName = it.TaskInfo.Name, - BeginTime = it.TaskInfo.BeginTime, - EndTime = it.TaskInfo.EndTime, - AddressName = it.TaskInfo.AddressName, - Name = it.EnterpriseEmployee.User.Name, - Identity = it.EnterpriseEmployee.User.Identity, - Age = it.EnterpriseEmployee.User.Age, - Gender = it.EnterpriseEmployee.User.Gender, - ContactPhoneNumber = it.EnterpriseEmployee.User.ContactPhoneNumber, - CheckReceiveStatus = it.CheckReceiveStatus, - LastSubmitTime = it.LastSubmitTime, - }); - return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserInfosQueryResult, GetCheckReceiveTaskUserInfosQueryResultItem>(s, cancellationToken); } } } diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs index e9f5eff..5354794 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -73,7 +73,7 @@ if (model.HireButton == GetTaskInfoQueryResultHireButton.InProcess && model.BeginTime <= now) { var submit = await rep.Change<TaskInfoUserSubmit>().AsQueryable().AsNoTracking() - .AnyAsync(it => it.TaskInfoUserId == taskUser.Id && it.CheckReceiveStatus >= EnumTaskUserSubmitCheckReceiveStatus.Wait); + .AnyAsync(it => it.TaskInfoUserId == taskUser.Id && it.CheckReceiveStatus >= EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive); if (!submit) { model.HireButton = GetTaskInfoQueryResultHireButton.ApplyCheckReceive; diff --git a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs index ca8469b..a0df0fc 100644 --- a/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs @@ -64,7 +64,7 @@ Name = request.Contacts, PhoneNumber = request.ContactPhoneNumber, UserName = request.UserName, - Password = PBKDF2Encryption.Encrypt(request.Password), + Password = request.Password.EncryptPassword(), Level = 100, Status = EnumUserStatus.Normal, }; @@ -77,7 +77,7 @@ user.PhoneNumber = request.ContactPhoneNumber; if (request.Password.IsNotNull()) { - user.Password = PBKDF2Encryption.Encrypt(request.Password); + user.Password = request.Password.EncryptPassword(); } await repUser.UpdateAsync(user); } -- Gitblit v1.9.1