From 234b9a97eabe4fc6ebd52204ffdd575023a1736f Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 12 八月 2025 09:42:41 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Core/Enums/Tasks/EnumTaskUserArrangeStatus.cs                                 |   23 ++
 FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs                             |   33 +++
 FlexJobApi.Core/Entities/UserServer/Users/User.cs                                        |    5 
 FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumesQuery.cs             |   49 +++++
 FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs        |    7 
 FlexJobApi.CommonServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs  |   94 ++++++-----
 FlexJobApi.Core/FlexJobApi.Core.xml                                                      |  157 ++++++++++++++++++
 FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs |    2 
 FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetAreaSelectQuery.cs           |   10 +
 FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs               |    2 
 FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs          |    5 
 FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumeQuery.cs              |   51 ++++++
 12 files changed, 376 insertions(+), 62 deletions(-)

diff --git a/FlexJobApi.CommonServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs b/FlexJobApi.CommonServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
index 5443518..7320af0 100644
--- a/FlexJobApi.CommonServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
+++ b/FlexJobApi.CommonServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
@@ -4,11 +4,13 @@
 using Mapster;
 using MediatR;
 using Microsoft.EntityFrameworkCore;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
 namespace FlexJobApi.CommonServer.Application
 {
@@ -74,55 +76,57 @@
         /// <returns></returns>
         public async Task<List<SelectOption<string, GetDictionaryDataSelectQueryResultOption>>> Handle(GetDictionaryDataSelectQuery request, CancellationToken cancellationToken)
         {
-            var models = await request.GetSelect<DictionaryData, string, GetDictionaryDataSelectQueryResultOption>(
-                it => it.Code,
-                it => it.Content,
-                q =>
-                {
-                    q = q
-                        .OrderBy(it => it.Sort)
-                        .Where(it => !it.IsDisabled);
-                    if (request.All != true)
-                    {
-                        q = q.Where(it => it.ParentId == request.ParentId);
-                    }
-                    if (request.MaxDeep.HasValue)
-                    {
-                        q = q.Where(it => it.Deep <= request.MaxDeep);
-                    }
-                    if (request.Keywords.IsNotNull())
-                    {
-                        q = q.Where(it =>
-                            it.Code.Contains(request.Keywords)
-                            || it.Content.Contains(request.Keywords)
-                            || it.Field1.Contains(request.Keywords)
-                            || it.Field2.Contains(request.Keywords)
-                            || it.Field3.Contains(request.Keywords)
-                            || it.Field4.Contains(request.Keywords)
-                            || it.Field5.Contains(request.Keywords));
-                    }
-                    if (request.CategoryId.HasValue)
-                    {
-                        q = q.Where(it => it.CategoryId == request.CategoryId);
-                    }
-                    else if (request.CategoryCode.IsNotNull())
-                    {
-                        q = q.Where(it => it.Category.Code == request.CategoryCode);
-                    }
-                    else
-                    {
-                        throw Oops.Oh(EnumErrorCodeType.s400, "璇峰~鍐欑被鍒獻d鎴栫紪鍙�");
-                    }
-                    return q;
-                },
-                cancellationToken);
+            var sql = @"SELECT d.* FROM DictionaryData d
+INNER JOIN DictionaryCategory c ON d.CategoryId = c.Id
+WHERE d.IsDisabled = 0";
+            if (request.All != true)
+            {
+                sql += " AND d.ParentId = @ParentId";
+            }
+            if (request.MaxDeep.HasValue)
+            {
+                sql += " AND d.Deep <= @MaxDeep";
+            }
+            if (request.Keywords.IsNotNull())
+            {
+                sql += @" AND (d.Code LIKE @Keywords
+OR d.Content LIKE @Keywords
+OR d.Field1 LIKE @Keywords
+OR d.Field2 LIKE @Keywords
+OR d.Field3 LIKE @Keywords
+OR d.Field4 LIKE @Keywords
+OR d.Field5 LIKE @Keywords)";
+            }
+            if (request.CategoryId.HasValue)
+            {
+                sql += " AND d.CategoryId = @CategoryId";
+            }
+            else if (request.CategoryCode.IsNotNull())
+            {
+                sql += " AND c.Code = @CategoryCode";
+            }
+            else
+            {
+                throw Oops.Oh(EnumErrorCodeType.s400, "璇峰~鍐欑被鍒獻d鎴栫紪鍙�");
+            }
+            sql += " ORDER BY d.Sort";
+            var models = await rep.SqlQueriesAsync<GetDictionaryDataSelectQueryResultOption>(sql, request, cancellationToken);
+            var options = new List<SelectOption<string, GetDictionaryDataSelectQueryResultOption>>();
+            foreach (var model in models)
+            {
+                var option = new SelectOption<string, GetDictionaryDataSelectQueryResultOption>();
+                option.Data = model;
+                option.Value = model.Code;
+                option.Label = model.Content;
+                options.Add(option);
+            }
             if (request.WithChildren)
             {
-                var parents = models.Where(it => it.Data.ParentId == null).ToList();
-                LoopChildrens(parents, models);
+                var parents = options.Where(it => it.Data.ParentId == null).ToList();
+                LoopChildrens(parents, options);
                 return parents;
             }
-            return models;
+            return options;
         }
 
         /// <summary>
diff --git a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
index 089aebb..2599559 100644
--- a/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
+++ b/FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
@@ -42,13 +42,38 @@
         public DateTime? HireTime { get; set; }
 
         /// <summary>
-        /// 绛剧害鐘舵��
+        /// 鐏靛伐绛剧害鐘舵��
         /// </summary>
-        public EnumTaskUserSignContractStatus? SignContractStatus { get; set; }
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
 
         /// <summary>
-        /// 绛剧害鏃堕棿
+        /// 鐏靛伐绛剧害鏃堕棿
         /// </summary>
-        public DateTime? SignContractTime { get; set; }
+        public DateTime? UserSignContractTime { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? EnterpriseSignContractTime { get; set; }
+
+        /// <summary>
+        /// 鐢靛瓙鍚堝悓
+        /// </summary>
+        public string ContractUrl { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public DateTime? ArrangeTime { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Entities/UserServer/Users/User.cs b/FlexJobApi.Core/Entities/UserServer/Users/User.cs
index 5521fc0..4c9a299 100644
--- a/FlexJobApi.Core/Entities/UserServer/Users/User.cs
+++ b/FlexJobApi.Core/Entities/UserServer/Users/User.cs
@@ -123,6 +123,11 @@
         public bool IsReal { get; set; }
 
         /// <summary>
+        /// 瀹炲悕鏃堕棿
+        /// </summary>
+        public DateTime? RealTime { get; set; }
+
+        /// <summary>
         /// 瀹炲悕鏂瑰紡
         /// </summary>
         public EnumUserRealMethod? RealMethod { get; set; }
diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserArrangeStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserArrangeStatus.cs
new file mode 100644
index 0000000..15b139f
--- /dev/null
+++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserArrangeStatus.cs
@@ -0,0 +1,23 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 浠诲姟鐢ㄦ埛瀹夋帓鐘舵��
+    /// </summary>
+    public enum EnumTaskUserArrangeStatus
+    {
+        /// <summary>
+        /// 鏈畨鎺�
+        /// </summary>
+        Wait = 10,
+        /// <summary>
+        /// 宸插畨鎺�
+        /// </summary>
+        Complete = 20
+    }
+}
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 424fbbf..80abc8a 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -939,14 +939,39 @@
             褰曠敤鏃堕棿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.TaskInfoUser.SignContractStatus">
+        <member name="P:FlexJobApi.Core.TaskInfoUser.UserSignContractStatus">
             <summary>
-            绛剧害鐘舵��
+            鐏靛伐绛剧害鐘舵��
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.TaskInfoUser.SignContractTime">
+        <member name="P:FlexJobApi.Core.TaskInfoUser.UserSignContractTime">
             <summary>
-            绛剧害鏃堕棿
+            鐏靛伐绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfoUser.EnterpriseSignContractStatus">
+            <summary>
+            浼佷笟绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfoUser.EnterpriseSignContractTime">
+            <summary>
+            浼佷笟绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfoUser.ContractUrl">
+            <summary>
+            鐢靛瓙鍚堝悓
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfoUser.ArrangeStatus">
+            <summary>
+            瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfoUser.ArrangeTime">
+            <summary>
+            瀹夋帓鐘舵��
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.UserTaskCollect">
@@ -1775,6 +1800,11 @@
             鏄惁瀹炲悕
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.User.RealTime">
+            <summary>
+            瀹炲悕鏃堕棿
+            </summary>
+        </member>
         <member name="P:FlexJobApi.Core.User.RealMethod">
             <summary>
             瀹炲悕鏂瑰紡
@@ -2492,6 +2522,21 @@
             </summary>
         </member>
         <member name="F:FlexJobApi.Core.EnumTaskStatus.Complete">
+            <summary>
+            宸插畨鎺�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.EnumTaskUserArrangeStatus">
+            <summary>
+            浠诲姟鐢ㄦ埛瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumTaskUserArrangeStatus.Wait">
+            <summary>
+            鏈畨鎺�
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumTaskUserArrangeStatus.Complete">
             <summary>
             宸插畨鎺�
             </summary>
@@ -3675,6 +3720,11 @@
         <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseEnterpriseName">
             <summary>
             浼佷笟鍏ㄧО
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseContactPhoneNumber">
+            <summary>
+            鑱旂郴鐢佃瘽
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.TaskCount">
@@ -6204,6 +6254,56 @@
             缁忓巻
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.CreatedTime">
+            <summary>
+            鎶ュ悕鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.HireStatus">
+            <summary>
+            褰曠敤鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.HireTime">
+            <summary>
+            褰曠敤鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.ArrangeStatus">
+            <summary>
+            瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.ArrangeTime">
+            <summary>
+            瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.UserSignContractStatus">
+            <summary>
+            鐏靛伐绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.UserSignContractTime">
+            <summary>
+            鐏靛伐绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.EnterpriseSignContractStatus">
+            <summary>
+            浼佷笟绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.EnterpriseSignContractTime">
+            <summary>
+            浼佷笟绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumeQueryResult.ContractUrl">
+            <summary>
+            鐢靛瓙鍚堝悓
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetUserResumeQueryResultExpectJob">
             <summary>
             鏌ヨ鐢ㄦ埛绠�鍘�-缁撴灉
@@ -6405,6 +6505,16 @@
             </summary>
             <remarks>鑱旂郴鐢佃瘽</remarks>
         </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.Identity">
+            <summary>
+            韬唤璇佸彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.Age">
+            <summary>
+            骞撮緞
+            </summary>
+        </member>
         <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.Gender">
             <summary>
             鎬у埆
@@ -6415,9 +6525,9 @@
             鏄惁瀹炲悕
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.Age">
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.RealTime">
             <summary>
-            骞撮緞
+            瀹炲悕鏃堕棿
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.PersonalIdentityCode">
@@ -6460,6 +6570,41 @@
             褰曠敤鐘舵��
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.HireTime">
+            <summary>
+            褰曠敤鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.ArrangeStatus">
+            <summary>
+            瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.ArrangeTime">
+            <summary>
+            瀹夋帓鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.UserSignContractStatus">
+            <summary>
+            鐏靛伐绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.UserSignContractTime">
+            <summary>
+            鐏靛伐绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.EnterpriseSignContractStatus">
+            <summary>
+            浼佷笟绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserResumesQueryResultItem.EnterpriseSignContractTime">
+            <summary>
+            浼佷笟绛剧害鏃堕棿
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetUserResumeWorkExperienceQuery">
             <summary>
             鏌ヨ鐢ㄦ埛绠�鍘�-宸ヤ綔缁忛獙
diff --git a/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetAreaSelectQuery.cs b/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetAreaSelectQuery.cs
index 51328c0..4048f8b 100644
--- a/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetAreaSelectQuery.cs
+++ b/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetAreaSelectQuery.cs
@@ -51,7 +51,15 @@
         /// <summary>
         /// 瀛愮骇
         /// </summary>
-        public List<GetAreaSelectQueryResultOption> Children => Data.Children.Adapt<List<GetAreaSelectQueryResultOption>>();
+        public List<GetAreaSelectQueryResultOption> Children
+        {
+            get
+            {
+                var children = Data.Children.Adapt<List<GetAreaSelectQueryResultOption>>();
+                if (children.IsNull()) return null;
+                else return children;
+            }
+        }
 
         /// <summary>
         /// Id
diff --git a/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs b/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
index acaacc2..ff318ea 100644
--- a/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
+++ b/FlexJobApi.Core/Models/CommonServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
@@ -53,7 +53,7 @@
     {
         public GetDictionaryDataSelectQueryResultOption()
         {
-            Children = [];
+
         }
 
         /// <summary>
diff --git a/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumeQuery.cs b/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumeQuery.cs
index 261d847..9df8bfc 100644
--- a/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumeQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumeQuery.cs
@@ -185,6 +185,57 @@
         /// 缁忓巻
         /// </summary>
         public List<GetUserResumeQueryResultExperience> TaskInfoUsers { get; set; }
+
+        /// <summary>
+        /// 鎶ュ悕鏃堕棿
+        /// </summary>
+        public DateTime? CreatedTime { get; set; }
+
+        /// <summary>
+        /// 褰曠敤鐘舵��
+        /// </summary>
+        public EnumTaskUserHireStatus? HireStatus { get; set; }
+
+        /// <summary>
+        /// 褰曠敤鏃堕棿
+        /// </summary>
+        public DateTime? HireTime { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public DateTime? ArrangeTime { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? UserSignContractTime { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? EnterpriseSignContractTime { get; set; }
+
+        /// <summary>
+        /// 鐢靛瓙鍚堝悓
+        /// </summary>
+        public string ContractUrl { get; set; }
+
     }
 
     /// <summary>
diff --git a/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumesQuery.cs b/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumesQuery.cs
index de06013..d75ff77 100644
--- a/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumesQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/UserResumes/Queries/GetUserResumesQuery.cs
@@ -91,6 +91,16 @@
         public string ContactPhoneNumber { get; set; }
 
         /// <summary>
+        /// 韬唤璇佸彿
+        /// </summary>
+        public string Identity { get; set; }
+
+        /// <summary>
+        /// 骞撮緞
+        /// </summary>
+        public int? Age { get; set; }
+
+        /// <summary>
         /// 鎬у埆
         /// </summary>
         public EnumUserGender? Gender { get; set; }
@@ -101,9 +111,9 @@
         public bool IsReal { get; set; }
 
         /// <summary>
-        /// 骞撮緞
+        /// 瀹炲悕鏃堕棿
         /// </summary>
-        public int? Age { get; set; }
+        public DateTime? RealTime { get; set; }
 
         /// <summary>
         /// 韬唤缂栧彿
@@ -146,5 +156,40 @@
         /// </summary>
         public EnumTaskUserHireStatus? HireStatus { get; set; }
 
+        /// <summary>
+        /// 褰曠敤鏃堕棿
+        /// </summary>
+        public DateTime? HireTime { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; }
+
+        /// <summary>
+        /// 瀹夋帓鐘舵��
+        /// </summary>
+        public DateTime? ArrangeTime { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? UserSignContractTime { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 浼佷笟绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? EnterpriseSignContractTime { get; set; }
+
     }
 }
diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs
index 16f86d1..6e8a1e9 100644
--- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs
@@ -107,7 +107,12 @@
                     entity.HireStatus = request.HireStatus;
                     if (entity.HireStatus == EnumTaskUserHireStatus.Pass)
                     {
-                        entity.SignContractStatus = EnumTaskUserSignContractStatus.Pass;
+                        entity.HireTime = DateTime.Now;
+                        entity.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass;
+                        entity.UserSignContractTime = DateTime.Now;
+                        entity.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass;
+                        entity.EnterpriseSignContractTime = DateTime.Now;
+                        entity.ArrangeStatus = EnumTaskUserArrangeStatus.Wait;
                     }
                 }
                 await rep.UpdateAsync(entities);
diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
index af45201..5587a25 100644
--- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -148,7 +148,7 @@
                         AddressDetail = t.AddressDetail,
                         Latitude = t.Latitude,
                         Longitude = t.Longitude,
-                        UserCount = t.TaskInfoUsers.Count(tu => tu.SignContractStatus == EnumTaskUserSignContractStatus.Pass),
+                        UserCount = t.TaskInfoUsers.Count(),
                         Status = t.Status,
                         BeginTime = t.BeginTime,
                         EndTime = t.EndTime,
diff --git a/FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs b/FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs
index f693340..ecc3042 100644
--- a/FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs
@@ -90,7 +90,10 @@
                 WorkExperience = it.WorkExperience,
                 HireStatus = request.TaskInfoId.HasValue
                     ? it.TaskInfoUsers.Where(it => it.TaskInfoId == request.TaskInfoId).Select(it => it.HireStatus as EnumTaskUserHireStatus?).FirstOrDefault()
-                    : null
+                    : null,
+                ArrangeStatus = request.TaskInfoId.HasValue
+                    ? it.TaskInfoUsers.Where(it => it.TaskInfoId == request.TaskInfoId).Select(it => it.ArrangeStatus).FirstOrDefault()
+                    : null,
             });
             var result = await request.PageModel.GetPagedListAsync<GetUserResumesQueryResult, GetUserResumesQueryResultItem>(s, cancellationToken);
             return result;

--
Gitblit v1.9.1