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