From c8b6903d85e7ceef504a198b4bdfc6b72a73fe19 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 08 八月 2025 13:29:47 +0800
Subject: [PATCH] fix:bug

---
 FlexJobApi.Core/Enums/Common/EnumSmsTemplateType.cs                                     |   35 
 FlexJobApi.Core/Entities/Common/Resource.cs                                             |    2 
 FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs                                    |   19 
 FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.Designer.cs | 1996 +++++++++++++++++++++++++++++++++++++
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs           |   13 
 FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs              |    7 
 FlexJobApi.Core/Models/UserServer/Auths/Commands/SmsLoginCommand.cs                     |   36 
 FlexJobApi.Core/Models/UserServer/Auths/Commands/SendVerifyCodeCommand.cs               |   25 
 FlexJobApi.Core/Utils/DbUtils/DbUtils.cs                                                |    6 
 FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpLoginCommand.cs                    |   21 
 FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpRegisterCommand.cs                 |   26 
 FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.cs          |   54 +
 FlexJobApi.Core/FlexJobApi.Core.xml                                                     |  837 ++++++++-------
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs                 |    4 
 FlexJobApi.UserServer.Application/Auths/Commands/VerifyCodeCommandHandler.cs            |   39 
 FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml                 |   13 
 FlexJobApi.Database.Migrations/REDEME.MD                                                |    2 
 FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs              |    2 
 18 files changed, 2,744 insertions(+), 393 deletions(-)

diff --git a/FlexJobApi.Core/Entities/Common/Resource.cs b/FlexJobApi.Core/Entities/Common/Resource.cs
index a412a53..e5d201a 100644
--- a/FlexJobApi.Core/Entities/Common/Resource.cs
+++ b/FlexJobApi.Core/Entities/Common/Resource.cs
@@ -102,13 +102,11 @@
         /// <summary>
         /// 鍝嶅簲绫诲瀷鍚嶇О
         /// </summary>
-        [Required]
         public string ResponseTypeName { get; set; }
 
         /// <summary>
         /// 鍝嶅簲绫诲瀷鍏ㄥ悕
         /// </summary>
-        [Required]
         public string ResponseTypeFullName { get; set; }
 
         /// <summary>
diff --git a/FlexJobApi.Core/Enums/Common/EnumSmsTemplateType.cs b/FlexJobApi.Core/Enums/Common/EnumSmsTemplateType.cs
new file mode 100644
index 0000000..b51658c
--- /dev/null
+++ b/FlexJobApi.Core/Enums/Common/EnumSmsTemplateType.cs
@@ -0,0 +1,35 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 鐭俊妯℃澘绫诲瀷
+    /// </summary>
+    public enum EnumSmsTemplateType
+    {
+        /// <summary>
+        /// 鐧诲綍
+        /// </summary>
+        Login,
+        /// <summary>
+        /// 娉ㄥ唽
+        /// </summary>
+        Register,
+        /// <summary>
+        /// 淇敼瀵嗙爜
+        /// </summary>
+        UpdatePassword,
+        /// <summary>
+        /// 缁戝畾鎵嬫満鍙风爜
+        /// </summary>
+        BindPhoneNumber,
+        /// <summary>
+        /// 淇敼鎵嬫満鍙风爜
+        /// </summary>
+        UpdatePhoneNumber
+    }
+}
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 161a24d..e7c1016 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -179,156 +179,6 @@
             鏄惁绂佺敤
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.Resource">
-            <summary>
-            璧勬簮
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ApplicationName">
-            <summary>
-            搴旂敤鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.DynamicAssemblyName">
-            <summary>
-            鍔ㄦ�佺▼搴忛泦鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Service">
-            <summary>
-            鏈嶅姟
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ServiceName">
-            <summary>
-            鏈嶅姟鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Controller">
-            <summary>
-            鎺у埗鍣�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ControllerSummary">
-            <summary>
-            鎺у埗鍣ㄦ憳瑕�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ActionName">
-            <summary>
-            濮旀墭鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ActionSummary">
-            <summary>
-            濮旀墭鎽樿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Code">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Name">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.AllowAnonymous">
-            <summary>
-            蹇界暐鏉冮檺
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Method">
-            <summary>
-            璇锋眰鏂瑰紡
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.RouteArea">
-            <summary>
-            璺敱鍖哄煙
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.Route">
-            <summary>
-            璺敱
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.RequestTypeName">
-            <summary>
-            璇锋眰绫诲瀷鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.RequestTypeFullName">
-            <summary>
-            璇锋眰绫诲瀷鍏ㄥ悕
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ResponseTypeName">
-            <summary>
-            鍝嶅簲绫诲瀷鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.ResponseTypeFullName">
-            <summary>
-            鍝嶅簲绫诲瀷鍏ㄥ悕
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.Resource.IsExpired">
-            <summary>
-            鏄惁宸茶繃鏈�
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.BaseArea">
-            <summary>
-            鍦板尯
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.ParentId">
-            <summary>
-            涓婄骇鍦板尯缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.AreaCode">
-            <summary>
-            鍦板尯缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.AreaName">
-            <summary>
-            鍦板尯鍚嶇О
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.QuickQuery">
-            <summary>
-            蹇嵎鏌ヨ
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.Description">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.Layer">
-            <summary>
-            灞傜骇
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.Sort">
-            <summary>
-            鎺掑簭
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.SimpleSpelling">
-            <summary>
-            绠�鎷�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.BaseArea.IsEnable">
-            <summary>
-            鏄惁鍚敤
-            </summary>
-        </member>
         <member name="T:FlexJobApi.Core.ConsoleLog">
             <summary>
             鎺у埗鍙版棩蹇�
@@ -542,6 +392,156 @@
         <member name="P:FlexJobApi.Core.SmsLog.IsUsed">
             <summary>
             鏄惁浣跨敤
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.Resource">
+            <summary>
+            璧勬簮
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ApplicationName">
+            <summary>
+            搴旂敤鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.DynamicAssemblyName">
+            <summary>
+            鍔ㄦ�佺▼搴忛泦鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Service">
+            <summary>
+            鏈嶅姟
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ServiceName">
+            <summary>
+            鏈嶅姟鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Controller">
+            <summary>
+            鎺у埗鍣�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ControllerSummary">
+            <summary>
+            鎺у埗鍣ㄦ憳瑕�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ActionName">
+            <summary>
+            濮旀墭鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ActionSummary">
+            <summary>
+            濮旀墭鎽樿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Code">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Name">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.AllowAnonymous">
+            <summary>
+            蹇界暐鏉冮檺
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Method">
+            <summary>
+            璇锋眰鏂瑰紡
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.RouteArea">
+            <summary>
+            璺敱鍖哄煙
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.Route">
+            <summary>
+            璺敱
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.RequestTypeName">
+            <summary>
+            璇锋眰绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.RequestTypeFullName">
+            <summary>
+            璇锋眰绫诲瀷鍏ㄥ悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ResponseTypeName">
+            <summary>
+            鍝嶅簲绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.ResponseTypeFullName">
+            <summary>
+            鍝嶅簲绫诲瀷鍏ㄥ悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Resource.IsExpired">
+            <summary>
+            鏄惁宸茶繃鏈�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.BaseArea">
+            <summary>
+            鍦板尯
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.ParentId">
+            <summary>
+            涓婄骇鍦板尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.AreaCode">
+            <summary>
+            鍦板尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.AreaName">
+            <summary>
+            鍦板尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.QuickQuery">
+            <summary>
+            蹇嵎鏌ヨ
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.Description">
+            <summary>
+            鎻忚堪
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.Layer">
+            <summary>
+            灞傜骇
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.Sort">
+            <summary>
+            鎺掑簭
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.SimpleSpelling">
+            <summary>
+            绠�鎷�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.BaseArea.IsEnable">
+            <summary>
+            鏄惁鍚敤
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.TaskInfo">
@@ -1274,6 +1274,226 @@
             鏁版嵁鏉冮檺
             </summary>
         </member>
+        <member name="T:FlexJobApi.Core.UserRole">
+            <summary>
+            鐢ㄦ埛淇℃伅瑙掕壊
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserRole.UserId">
+            <summary>
+            鐢ㄦ埛淇℃伅Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserRole.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserRole.RoleId">
+            <summary>
+            瑙掕壊Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserRole.Role">
+            <summary>
+            瑙掕壊
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.UserCredential">
+            <summary>
+            鐢ㄦ埛淇℃伅璧勬牸璇佷功
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.UserId">
+            <summary>
+            鐢ㄦ埛淇℃伅Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.TypeCode">
+            <summary>
+            璇佷功绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.Type">
+            <summary>
+            璇佷功绫诲瀷
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.Code">
+            <summary>
+            璇佷功缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.IsForever">
+            <summary>
+            姘镐箙璇佷功
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.StartDate">
+            <summary>
+            寮�濮嬫棩鏈�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.EndDate">
+            <summary>
+            缁撴潫鏃ユ湡
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.IssueUnit">
+            <summary>
+            鍙戣瘉鍗曚綅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.Img">
+            <summary>
+            璇佷功姝i潰鐓х墖
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserCredential.BackImg">
+            <summary>
+            璇佷功鍙嶉潰鐓х墖
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.UserDepartment">
+            <summary>
+            鐢ㄦ埛淇℃伅閮ㄩ棬
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserDepartment.UserId">
+            <summary>
+            鐢ㄦ埛淇℃伅Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserDepartment.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserDepartment.DepartmentId">
+            <summary>
+            閮ㄩ棬Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserDepartment.Department">
+            <summary>
+            閮ㄩ棬
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.UserExpectJob">
+            <summary>
+            鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserExpectJob.UserId">
+            <summary>
+            鐢ㄦ埛淇℃伅Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserExpectJob.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentityCode">
+            <summary>
+            鏈熸湜宀椾綅缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentity">
+            <summary>
+            鏈熸湜宀椾綅
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.UserPhoto">
+            <summary>
+            鐢ㄦ埛淇℃伅鐢熸椿鐓�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserPhoto.UserId">
+            <summary>
+            鐢ㄦ埛淇℃伅Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserPhoto.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserPhoto.Img">
+            <summary>
+            鐓х墖
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.UserResume">
+            <summary>
+            鐢ㄦ埛绠�鍘�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.UserId">
+            <summary>
+            鐢ㄦ埛Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.User">
+            <summary>
+            鐢ㄦ埛
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.PersonalIdentityCode">
+            <summary>
+            韬唤缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.PersonalIdentity">
+            <summary>
+            韬唤
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.EducationalBackgroundCode">
+            <summary>
+            瀛﹀巻缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.EducationalBackground">
+            <summary>
+            瀛﹀巻
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.FreeTime">
+            <summary>
+            绌洪棽鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.JobSeekingStatus">
+            <summary>
+            姹傝亴鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.WorkSeniority">
+            <summary>
+            宸ヤ綔璧勫巻
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.WorkExperience">
+            <summary>
+            宸ヤ綔缁忛獙
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.Height">
+            <summary>
+            韬珮
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserResume.Weight">
+            <summary>
+            浣撻噸
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.User">
             <summary>
             鐢ㄦ埛淇℃伅
@@ -1482,226 +1702,6 @@
         <member name="P:FlexJobApi.Core.UserBankCard.PhoneNumber">
             <summary>
             閾惰棰勭暀鎵嬫満鍙�
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserCredential">
-            <summary>
-            鐢ㄦ埛淇℃伅璧勬牸璇佷功
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.UserId">
-            <summary>
-            鐢ㄦ埛淇℃伅Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.User">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.TypeCode">
-            <summary>
-            璇佷功绫诲瀷缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.Type">
-            <summary>
-            璇佷功绫诲瀷
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.Code">
-            <summary>
-            璇佷功缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.IsForever">
-            <summary>
-            姘镐箙璇佷功
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.StartDate">
-            <summary>
-            寮�濮嬫棩鏈�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.EndDate">
-            <summary>
-            缁撴潫鏃ユ湡
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.IssueUnit">
-            <summary>
-            鍙戣瘉鍗曚綅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.Img">
-            <summary>
-            璇佷功姝i潰鐓х墖
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserCredential.BackImg">
-            <summary>
-            璇佷功鍙嶉潰鐓х墖
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserDepartment">
-            <summary>
-            鐢ㄦ埛淇℃伅閮ㄩ棬
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserDepartment.UserId">
-            <summary>
-            鐢ㄦ埛淇℃伅Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserDepartment.User">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserDepartment.DepartmentId">
-            <summary>
-            閮ㄩ棬Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserDepartment.Department">
-            <summary>
-            閮ㄩ棬
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserExpectJob">
-            <summary>
-            鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserExpectJob.UserId">
-            <summary>
-            鐢ㄦ埛淇℃伅Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserExpectJob.User">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentityCode">
-            <summary>
-            鏈熸湜宀椾綅缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentity">
-            <summary>
-            鏈熸湜宀椾綅
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserPhoto">
-            <summary>
-            鐢ㄦ埛淇℃伅鐢熸椿鐓�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserPhoto.UserId">
-            <summary>
-            鐢ㄦ埛淇℃伅Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserPhoto.User">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserPhoto.Img">
-            <summary>
-            鐓х墖
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserResume">
-            <summary>
-            鐢ㄦ埛绠�鍘�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.UserId">
-            <summary>
-            鐢ㄦ埛Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.User">
-            <summary>
-            鐢ㄦ埛
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.PersonalIdentityCode">
-            <summary>
-            韬唤缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.PersonalIdentity">
-            <summary>
-            韬唤
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.EducationalBackgroundCode">
-            <summary>
-            瀛﹀巻缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.EducationalBackground">
-            <summary>
-            瀛﹀巻
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.FreeTime">
-            <summary>
-            绌洪棽鏃堕棿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.JobSeekingStatus">
-            <summary>
-            姹傝亴鐘舵��
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.WorkSeniority">
-            <summary>
-            宸ヤ綔璧勫巻
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.WorkExperience">
-            <summary>
-            宸ヤ綔缁忛獙
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.Height">
-            <summary>
-            韬珮
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserResume.Weight">
-            <summary>
-            浣撻噸
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserRole">
-            <summary>
-            鐢ㄦ埛淇℃伅瑙掕壊
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserRole.UserId">
-            <summary>
-            鐢ㄦ埛淇℃伅Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserRole.User">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserRole.RoleId">
-            <summary>
-            瑙掕壊Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserRole.Role">
-            <summary>
-            瑙掕壊
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.EnumConsoleLogAccess">
@@ -1982,6 +1982,36 @@
         <member name="F:FlexJobApi.Core.EnumSmsAccess.AliyunSms">
             <summary>
             闃块噷浜戠煭淇�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.EnumSmsTemplateType">
+            <summary>
+            鐭俊妯℃澘绫诲瀷
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumSmsTemplateType.Login">
+            <summary>
+            鐧诲綍
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumSmsTemplateType.Register">
+            <summary>
+            娉ㄥ唽
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumSmsTemplateType.UpdatePassword">
+            <summary>
+            淇敼瀵嗙爜
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumSmsTemplateType.BindPhoneNumber">
+            <summary>
+            缁戝畾鎵嬫満鍙风爜
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumSmsTemplateType.UpdatePhoneNumber">
+            <summary>
+            淇敼鎵嬫満鍙风爜
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.EnumBillingMethod">
@@ -3331,6 +3361,71 @@
         <member name="P:FlexJobApi.Core.PasswordLoginCommandCallback.RefreshToken">
             <summary>
             鍒锋柊浠ょ墝
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.SendVerifyCodeCommand">
+            <summary>
+            鍙戦�侀獙璇佺爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SendVerifyCodeCommand.PhoneNumber">
+            <summary>
+            鎵嬫満鍙风爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SendVerifyCodeCommand.TemplateCode">
+            <summary>
+            鐭俊妯℃澘缂栧彿
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.SmsLoginCommand">
+            <summary>
+            鐭俊鐧诲綍
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SmsLoginCommand.PhoneNumber">
+            <summary>
+            鎵嬫満鍙风爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SmsLoginCommand.VerifyCode">
+            <summary>
+            楠岃瘉鐮�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SmsLoginCommand.Type">
+            <summary>
+            鐢ㄦ埛绫诲瀷
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SmsLoginCommand.ClientType">
+            <summary>
+            瀹㈡埛绔被鍨�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.WxmpLoginCommand">
+            <summary>
+            寰俊灏忕▼搴忕櫥褰�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.WxmpLoginCommand.Code">
+            <summary>
+            鐢ㄦ埛鐧诲綍鍑瘉
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.WxmpRegisterCommand">
+            <summary>
+            寰俊灏忕▼搴忔敞鍐�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.WxmpRegisterCommand.PhoneNumber">
+            <summary>
+            鎵嬫満鍙风爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.WxmpRegisterCommand.VerifyCode">
+            <summary>
+            楠岃瘉鐮�
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.GetAliyunOSSAcsQuery">
@@ -5098,7 +5193,7 @@
             <param name="cancellationToken"></param>
             <returns></returns>
         </member>
-        <member name="M:FlexJobApi.Core.DbUtils.OrderBy``1(System.Linq.IQueryable{``0},System.Collections.Generic.List{FlexJobApi.Core.PagedListQueryPageModelOrderInput})">
+        <member name="M:FlexJobApi.Core.DbUtils.CustomOrderBy``1(System.Linq.IQueryable{``0},System.Collections.Generic.List{FlexJobApi.Core.PagedListQueryPageModelOrderInput})">
             <summary>
             鎺掑簭
             </summary>
diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs
index 6637a43..9cb25d4 100644
--- a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs
@@ -138,12 +138,12 @@
         /// <summary>
         /// 楠屾敹鐘舵��
         /// </summary>
-        public EnumTaskCheckReceiveStatus CheckReceiveStatus { get; set; }
+        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
 
         /// <summary>
         /// 缁撶畻鐘舵��
         /// </summary>
-        public EnumTaskSettlementStatus SettlementStatus { get; set; }
+        public EnumTaskSettlementStatus? SettlementStatus { get; set; }
 
         /// <summary>
         /// 鎺ㄨ崘鐘舵��
diff --git a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs
index 103ccbe..b62e4f5 100644
--- a/FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs
@@ -23,12 +23,13 @@
         public static IQueryable<TaskInfo> GetQueryable(this IRepository<TaskInfo> rep, CurrentLogier logier = null)
         {
             logier = logier ?? JwtUtils.GetCurrentLogier();
-            return rep.AsQueryable().AsNoTracking()
-                 .OrderBy(it => it.BeginTime)
-                 .Where(it => 
-                    logier.Type == EnumUserType.Enterprise 
-                    ? it.EnterpriseId == logier.EnterpriseId 
-                    : true);
+            IQueryable<TaskInfo> q = rep.AsQueryable().AsNoTracking()
+                 .OrderBy(it => it.BeginTime);
+            if (logier != null && logier.Type == EnumUserType.Enterprise)
+            {
+                q = q.Where(it => it.EnterpriseId == logier.EnterpriseId);
+            }
+            return q;
         }
     }
 }
diff --git a/FlexJobApi.Core/Models/UserServer/Auths/Commands/SendVerifyCodeCommand.cs b/FlexJobApi.Core/Models/UserServer/Auths/Commands/SendVerifyCodeCommand.cs
new file mode 100644
index 0000000..c2b2159
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/Auths/Commands/SendVerifyCodeCommand.cs
@@ -0,0 +1,25 @@
+锘縰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.Auth], AllowAnonymous = true)]
+    public class SendVerifyCodeCommand : IRequest
+    {
+        /// <summary>
+        /// 鎵嬫満鍙风爜
+        /// </summary>
+        public string PhoneNumber { get; set; }
+        /// <summary>
+        /// 鐭俊妯℃澘缂栧彿
+        /// </summary>
+        public EnumSmsTemplateType TemplateCode { get; set; }
+    }
+}
diff --git a/FlexJobApi.Core/Models/UserServer/Auths/Commands/SmsLoginCommand.cs b/FlexJobApi.Core/Models/UserServer/Auths/Commands/SmsLoginCommand.cs
new file mode 100644
index 0000000..2257237
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/Auths/Commands/SmsLoginCommand.cs
@@ -0,0 +1,36 @@
+锘縰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.Auth], AllowAnonymous = true)]
+    public class SmsLoginCommand
+    {
+        /// <summary>
+        /// 鎵嬫満鍙风爜
+        /// </summary>
+        [Required]
+        public string PhoneNumber { get; set; }
+        /// <summary>
+        /// 楠岃瘉鐮�
+        /// </summary>
+        [Required]
+        public string VerifyCode { get; set; }
+        /// <summary>
+        /// 鐢ㄦ埛绫诲瀷
+        /// </summary>
+        public EnumUserType Type { get; set; }
+
+        /// <summary>
+        /// 瀹㈡埛绔被鍨�
+        /// </summary>
+        public EnumClientType ClientType { get; set; }
+    }
+}
diff --git a/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpLoginCommand.cs b/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpLoginCommand.cs
new file mode 100644
index 0000000..8ce3492
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpLoginCommand.cs
@@ -0,0 +1,21 @@
+锘縰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>
+    public class WxmpLoginCommand
+    {
+        /// <summary>
+        /// 鐢ㄦ埛鐧诲綍鍑瘉
+        /// </summary>
+        [Required]
+        public string Code { get; set; }
+    }
+}
diff --git a/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpRegisterCommand.cs b/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpRegisterCommand.cs
new file mode 100644
index 0000000..8f7c603
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/Auths/Commands/WxmpRegisterCommand.cs
@@ -0,0 +1,26 @@
+锘縰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>
+    public class WxmpRegisterCommand
+    {
+        /// <summary>
+        /// 鎵嬫満鍙风爜
+        /// </summary>
+        [Required]
+        public string PhoneNumber { get; set; }
+        /// <summary>
+        /// 楠岃瘉鐮�
+        /// </summary>
+        [Required]
+        public string VerifyCode { get; set; }
+    }
+}
diff --git a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
index cf2c06d..b770ec5 100644
--- a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
+++ b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
@@ -148,7 +148,7 @@
             var q = rep.AsQueryable().AsNoTracking();
             if (query != null) q = query(q);
             else q = q.OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime);
-            q = q.OrderBy(page.OrderInput);
+            q = q.CustomOrderBy(page.OrderInput);
             var s = selector == null
                 ? q.ProjectToType<TItem>()
                 : q.Select(selector);
@@ -175,7 +175,7 @@
             CancellationToken cancellationToken = default)
             where TItem : class, new()
         {
-            q = q.OrderBy(page.OrderInput);
+            //q = q.CustomOrderBy(page.OrderInput);
             var pagedList = await q.ToPagedListAsync(page.Page, page.Rows, cancellationToken);
             var result = new PagedListQueryResult<TItem>();
             result.PageModel = page.Adapt<PagedListQueryResultPageModel>();
@@ -192,7 +192,7 @@
         /// <param name="q"></param>
         /// <param name="orders"></param>
         /// <returns></returns>
-        public static IQueryable<T> OrderBy<T>(
+        public static IQueryable<T> CustomOrderBy<T>(
             this IQueryable<T> q,
             List<PagedListQueryPageModelOrderInput> orders)
         {
diff --git a/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs b/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
index cc1216c..b9d51e0 100644
--- a/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
+++ b/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
@@ -223,9 +223,10 @@
                     code += $@"
         [AllowAnonymous]";
                 }
+                var result = resource.ResponseTypeName.IsNull() ? "Task" : $"Task<{resource.ResponseTypeName}>";
                 code += $@"
         [Http{resource.Method}]
-        public Task<{resource.ResponseTypeName}> {resource.ActionName}({resource.RequestTypeName} request)
+        public {result} {resource.ActionName}({resource.RequestTypeName} request)
         {{
             return mediator.Send(request);
         }}
@@ -233,10 +234,18 @@
     }}
 }}
 ";
-                var dynamicAssembly = App.CompileCSharpClassCode(code);
-                provider.AddAssembliesWithNotifyChanges(dynamicAssembly);
-                var dynamicAssemblyName = dynamicAssembly.GetName().Name;
-                resource.DynamicAssemblyName = dynamicAssemblyName;
+                try
+                {
+                    var dynamicAssembly = App.CompileCSharpClassCode(code);
+                    provider.AddAssembliesWithNotifyChanges(dynamicAssembly);
+                    var dynamicAssemblyName = dynamicAssembly.GetName().Name;
+                    resource.DynamicAssemblyName = dynamicAssemblyName;
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine(code);
+                    throw;
+                }
             }
 
         }
diff --git a/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.Designer.cs b/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.Designer.cs
new file mode 100644
index 0000000..57890c0
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.Designer.cs
@@ -0,0 +1,1996 @@
+锘�// <auto-generated />
+using System;
+using FlexJobApi.EntityFramework.Core;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace FlexJobApi.Database.Migrations.Migrations
+{
+    [DbContext(typeof(DefaultDbContext))]
+    [Migration("20250808051314_UpdateResource0808")]
+    partial class UpdateResource0808
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "9.0.7")
+                .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("EnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDisabled")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("ParentId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Path")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Remark")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("EnterpriseId");
+
+                    b.HasIndex("ParentId");
+
+                    b.ToTable("Department");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.DictionaryCategory", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("FieldNames")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("Remark")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("DictionaryCategory");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("CategoryId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("Content")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Deep")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Field1")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Field2")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Field3")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Field4")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Field5")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDisabled")
+                        .HasColumnType("bit");
+
+                    b.Property<Guid?>("ParentId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Path")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("CategoryId");
+
+                    b.HasIndex("Code")
+                        .IsUnique();
+
+                    b.HasIndex("ParentId");
+
+                    b.ToTable("DictionaryData");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("BankBranchName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("BankCard")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("BankName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("CityCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("ContactEmail")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ContactPhoneNumber")
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<string>("Contacts")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("EnterpriseName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("IndustryTypeCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<bool>("IsCheckedBankCard")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsReal")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("LegalIdentity")
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
+                    b.Property<string>("LegalPerson")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("LicenseImage")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("MainBusiness")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<decimal?>("MergeSignCost")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<int?>("PayAccess")
+                        .HasColumnType("int");
+
+                    b.Property<string>("ProvinceCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int?>("RealAccess")
+                        .HasColumnType("int");
+
+                    b.Property<decimal?>("RealVerifyCost")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<decimal?>("SignCost")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<int?>("SmsAccess")
+                        .HasColumnType("int");
+
+                    b.Property<decimal>("SmsCost")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<string>("SocietyCreditCode")
+                        .IsRequired()
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("CityCode");
+
+                    b.HasIndex("IndustryTypeCode");
+
+                    b.HasIndex("ProvinceCode");
+
+                    b.ToTable("Enterprise");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.EnterpriseAuth", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("BankCard")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("BankCardImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("EnterpriseName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int?>("EnterpriseRealMethod")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Identity")
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
+                    b.Property<string>("IdentityBackImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("IdentityImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("LegalIdentity")
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
+                    b.Property<string>("LegalPerson")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("LicenseImage")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Name")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<int?>("PersonalRealMethod")
+                        .HasColumnType("int");
+
+                    b.Property<string>("PhoneNumber")
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<bool?>("Proxy")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("ProxyPowerAttorneyUrl")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("SocietyCreditCode")
+                        .IsRequired()
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("EnterpriseAuth");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("ClientType")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Group")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Icon")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsCache")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDisabled")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("Location")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<Guid?>("ParentId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Path")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Remark")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("int");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Url")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("UserType")
+                        .HasColumnType("int");
+
+                    b.Property<int>("VisitLevel")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Width")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ParentId");
+
+                    b.ToTable("Menu");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Resource", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("ActionName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ActionSummary")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("AllowAnonymous")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("ApplicationName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Controller")
+                        .HasColumnType("int");
+
+                    b.Property<string>("ControllerSummary")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("DynamicAssemblyName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsExpired")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Method")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("RequestTypeFullName")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("RequestTypeName")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ResponseTypeFullName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ResponseTypeName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Route")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("RouteArea")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Service")
+                        .HasColumnType("int");
+
+                    b.Property<string>("ServiceName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Resource");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("ClientType")
+                        .HasColumnType("int");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("DataPower")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDisabled")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("MinLevel")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("Remark")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("UserType")
+                        .HasColumnType("int");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Role");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<Guid>("MenuId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("RoleId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("MenuId");
+
+                    b.HasIndex("RoleId");
+
+                    b.ToTable("RoleMenu");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.RoleResource", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("DataPower")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<Guid>("ResourceId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("RoleId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ResourceId");
+
+                    b.HasIndex("RoleId");
+
+                    b.ToTable("RoleResource");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("AddressDetail")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("AddressName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("AgeMaxLimit")
+                        .HasColumnType("int");
+
+                    b.Property<int>("AgeMinLimit")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("BeginTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("BillingMethod")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("CheckReceiveStatus")
+                        .HasColumnType("int");
+
+                    b.Property<string>("CityCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("Code")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTime>("EndTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<Guid>("EnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("GenderLimit")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<decimal?>("Latitude")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<decimal?>("Longitude")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ProvinceCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int>("RecommendStatus")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ReleaseStatus")
+                        .HasColumnType("int");
+
+                    b.Property<decimal>("ServiceFee")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<int>("SettlementCycle")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("SettlementStatus")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("CityCode");
+
+                    b.HasIndex("EnterpriseId");
+
+                    b.HasIndex("ProvinceCode");
+
+                    b.ToTable("TaskInfo");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("BenefitCode")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<Guid>("TaskInfoId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("BenefitCode");
+
+                    b.HasIndex("TaskInfoId");
+
+                    b.ToTable("TaskInfoBenefit");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<Guid>("TaskInfoId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("TypeCode")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("TaskInfoId");
+
+                    b.HasIndex("TypeCode");
+
+                    b.ToTable("TaskInfoCredentialLimit");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("HireStatus")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime?>("HireTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int?>("SignContractStatus")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime?>("SignContractTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<Guid>("TaskInfoId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("TaskInfoId");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("TaskInfoUser");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Avatar")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("CityCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("EnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsCheckPhoneNumber")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsReal")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Level")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("Password")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("PhoneNumber")
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<string>("ProvinceCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int?>("RealAccess")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Remark")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("int");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("WxmpOpenId")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("CityCode");
+
+                    b.HasIndex("EnterpriseId");
+
+                    b.HasIndex("ProvinceCode");
+
+                    b.ToTable("User");
+
+                    b.HasData(
+                        new
+                        {
+                            Id = new Guid("11111111-1111-1111-1111-111111111111"),
+                            CreatedTime = new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)),
+                            IsCheckPhoneNumber = false,
+                            IsDeleted = false,
+                            IsReal = false,
+                            Level = 999,
+                            Name = "绠$悊鍛�",
+                            Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=",
+                            Sort = 0,
+                            Status = 10,
+                            Type = 100,
+                            UserName = "system"
+                        });
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("BankCard")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("BankCardImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Identity")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("IdentityBackImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("IdentityImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("PhoneNumber")
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("UserAuth");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserBankCard", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Bank")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("PhoneNumber")
+                        .IsRequired()
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserBankCard");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserCredential", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("BackImg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Code")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTime>("EndDate")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("Img")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsForever")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("IssueUnit")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("StartDate")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("TypeCode")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("TypeCode");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserCredential");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserDepartment", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("DepartmentId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("DepartmentId");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserDepartment");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserExpectJob", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("PersonalIdentityCode")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("PersonalIdentityCode");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserExpectJob");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserPhoto", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Img")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserPhoto");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserResume", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("EducationalBackgroundCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int?>("FreeTime")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("Height")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int?>("JobSeekingStatus")
+                        .HasColumnType("int");
+
+                    b.Property<string>("PersonalIdentityCode")
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int?>("Weight")
+                        .HasColumnType("int");
+
+                    b.Property<string>("WorkExperience")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("WorkSeniority")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("EducationalBackgroundCode");
+
+                    b.HasIndex("PersonalIdentityCode");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserResume");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserRole", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<Guid>("RoleId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("RoleId");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("UserRole");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
+                        .WithMany("Departments")
+                        .HasForeignKey("EnterpriseId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.Department", "Parent")
+                        .WithMany("Children")
+                        .HasForeignKey("ParentId");
+
+                    b.Navigation("Enterprise");
+
+                    b.Navigation("Parent");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryCategory", "Category")
+                        .WithMany()
+                        .HasForeignKey("CategoryId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Parent")
+                        .WithMany("Children")
+                        .HasForeignKey("ParentId");
+
+                    b.Navigation("Category");
+
+                    b.Navigation("Parent");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
+                        .WithMany()
+                        .HasForeignKey("CityCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "IndustryType")
+                        .WithMany()
+                        .HasForeignKey("IndustryTypeCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
+                        .WithMany()
+                        .HasForeignKey("ProvinceCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.Navigation("City");
+
+                    b.Navigation("IndustryType");
+
+                    b.Navigation("Province");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.EnterpriseAuth", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
+                        .WithOne("EnterpriseAuth")
+                        .HasForeignKey("FlexJobApi.Core.EnterpriseAuth", "Id")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Enterprise");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Menu", "Parent")
+                        .WithMany("Children")
+                        .HasForeignKey("ParentId");
+
+                    b.Navigation("Parent");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Menu", "Menu")
+                        .WithMany()
+                        .HasForeignKey("MenuId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.Role", "Role")
+                        .WithMany("RoleMenus")
+                        .HasForeignKey("RoleId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Menu");
+
+                    b.Navigation("Role");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.RoleResource", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Resource", "Resource")
+                        .WithMany()
+                        .HasForeignKey("ResourceId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.Role", "Role")
+                        .WithMany("RoleResources")
+                        .HasForeignKey("RoleId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Resource");
+
+                    b.Navigation("Role");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
+                        .WithMany()
+                        .HasForeignKey("CityCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
+                        .WithMany()
+                        .HasForeignKey("EnterpriseId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
+                        .WithMany()
+                        .HasForeignKey("ProvinceCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.Navigation("City");
+
+                    b.Navigation("Enterprise");
+
+                    b.Navigation("Province");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Benefit")
+                        .WithMany()
+                        .HasForeignKey("BenefitCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
+                        .WithMany("Benefits")
+                        .HasForeignKey("TaskInfoId")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("Benefit");
+
+                    b.Navigation("TaskInfo");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
+                        .WithMany("CredentialLimits")
+                        .HasForeignKey("TaskInfoId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
+                        .WithMany()
+                        .HasForeignKey("TypeCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("TaskInfo");
+
+                    b.Navigation("Type");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
+                        .WithMany()
+                        .HasForeignKey("TaskInfoId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("TaskInfo");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
+                        .WithMany()
+                        .HasForeignKey("CityCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
+                        .WithMany("Users")
+                        .HasForeignKey("EnterpriseId");
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
+                        .WithMany()
+                        .HasForeignKey("ProvinceCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.Navigation("City");
+
+                    b.Navigation("Enterprise");
+
+                    b.Navigation("Province");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithOne("UserAuth")
+                        .HasForeignKey("FlexJobApi.Core.UserAuth", "Id")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserBankCard", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("BankCards")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserCredential", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
+                        .WithMany()
+                        .HasForeignKey("TypeCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserCredentials")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Type");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserDepartment", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Department", "Department")
+                        .WithMany()
+                        .HasForeignKey("DepartmentId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserDepartments")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Department");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserExpectJob", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
+                        .WithMany()
+                        .HasForeignKey("PersonalIdentityCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserExpectJobs")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("PersonalIdentity");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserPhoto", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("Photos")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserResume", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "EducationalBackground")
+                        .WithMany()
+                        .HasForeignKey("EducationalBackgroundCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
+                        .WithMany()
+                        .HasForeignKey("PersonalIdentityCode")
+                        .HasPrincipalKey("Code")
+                        .OnDelete(DeleteBehavior.Restrict);
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("EducationalBackground");
+
+                    b.Navigation("PersonalIdentity");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.UserRole", b =>
+                {
+                    b.HasOne("FlexJobApi.Core.Role", "Role")
+                        .WithMany("UserRoles")
+                        .HasForeignKey("RoleId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserRoles")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Role");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
+                {
+                    b.Navigation("Children");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
+                {
+                    b.Navigation("Children");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
+                {
+                    b.Navigation("Departments");
+
+                    b.Navigation("EnterpriseAuth");
+
+                    b.Navigation("Users");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
+                {
+                    b.Navigation("Children");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
+                {
+                    b.Navigation("RoleMenus");
+
+                    b.Navigation("RoleResources");
+
+                    b.Navigation("UserRoles");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
+                {
+                    b.Navigation("Benefits");
+
+                    b.Navigation("CredentialLimits");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
+                {
+                    b.Navigation("BankCards");
+
+                    b.Navigation("Photos");
+
+                    b.Navigation("UserAuth");
+
+                    b.Navigation("UserCredentials");
+
+                    b.Navigation("UserDepartments");
+
+                    b.Navigation("UserExpectJobs");
+
+                    b.Navigation("UserRoles");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.cs b/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.cs
new file mode 100644
index 0000000..6b02b60
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/20250808051314_UpdateResource0808.cs
@@ -0,0 +1,54 @@
+锘縰sing Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace FlexJobApi.Database.Migrations.Migrations
+{
+    /// <inheritdoc />
+    public partial class UpdateResource0808 : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AlterColumn<string>(
+                name: "ResponseTypeName",
+                table: "Resource",
+                type: "nvarchar(max)",
+                nullable: true,
+                oldClrType: typeof(string),
+                oldType: "nvarchar(max)");
+
+            migrationBuilder.AlterColumn<string>(
+                name: "ResponseTypeFullName",
+                table: "Resource",
+                type: "nvarchar(max)",
+                nullable: true,
+                oldClrType: typeof(string),
+                oldType: "nvarchar(max)");
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AlterColumn<string>(
+                name: "ResponseTypeName",
+                table: "Resource",
+                type: "nvarchar(max)",
+                nullable: false,
+                defaultValue: "",
+                oldClrType: typeof(string),
+                oldType: "nvarchar(max)",
+                oldNullable: true);
+
+            migrationBuilder.AlterColumn<string>(
+                name: "ResponseTypeFullName",
+                table: "Resource",
+                type: "nvarchar(max)",
+                nullable: false,
+                defaultValue: "",
+                oldClrType: typeof(string),
+                oldType: "nvarchar(max)",
+                oldNullable: true);
+        }
+    }
+}
diff --git a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
index 5e897d6..a6ae4ac 100644
--- a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
+++ b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
@@ -577,11 +577,9 @@
                         .HasColumnType("nvarchar(max)");
 
                     b.Property<string>("ResponseTypeFullName")
-                        .IsRequired()
                         .HasColumnType("nvarchar(max)");
 
                     b.Property<string>("ResponseTypeName")
-                        .IsRequired()
                         .HasColumnType("nvarchar(max)");
 
                     b.Property<string>("Route")
diff --git a/FlexJobApi.Database.Migrations/REDEME.MD b/FlexJobApi.Database.Migrations/REDEME.MD
index f2fd816..2be095d 100644
--- a/FlexJobApi.Database.Migrations/REDEME.MD
+++ b/FlexJobApi.Database.Migrations/REDEME.MD
@@ -1,7 +1,7 @@
 -------------------------------主数据库---------------------------------------
 
 新增迁移文件
-dotnet ef migrations add UpdateUser0807 -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
+dotnet ef migrations add UpdateResource0808 -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
 
 删除迁移文件
 dotnet ef migrations remove -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
index bf22bf4..119cc75 100644
--- a/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -87,6 +87,7 @@
             {
                 q = q.Where(it => it.RecommendStatus == request.RecommendStatus);
             }
+            q = q.CustomOrderBy(request.PageModel.OrderInput);
             var s = from t in q
                     join tu in rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() on t.Id equals tu.TaskInfoId into tug
                     select new GetTaskInfosQueryResultItem
@@ -102,7 +103,11 @@
                         Status = t.Status,
                         BeginTime = t.BeginTime,
                         EndTime = t.EndTime,
-                        ReleaseStatus = t.ReleaseStatus
+                        ReleaseStatus = t.ReleaseStatus,
+                        CheckReceiveStatus = t.CheckReceiveStatus,
+                        CreatedTime = t.CreatedTime,
+                        RecommendStatus = t.RecommendStatus,
+                        SettlementStatus = t.SettlementStatus
                     };
             return request.PageModel.GetPagedListAsync(s, cancellationToken);
         }
diff --git a/FlexJobApi.UserServer.Application/Auths/Commands/VerifyCodeCommandHandler.cs b/FlexJobApi.UserServer.Application/Auths/Commands/VerifyCodeCommandHandler.cs
new file mode 100644
index 0000000..00c5761
--- /dev/null
+++ b/FlexJobApi.UserServer.Application/Auths/Commands/VerifyCodeCommandHandler.cs
@@ -0,0 +1,39 @@
+锘縰sing FlexJobApi.Core;
+using Mapster;
+using MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.UserServer.Application
+{
+    /// <summary>
+    /// 楠岃瘉鐮佸懡浠ゅ鐞嗗櫒
+    /// </summary>
+    public class VerifyCodeCommandHandler
+        : IRequestHandler<SendVerifyCodeCommand>
+    {
+        /// <summary>
+        /// 鍙戦�侀獙璇佺爜
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public Task Handle(SendVerifyCodeCommand request, CancellationToken cancellationToken)
+        {
+            throw new Exception();
+            //var callback = new FriendlyEmptyCallback();
+            //var code = new Random().Next(100000, 999999).ToString();
+            //var entity = new SmsLog();
+            //request.Adapt(entity);
+            //entity.Expiry = DateTime.Now.AddMinutes(30);
+            //entity.TemplateParam = new { code }.ToJson();
+            //await utils.SendAsync(request.PhoneNumber, request.TemplateCode, entity.TemplateParam, cancellationToken);
+            //rep.Add(entity);
+            //await rep.SaveChangesAsync(cancellationToken);
+            //return new FriendlyEmptyCallback("楠岃瘉鐮佸凡鍙戦�侊紝璇锋煡鏀�");
+        }
+    }
+}
diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
index 6bf9d70..0595bc9 100644
--- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
+++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -17,6 +17,19 @@
         <member name="M:FlexJobApi.UserServer.Application.PasswordLoginCommandHandler.Handle(FlexJobApi.Core.PasswordLoginCommand,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
+        <member name="T:FlexJobApi.UserServer.Application.VerifyCodeCommandHandler">
+            <summary>
+            楠岃瘉鐮佸懡浠ゅ鐞嗗櫒
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.VerifyCodeCommandHandler.Handle(FlexJobApi.Core.SendVerifyCodeCommand,System.Threading.CancellationToken)">
+            <summary>
+            鍙戦�侀獙璇佺爜
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
         <member name="T:FlexJobApi.UserServer.Application.GetAliyunOSSAcsQueryHandler">
             <summary>
             鑾峰彇闃块噷浜慜SS鎺堟潈淇℃伅

--
Gitblit v1.9.1