From 32288af3e5f12bc48d8360114c872fde5d9ff4a8 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 08 八月 2025 09:09:08 +0800
Subject: [PATCH] pref:优化

---
 FlexJobApi.Core/Entities/Users/UserAuth.cs                                                                |   59 
 FlexJobApi.UserServer.Application/Menus/Queries/GetMenuQueryHandler.cs                                    |    2 
 FlexJobApi.Core/Models/UserServer/Users/Queries/GetUserInfoRolesQuery.cs                                  |    2 
 FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs                        |   53 
 FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs                |    2 
 FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs                                |    6 
 FlexJobApi.UserServer.Application/Menus/Queries/GetMenusQueryHandler.cs                                   |    2 
 FlexJobApi.Core/Entities/Users/Role.cs                                                                    |    4 
 FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuCommand.cs                                       |    0 
 FlexJobApi.UserServer.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs                        |   16 
 FlexJobApi.Core/FlexJobApi.Core.xml                                                                       |  717 +++--
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs                                   |    0 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryDataCommand.cs                   |    0 
 FlexJobApi.sln                                                                                            |   34 
 FlexJobApi.UserServer.Application/Menus/Commands/DeleteMenuCommandHandler.cs                              |    2 
 FlexJobApi.Core/Enums/Common/EnumResourceService.cs                                                       |   10 
 FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.csproj                          |   18 
 FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs                           |   27 
 FlexJobApi.Core/Entities/Users/UserPhoto.cs                                                               |    6 
 FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs                               |   44 
 FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourceFieldsQuery.cs                             |    0 
 FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.cs                                | 1550 ++++++++++++
 FlexJobApi.Core/FlexJobApiCoreStartup.cs                                                                  |   10 
 FlexJobApi.UserServer.Application/Roles/Commands/SaveRoleCommandHandler.cs                                |    2 
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs                                    |    7 
 FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuButtonCommand.cs                                 |    0 
 FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs                                                                |    9 
 FlexJobApi.UserServer.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs                      |    2 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs                 |    2 
 FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs                           |    2 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategorySelectQuery.cs             |    0 
 FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseElectronSignSettingQuery.cs            |    0 
 FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuFieldCommand.cs                                  |    0 
 FlexJobApi.Core/Utils/StringUtils/StringUtils.cs                                                          |    3 
 FlexJobApi.Core/Entities/Users/User.cs                                                                    |  202 +
 FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs         |    0 
 FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterprisesQuery.cs                              |    0 
 FlexJobApi.UserServer.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs                           |    2 
 FlexJobApi.Core/Entities/Users/UserRole.cs                                                                |    6 
 FlexJobApi.Core/Models/UserServer/Auths/Commands/PasswordLoginCommand.cs                                  |    0 
 FlexJobApi.Core/Utils/ResourceUtils/ResourceActionFilter.cs                                               |    4 
 FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.cs                            |  199 +
 FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SaveEnterpriseCommand.cs                           |   44 
 FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRolesQuery.cs                                          |    0 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SyncHumanResourcesAreaDictionaryDataCommand.cs |    0 
 FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs                          |   16 
 FlexJobApi.Core/Models/UserServer/Menus/Commands/DeleteMenuCommand.cs                                     |    0 
 FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenusQuery.cs                                          |    0 
 FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs                                                          |   10 
 FlexJobApi.Core/Entities/CommonEntity.cs                                                                  |   18 
 FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs             |    2 
 FlexJobApi.Core/Models/UserServer/Roles/Commands/DeleteRoleCommand.cs                                     |    0 
 FlexJobApi.Core/Utils/ConsoleLogUtils/DatabaseLoggingWriter.cs                                            |    4 
 FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenusQuery.cs                             |    0 
 FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.csproj                                |    7 
 FlexJobApi.Core/Utils/DbUtils/DbUtils.cs                                                                  |   18 
 FlexJobApi.UserServer.Application/Roles/Queries/GetRoleQueryHandler.cs                                    |    2 
 FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleUserInfosQuery.cs                                  |    0 
 FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoStatusCommand.cs                              |    4 
 FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.Designer.cs                   |  364 ++
 FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleQuery.cs                                           |    0 
 FlexJobApi.Core/Models/UserServer/Menus/Commands/SetMenuSwitchCommand.cs                                  |    0 
 FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoRolesCommand.cs                               |    2 
 FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs                      |    8 
 FlexJobApi.Core/Models/UserServer/Users/Queries/GetOperationUserInfosQuery.cs                             |    6 
 FlexJobApi.UserServer.Application/Users/Queries/GetOperationUserInfosQueryHandler.cs                      |   63 
 FlexJobApi.UserServer.Application/Resources/Queries/GetResourcesQueryHandler.cs                           |    2 
 FlexJobApi.UserServer.Application/EnumUserErrorCodeType.cs                                                |    9 
 FlexJobApi.Core/Enums/Users/EnumUserStatus.cs                                                             |    2 
 FlexJobApi.Core/Models/UserServer/Roles/Commands/SaveRoleCommand.cs                                       |    0 
 FlexJobApi.UserServer.Application/Roles/Queries/GetRolesQueryHandler.cs                                   |    8 
 FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs                                |  696 +++--
 FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs            |    2 
 FlexJobApi.UserServer.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs                            |    2 
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SaveTaskInfoCommand.cs                                |    8 
 FlexJobApi.Database.Migrations/Migrations/LogDb/LogDbContextModelSnapshot.cs                              |   42 
 FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml                             |  191 +
 FlexJobApi.Core/Entities/Tasks/TaskInfo.cs                                                                |    7 
 FlexJobApi.UserServer.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs                       |    2 
 FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenuQuery.cs                                           |    0 
 FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenuQuery.cs                              |    0 
 FlexJobApi.Core/Entities/Users/Enterprise.cs                                                              |   49 
 FlexJobApi.UserServer.Application/Roles/Commands/DeleteRoleCommandHandler.cs                              |    2 
 FlexJobApi.Web.Entry/FlexJobApi.Web.Entry.csproj                                                          |    4 
 FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs                  |    4 
 FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs                                |    6 
 FlexJobApi.Core/Entities/Users/UserExpectJob.cs                                                           |    8 
 FlexJobApi.Core/Entities/Tasks/TaskInfoUser.cs                                                            |    4 
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs                  |    0 
 FlexJobApi.Core/Entities/Users/UserCredential.cs                                                          |    8 
 FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs                          |    2 
 FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs                  |    0 
 FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml                                   |  436 +++
 FlexJobApi.Database.Migrations/REDEME.MD                                                                  |    4 
 FlexJobApi.Core/Enums/Common/EnumResourceController.cs                                                    |   18 
 FlexJobApi.Core/Entities/Users/UserBankCard.cs                                                            |    6 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategoriesQuery.cs                 |    0 
 FlexJobApi.Core/Entities/Users/UserDepartment.cs                                                          |    6 
 FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs                       |    8 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDatasQuery.cs                      |    0 
 FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs                                                           |    2 
 FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleUserInfosCommand.cs                               |    0 
 FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuCommandHandler.cs                                |    2 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/DeleteDictionaryCategoryCommand.cs             |    0 
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs                             |    0 
 FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs                             |    7 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryCategoryCommand.cs               |    0 
 FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleIsDisabledCommand.cs                              |    0 
 FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourcesQuery.cs                                  |    0 
 FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs                    |    0 
 /dev/null                                                                                                 |    7 
 FlexJobApi.Core/Entities/Users/UserResume.cs                                                              |   93 
 FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseSmsSettingQuery.cs                     |    0 
 FlexJobApi.UserServer.Application/Users/Queries/GetUserInfoRolesQueryHandler.cs                           |   16 
 FlexJobApi.Core/Models/UserServer/Auths/Queries/GetAliyunOSSAcsQuery.cs                                   |    0 
 FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.Designer.cs                       | 1998 ++++++++++++++++
 FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs                           |   41 
 FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs          |    0 
 118 files changed, 6,287 insertions(+), 987 deletions(-)

diff --git a/FlexJobApi.Application/FlexJobApi.Application.xml b/FlexJobApi.Application/FlexJobApi.Application.xml
deleted file mode 100644
index 280b148..0000000
--- a/FlexJobApi.Application/FlexJobApi.Application.xml
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>FlexJobApi.Application</name>
-    </assembly>
-    <members>
-        <member name="T:FlexJobApi.Application.DictionaryCategoryCommandHandler">
-            <summary>
-            瀛楀吀绫诲埆鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoryCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
-            <summary>
-            瀛楀吀绫诲埆鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoryCommandHandler.Handle(FlexJobApi.Core.DeleteDictionaryCategoryCommand,System.Threading.CancellationToken)">
-            <summary>
-            鍒犻櫎鏁版嵁瀛楀吀绫诲埆
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoryCommandHandler.Handle(FlexJobApi.Core.SaveDictionaryCategoryCommand,System.Threading.CancellationToken)">
-            <summary>
-            淇濆瓨鏁版嵁瀛楀吀绫诲埆
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.Application.DictionaryDataCommandHandler">
-            <summary>
-            鏁版嵁瀛楀吀鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDataCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory})">
-            <summary>
-            鏁版嵁瀛楀吀鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SaveDictionaryDataCommand,System.Threading.CancellationToken)">
-            <summary>
-            淇濆瓨鏁版嵁瀛楀吀
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SetDictionaryDataIsDisabledCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆鏁版嵁瀛楀吀鏄惁绂佺敤
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SyncHumanResourcesAreaDictionaryDataCommand,System.Threading.CancellationToken)">
-            <summary>
-            鍚屾浜哄姏璧勬簮鍦板尯瀛楀吀鏁版嵁
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDataCommandHandler.LoopSyncHumanResourcesAreaDictionaryData(System.Guid,System.Collections.Generic.List{FlexJobApi.Core.DictionaryData},System.Collections.Generic.List{FlexJobApi.Core.BaseArea},System.Collections.Generic.List{FlexJobApi.Core.BaseArea},System.Int32)">
-            <summary>
-            閫掑綊鍚屾浜哄姏璧勬簮鍦板尯瀛楀吀鏁版嵁
-            </summary>
-            <param name="categoryId"></param>
-            <param name="entities"></param>
-            <param name="all"></param>
-            <param name="areas"></param>
-            <param name="deep"></param>
-        </member>
-        <member name="T:FlexJobApi.Application.DictionaryCategoriesQueryHandler">
-            <summary>
-            鏁版嵁瀛楀吀绫诲埆鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoriesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory})">
-            <summary>
-            鏁版嵁瀛楀吀绫诲埆鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoriesQueryHandler.Handle(FlexJobApi.Core.GetDictionaryCategoriesQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ鏁版嵁瀛楀吀绫诲埆鍒嗛〉鍒楄〃鏁版嵁
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryCategoriesQueryHandler.Handle(FlexJobApi.Core.GetDictionaryCategorySelectQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ鏁版嵁瀛楀吀绫诲埆閫夋嫨鍣ㄦ暟鎹�
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.Application.DictionaryDatasQueryHandler">
-            <summary>
-            鏁版嵁瀛楀吀鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDatasQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
-            <summary>
-            鏁版嵁瀛楀吀鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDatasQueryHandler.Handle(FlexJobApi.Core.GetDictionaryDatasQuery,System.Threading.CancellationToken)">
-            <summary>
-            鑾峰彇鏁版嵁瀛楀吀鍒嗛〉鍒楄〃鏁版嵁
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.DictionaryDatasQueryHandler.Handle(FlexJobApi.Core.GetDictionaryDataSelectQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ鏁版嵁瀛楀吀閫夋嫨鍣�
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.Application.TaskInfoCommandHandler">
-            <summary>
-            浠诲姟鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo})">
-            <summary>
-            浠诲姟鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SaveTaskInfoCommand,System.Threading.CancellationToken)">
-            <summary>
-            淇濆瓨浠诲姟
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-            <exception cref="T:System.NotImplementedException"></exception>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoReleaseStatusCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆浠诲姟鍙戝竷鐘舵��
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoRecommendStatusCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆浠诲姟鏄惁鎺ㄨ崘
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.Application.TaskInfoQueryHandler">
-            <summary>
-            浠诲姟鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo})">
-            <summary>
-            浠诲姟鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetTaskInfoQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浠诲姟璇︽儏
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetTaskInfosQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浠诲姟鍒嗛〉鍒楄〃
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-    </members>
-</doc>
diff --git a/FlexJobApi.Core/Entities/CommonEntity.cs b/FlexJobApi.Core/Entities/CommonEntity.cs
index 9265880..1728392 100644
--- a/FlexJobApi.Core/Entities/CommonEntity.cs
+++ b/FlexJobApi.Core/Entities/CommonEntity.cs
@@ -24,12 +24,17 @@
         /// <summary>
         /// 鍒涘缓鎿嶄綔浜�
         /// </summary>
-        public virtual Guid? CreatedUserInfoId { get; set; }
+        public virtual Guid? CreatedUserId { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓浼佷笟Id
+        /// </summary>
+        public virtual Guid? CreatedEnterpriseId { get; set; }
 
         /// <summary>
         /// 鏈�鍚庢洿鏂版搷浣滀汉
         /// </summary>
-        public virtual Guid? UpdatedUserInfoId { get; set; }
+        public virtual Guid? UpdatedUserId { get; set; }
 
         /// <summary>
         /// 鏄惁鍒犻櫎
@@ -52,12 +57,17 @@
         /// <summary>
         /// 鍒涘缓鎿嶄綔浜�
         /// </summary>
-        public virtual Guid? CreatedUserInfoId { get; set; }
+        public virtual Guid? CreatedUserId { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓浼佷笟Id
+        /// </summary>
+        public virtual Guid? CreatedEnterpriseId { get; set; }
 
         /// <summary>
         /// 鏈�鍚庢洿鏂版搷浣滀汉
         /// </summary>
-        public virtual Guid? UpdatedUserInfoId { get; set; }
+        public virtual Guid? UpdatedUserId { get; set; }
 
         /// <summary>
         /// 鏄惁鍒犻櫎
diff --git a/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs b/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs
index d5a480a..54a2ed5 100644
--- a/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs
+++ b/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs
@@ -103,9 +103,14 @@
         public DictionaryData City { get; set; }
 
         /// <summary>
+        /// 浠诲姟鍦扮偣鍚嶇О
+        /// </summary>
+        public string AddressName { get; set; }
+
+        /// <summary>
         /// 浠诲姟鍦扮偣璇︾粏鍦板潃
         /// </summary>
-        public string Address { get; set; }
+        public string AddressDetail { get; set; }
 
         /// <summary>
         /// 缁忓害
diff --git a/FlexJobApi.Core/Entities/Tasks/TaskInfoUser.cs b/FlexJobApi.Core/Entities/Tasks/TaskInfoUser.cs
index e496d75..b09201f 100644
--- a/FlexJobApi.Core/Entities/Tasks/TaskInfoUser.cs
+++ b/FlexJobApi.Core/Entities/Tasks/TaskInfoUser.cs
@@ -24,12 +24,12 @@
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 褰曠敤鐘舵��
diff --git a/FlexJobApi.Core/Entities/Users/Enterprise.cs b/FlexJobApi.Core/Entities/Users/Enterprise.cs
index 65ac6ef..421f20c 100644
--- a/FlexJobApi.Core/Entities/Users/Enterprise.cs
+++ b/FlexJobApi.Core/Entities/Users/Enterprise.cs
@@ -17,19 +17,45 @@
     {
         public Enterprise()
         {
-            UserInfos = [];
+            Users = [];
             Departments = [];
         }
-
-        /// <summary>
-        /// 浼佷笟璁よ瘉Id
-        /// </summary>
-        public Guid EnterpriseAuthId { get; set; }
 
         /// <summary>
         /// 浼佷笟璁よ瘉
         /// </summary>
         public EnterpriseAuth EnterpriseAuth { get; set; }
+
+        /// <summary>
+        /// 浼佷笟鍏ㄧО
+        /// </summary>
+        [Required]
+        [MaxLength(128)]
+        public string EnterpriseName { get; set; }
+
+        /// <summary>
+        /// 缁熶竴绀句細淇$敤浠g爜
+        /// </summary>
+        [Required]
+        [MaxLength(18)]
+        public string SocietyCreditCode { get; set; }
+
+        /// <summary>
+        /// 钀ヤ笟鎵х収鐓х墖
+        /// </summary>
+        public string LicenseImage { get; set; }
+
+        /// <summary>
+        /// 娉曚汉濮撳悕
+        /// </summary>
+        [MaxLength(32)]
+        public string LegalPerson { get; set; }
+
+        /// <summary>
+        /// 娉曚汉韬唤璇佸彿
+        /// </summary>
+        [MaxLength(18)]
+        public string LegalIdentity { get; set; }
 
         /// <summary>
         /// 鎵�鍦ㄧ渷浠界紪鍙�
@@ -140,6 +166,11 @@
         public decimal SmsCost { get; set; }
 
         /// <summary>
+        /// 鏄惁瀹炲悕
+        /// </summary>
+        public bool IsReal { get; set; }
+
+        /// <summary>
         /// 閮ㄩ棬
         /// </summary>
         public List<Department> Departments { get; set; }
@@ -147,11 +178,15 @@
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public List<UserInfo> UserInfos { get; set; }
+        public List<User> Users { get; set; }
 
         public void Configure(EntityTypeBuilder<Enterprise> entityBuilder, DbContext dbContext, Type dbContextLocator)
         {
             entityBuilder
+                .HasOne(it => it.EnterpriseAuth)
+                .WithOne(it => it.Enterprise)
+                .HasForeignKey<EnterpriseAuth>(it => it.Id);
+            entityBuilder
                 .HasOne(it => it.Province)
                 .WithMany()
                 .HasForeignKey(it => it.ProvinceCode)
diff --git a/FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs b/FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs
index c37a6fc..154ad96 100644
--- a/FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs
+++ b/FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs
@@ -13,6 +13,11 @@
     public class EnterpriseAuth : CommonEntity
     {
         /// <summary>
+        /// 浼佷笟淇℃伅
+        /// </summary>
+        public Enterprise Enterprise { get; set; }
+
+        /// <summary>
         /// 浼佷笟璁よ瘉鏂瑰紡
         /// </summary>
         public EnumEnterpriseRealMethod? EnterpriseRealMethod { get; set; }
@@ -101,10 +106,5 @@
         /// 浼佷笟鎺堟潈涔�
         /// </summary>
         public string ProxyPowerAttorneyUrl { get; set; }
-
-        /// <summary>
-        /// 鏄惁瀹炲悕
-        /// </summary>
-        public bool IsReal { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Entities/Users/Role.cs b/FlexJobApi.Core/Entities/Users/Role.cs
index af3775f..e1bee10 100644
--- a/FlexJobApi.Core/Entities/Users/Role.cs
+++ b/FlexJobApi.Core/Entities/Users/Role.cs
@@ -16,7 +16,7 @@
         {
             RoleMenus = [];
             RoleResources = [];
-            UserInfoRoles = [];
+            UserRoles = [];
         }
 
         /// <summary>
@@ -69,6 +69,6 @@
         /// <summary>
         /// 鐢ㄦ埛瑙掕壊
         /// </summary>
-        public List<UserInfoRole> UserInfoRoles { get; set; }
+        public List<UserRole> UserRoles { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Entities/Users/User.cs b/FlexJobApi.Core/Entities/Users/User.cs
new file mode 100644
index 0000000..d37a7a7
--- /dev/null
+++ b/FlexJobApi.Core/Entities/Users/User.cs
@@ -0,0 +1,202 @@
+锘縰sing Furion.DatabaseAccessor;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+using 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 User : CommonEntity, IEntitySeedData<User>, IEntityTypeBuilder<User>
+    {
+        public User()
+        {
+            UserRoles = [];
+            UserDepartments = [];
+            BankCards = [];
+            UserExpectJobs = [];
+            UserCredentials = [];
+            Photos = [];
+        }
+
+        /// <summary>
+        /// 鐢ㄦ埛璁よ瘉
+        /// </summary>
+        public UserAuth UserAuth { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛绫诲瀷
+        /// </summary>
+        public EnumUserType Type { get; set; }
+
+        /// <summary>
+        /// 浼佷笟Id
+        /// </summary>
+        public Guid? EnterpriseId { get; set; }
+
+        /// <summary>
+        /// 浼佷笟
+        /// </summary>
+        public Enterprise Enterprise { get; set; }
+
+        /// <summary>
+        /// 澶村儚
+        /// </summary>
+        public string Avatar { get; set; }
+
+        /// <summary>
+        /// 濮撳悕
+        /// </summary>
+        [Required]
+        [MaxLength(32)]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛鍚�
+        /// </summary>
+        [Required]
+        [MaxLength(32)]
+        public string UserName { get; set; }
+
+        /// <summary>
+        /// 鎵嬫満鍙�
+        /// </summary>
+        [MaxLength(11)]
+        public string PhoneNumber { get; set; }
+
+        /// <summary>
+        /// 鏄惁宸叉牎楠屾墜鏈哄彿
+        /// </summary>
+        public bool IsCheckPhoneNumber { get; set; }
+
+        /// <summary>
+        /// 瀵嗙爜
+        /// </summary>
+        public string Password { get; set; }
+
+        /// <summary>
+        /// 寰俊寮�鏀綢d
+        /// </summary>
+        [MaxLength(32)]
+        public string WxmpOpenId { get; set; }
+
+        /// <summary>
+        /// 绾у埆
+        /// </summary>
+        public int Level { get; set; }
+
+        /// <summary>
+        /// 瀹炲悕閫氶亾
+        /// </summary>
+        public EnumRealAccess? RealAccess { get; set; }
+
+        /// <summary>
+        /// 鏄惁瀹炲悕
+        /// </summary>
+        public bool IsReal { get; set; }
+
+        /// <summary>
+        /// 甯搁┗鐪佷唤缂栧彿
+        /// </summary>
+        public string ProvinceCode { get; set; }
+
+        /// <summary>
+        /// 甯搁┗鐪佷唤
+        /// </summary>
+        public DictionaryData Province { get; set; }
+
+        /// <summary>
+        /// 甯搁┗鍩庡競缂栧彿
+        /// </summary>
+        public string CityCode { get; set; }
+
+        /// <summary>
+        /// 甯搁┗鍩庡競
+        /// </summary>
+        public DictionaryData City { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 鐘舵��
+        /// </summary>
+        public EnumUserStatus Status { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛淇℃伅瑙掕壊
+        /// </summary>
+        public List<UserRole> UserRoles { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛淇℃伅閮ㄩ棬
+        /// </summary>
+        public List<UserDepartment> UserDepartments { get; set; }
+
+        /// <summary>
+        /// 閾惰鍗�
+        /// </summary>
+        public List<UserBankCard> BankCards { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
+        /// </summary>
+        public List<UserExpectJob> UserExpectJobs { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛淇℃伅璧勬牸璇佷功
+        /// </summary>
+        public List<UserCredential> UserCredentials { get; set; }
+
+        /// <summary>
+        /// 鐢熸椿鐓�
+        /// </summary>
+        public List<UserPhoto> Photos { get; set; }
+
+        public void Configure(EntityTypeBuilder<User> entityBuilder, DbContext dbContext, Type dbContextLocator)
+        {
+            entityBuilder
+                .HasOne(it => it.UserAuth)
+                .WithOne(it => it.User)
+                .HasForeignKey<UserAuth>(it => it.Id);
+            entityBuilder
+                .HasOne(it => it.Province)
+                .WithMany()
+                .HasForeignKey(it => it.ProvinceCode)
+                .HasPrincipalKey(it => it.Code)
+                .OnDelete(DeleteBehavior.Restrict);
+            entityBuilder
+                .HasOne(it => it.City)
+                .WithMany()
+                .HasForeignKey(it => it.CityCode)
+                .HasPrincipalKey(it => it.Code)
+                .OnDelete(DeleteBehavior.Restrict);
+        }
+
+        public IEnumerable<User> HasData(DbContext dbContext, Type dbContextLocator)
+        {
+            return new List<User>
+            {
+                new User
+                {
+                    Id = new Guid("11111111-1111-1111-1111-111111111111"),
+                    Name = "绠$悊鍛�",
+                    UserName = "system",
+                    Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=",
+                    Type = EnumUserType.Operation,
+                    Level = 999,
+                    Status = EnumUserStatus.Normal,
+                    CreatedTime = new DateTime(2000, 1, 1)
+                }
+            };
+        }
+    }
+}
diff --git a/FlexJobApi.Core/Entities/Users/UserAuth.cs b/FlexJobApi.Core/Entities/Users/UserAuth.cs
index c313775..93ca11c 100644
--- a/FlexJobApi.Core/Entities/Users/UserAuth.cs
+++ b/FlexJobApi.Core/Entities/Users/UserAuth.cs
@@ -12,14 +12,14 @@
 namespace FlexJobApi.Core
 {
     /// <summary>
-    /// 鐢ㄦ埛
+    /// 鐢ㄦ埛璁よ瘉
     /// </summary>
-    public class UserAuth : CommonEntity, IEntitySeedData<UserAuth>
+    public class UserAuth : CommonEntity
     {
-        public UserAuth()
-        {
-            UserInfos = [];
-        }
+        /// <summary>
+        /// 鐢ㄦ埛淇℃伅
+        /// </summary>
+        public User User { get; set; }
 
         /// <summary>
         /// 濮撳悕
@@ -29,27 +29,10 @@
         public string Name { get; set; }
 
         /// <summary>
-        /// 鐢ㄦ埛鍚�
-        /// </summary>
-        [Required]
-        [MaxLength(32)]
-        public string UserName { get; set; }
-
-        /// <summary>
         /// 鎵嬫満鍙�
         /// </summary>
         [MaxLength(11)]
         public string PhoneNumber { get; set; }
-
-        /// <summary>
-        /// 鏄惁宸叉牎楠屾墜鏈哄彿
-        /// </summary>
-        public bool IsCheckPhoneNumber { get; set; }
-
-        /// <summary>
-        /// 瀵嗙爜
-        /// </summary>
-        public string Password { get; set; }
 
         /// <summary>
         /// 韬唤璇佸彿
@@ -76,35 +59,5 @@
         /// 閾惰鍗$収鐗�
         /// </summary>
         public string BankCardImg { get; set; }
-
-        /// <summary>
-        /// 瀹炲悕閫氶亾
-        /// </summary>
-        public EnumRealAccess? RealAccess { get; set; }
-
-        /// <summary>
-        /// 鏄惁瀹炲悕
-        /// </summary>
-        public bool IsReal { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛淇℃伅
-        /// </summary>
-        public List<UserInfo> UserInfos { get; set; }
-
-        public IEnumerable<UserAuth> HasData(DbContext dbContext, Type dbContextLocator)
-        {
-            return new List<UserAuth>
-            {
-                new UserAuth
-                {
-                    Id = new Guid("11111111-1111-1111-1111-111111111111"),
-                    Name = "绠$悊鍛�",
-                    UserName = "system",
-                    Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=",
-                    CreatedTime = new DateTime(2000, 1, 1)
-                }
-            };
-        }
     }
 }
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoBankCard.cs b/FlexJobApi.Core/Entities/Users/UserBankCard.cs
similarity index 86%
rename from FlexJobApi.Core/Entities/Users/UserInfoBankCard.cs
rename to FlexJobApi.Core/Entities/Users/UserBankCard.cs
index 1752a2a..f5a9300 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoBankCard.cs
+++ b/FlexJobApi.Core/Entities/Users/UserBankCard.cs
@@ -10,17 +10,17 @@
     /// <summary>
     /// 鐢ㄦ埛閾惰鍗′俊鎭�
     /// </summary>
-    public class UserInfoBankCard : CommonEntity
+    public class UserBankCard : CommonEntity
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 閾惰鍗″彿
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs b/FlexJobApi.Core/Entities/Users/UserCredential.cs
similarity index 86%
rename from FlexJobApi.Core/Entities/Users/UserInfoCredential.cs
rename to FlexJobApi.Core/Entities/Users/UserCredential.cs
index f63c53a..b489180 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoCredential.cs
+++ b/FlexJobApi.Core/Entities/Users/UserCredential.cs
@@ -13,17 +13,17 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅璧勬牸璇佷功
     /// </summary>
-    public class UserInfoCredential : CommonEntity, IEntityTypeBuilder<UserInfoCredential>
+    public class UserCredential : CommonEntity, IEntityTypeBuilder<UserCredential>
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 璇佷功绫诲瀷缂栧彿
@@ -73,7 +73,7 @@
         /// </summary>
         public string BackImg { get; set; }
 
-        public void Configure(EntityTypeBuilder<UserInfoCredential> entityBuilder, DbContext dbContext, Type dbContextLocator)
+        public void Configure(EntityTypeBuilder<UserCredential> entityBuilder, DbContext dbContext, Type dbContextLocator)
         {
             entityBuilder
                 .HasOne(it => it.Type)
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoDepartment.cs b/FlexJobApi.Core/Entities/Users/UserDepartment.cs
similarity index 80%
rename from FlexJobApi.Core/Entities/Users/UserInfoDepartment.cs
rename to FlexJobApi.Core/Entities/Users/UserDepartment.cs
index 5cb8469..53783e0 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoDepartment.cs
+++ b/FlexJobApi.Core/Entities/Users/UserDepartment.cs
@@ -9,17 +9,17 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅閮ㄩ棬
     /// </summary>
-    public class UserInfoDepartment : CommonEntity
+    public class UserDepartment : CommonEntity
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 閮ㄩ棬Id
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoExpectJob.cs b/FlexJobApi.Core/Entities/Users/UserExpectJob.cs
similarity index 77%
rename from FlexJobApi.Core/Entities/Users/UserInfoExpectJob.cs
rename to FlexJobApi.Core/Entities/Users/UserExpectJob.cs
index 7bd8840..b78a964 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoExpectJob.cs
+++ b/FlexJobApi.Core/Entities/Users/UserExpectJob.cs
@@ -12,17 +12,17 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
     /// </summary>
-    public class UserInfoExpectJob : CommonEntity, IEntityTypeBuilder<UserInfoExpectJob>
+    public class UserExpectJob : CommonEntity, IEntityTypeBuilder<UserExpectJob>
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 鏈熸湜宀椾綅缂栧彿
@@ -34,7 +34,7 @@
         /// </summary>
         public DictionaryData PersonalIdentity { get; set; }
 
-        public void Configure(EntityTypeBuilder<UserInfoExpectJob> entityBuilder, DbContext dbContext, Type dbContextLocator)
+        public void Configure(EntityTypeBuilder<UserExpectJob> entityBuilder, DbContext dbContext, Type dbContextLocator)
         {
             entityBuilder
                 .HasOne(it => it.PersonalIdentity)
diff --git a/FlexJobApi.Core/Entities/Users/UserInfo.cs b/FlexJobApi.Core/Entities/Users/UserInfo.cs
deleted file mode 100644
index f13498f..0000000
--- a/FlexJobApi.Core/Entities/Users/UserInfo.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-锘縰sing Furion.DatabaseAccessor;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Metadata.Builders;
-using 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 UserInfo : CommonEntity, IEntitySeedData<UserInfo>, IEntityTypeBuilder<UserInfo>
-    {
-        public UserInfo()
-        {
-            UserInfoRoles = [];
-            UserInfoDepartments = [];
-            UserInfoExpectJobs = [];
-            UserInfoCredentials = [];
-        }
-
-        /// <summary>
-        /// 鐢ㄦ埛Id
-        /// </summary>
-        public Guid UserAuthId { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛
-        /// </summary>
-        public UserAuth UserAuth { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛绫诲瀷
-        /// </summary>
-        public EnumUserType Type { get; set; }
-
-        /// <summary>
-        /// 浼佷笟Id
-        /// </summary>
-        public Guid? EnterpriseId { get; set; }
-
-        /// <summary>
-        /// 浼佷笟
-        /// </summary>
-        public Enterprise Enterprise { get; set; }
-
-        /// <summary>
-        /// 澶村儚
-        /// </summary>
-        public string Avatar { get; set; }
-
-        /// <summary>
-        /// 寰俊寮�鏀綢d
-        /// </summary>
-        [MaxLength(32)]
-        public string WxmpOpenId { get; set; }
-
-        /// <summary>
-        /// 绾у埆
-        /// </summary>
-        public int Level { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛淇℃伅瑙掕壊
-        /// </summary>
-        public List<UserInfoRole> UserInfoRoles { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛淇℃伅閮ㄩ棬
-        /// </summary>
-        public List<UserInfoDepartment> UserInfoDepartments { get; set; }
-
-        /// <summary>
-        /// 韬唤缂栧彿
-        /// </summary>
-        public string PersonalIdentityCode { get; set; }
-
-        /// <summary>
-        /// 韬唤
-        /// </summary>
-        public DictionaryData PersonalIdentity { get; set; }
-
-        /// <summary>
-        /// 瀛﹀巻缂栧彿
-        /// </summary>
-        public string EducationalBackgroundCode { get; set; }
-
-        /// <summary>
-        /// 瀛﹀巻
-        /// </summary>
-        public DictionaryData EducationalBackground { get; set; }
-
-        /// <summary>
-        /// 甯搁┗鐪佷唤缂栧彿
-        /// </summary>
-        public string ProvinceCode { get; set; }
-
-        /// <summary>
-        /// 甯搁┗鐪佷唤
-        /// </summary>
-        public DictionaryData Province { get; set; }
-
-        /// <summary>
-        /// 甯搁┗鍩庡競缂栧彿
-        /// </summary>
-        public string CityCode { get; set; }
-
-        /// <summary>
-        /// 甯搁┗鍩庡競
-        /// </summary>
-        public DictionaryData City { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
-        /// </summary>
-        public List<UserInfoExpectJob> UserInfoExpectJobs { get; set; }
-
-        /// <summary>
-        /// 绌洪棽鏃堕棿
-        /// </summary>
-        public EnumPersonalFreeTime? FreeTime { get; set; }
-
-        /// <summary>
-        /// 姹傝亴鐘舵��
-        /// </summary>
-        public EnumPersonalJobSeekingStatus? JobSeekingStatus { get; set; }
-
-        /// <summary>
-        /// 鐢ㄦ埛淇℃伅璧勬牸璇佷功
-        /// </summary>
-        public List<UserInfoCredential> UserInfoCredentials { get; set; }
-
-        /// <summary>
-        /// 宸ヤ綔璧勫巻
-        /// </summary>
-        public string WorkSeniority { get; set; }
-
-        /// <summary>
-        /// 宸ヤ綔缁忛獙
-        /// </summary>
-        public string WorkExperience { get; set; }
-
-        /// <summary>
-        /// 韬珮
-        /// </summary>
-        public int? Height { get; set; }
-
-        /// <summary>
-        /// 浣撻噸
-        /// </summary>
-        public int? Weight { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        public string Remark { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public EnumUserInfoStatus Status { get; set; }
-
-        public void Configure(EntityTypeBuilder<UserInfo> entityBuilder, DbContext dbContext, Type dbContextLocator)
-        {
-            entityBuilder
-                .HasOne(it => it.PersonalIdentity)
-                .WithMany()
-                .HasForeignKey(it => it.PersonalIdentityCode)
-                .HasPrincipalKey(it => it.Code)
-                .OnDelete(DeleteBehavior.Restrict);
-            entityBuilder
-                .HasOne(it => it.EducationalBackground)
-                .WithMany()
-                .HasForeignKey(it => it.EducationalBackgroundCode)
-                .HasPrincipalKey(it => it.Code)
-                .OnDelete(DeleteBehavior.Restrict);
-            entityBuilder
-                .HasOne(it => it.Province)
-                .WithMany()
-                .HasForeignKey(it => it.ProvinceCode)
-                .HasPrincipalKey(it => it.Code)
-                .OnDelete(DeleteBehavior.Restrict);
-            entityBuilder
-                .HasOne(it => it.City)
-                .WithMany()
-                .HasForeignKey(it => it.CityCode)
-                .HasPrincipalKey(it => it.Code)
-                .OnDelete(DeleteBehavior.Restrict);
-        }
-
-        public IEnumerable<UserInfo> HasData(DbContext dbContext, Type dbContextLocator)
-        {
-            return new List<UserInfo>
-            {
-                new UserInfo
-                {
-                    Id = new Guid("11111111-1111-1111-1111-111111111112"),
-                    UserAuthId = new Guid("11111111-1111-1111-1111-111111111111"),
-                    Type = EnumUserType.Operation,
-                    Level = 999,
-                    CreatedTime = new DateTime(2000, 1, 1)
-                }
-            };
-        }
-    }
-}
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs b/FlexJobApi.Core/Entities/Users/UserPhoto.cs
similarity index 77%
rename from FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs
rename to FlexJobApi.Core/Entities/Users/UserPhoto.cs
index 9a221b6..b540adc 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoPhoto.cs
+++ b/FlexJobApi.Core/Entities/Users/UserPhoto.cs
@@ -9,17 +9,17 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅鐢熸椿鐓�
     /// </summary>
-    public class UserInfoPhoto : CommonEntity
+    public class UserPhoto : CommonEntity
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 鐓х墖
diff --git a/FlexJobApi.Core/Entities/Users/UserResume.cs b/FlexJobApi.Core/Entities/Users/UserResume.cs
new file mode 100644
index 0000000..61b469b
--- /dev/null
+++ b/FlexJobApi.Core/Entities/Users/UserResume.cs
@@ -0,0 +1,93 @@
+锘縰sing Furion.DatabaseAccessor;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 鐢ㄦ埛绠�鍘�
+    /// </summary>
+    public class UserResume : CommonEntity, IEntityTypeBuilder<UserResume>
+    {
+        /// <summary>
+        /// 鐢ㄦ埛Id
+        /// </summary>
+        public Guid UserId { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛
+        /// </summary>
+        public User User { get; set; }
+
+        /// <summary>
+        /// 韬唤缂栧彿
+        /// </summary>
+        public string PersonalIdentityCode { get; set; }
+
+        /// <summary>
+        /// 韬唤
+        /// </summary>
+        public DictionaryData PersonalIdentity { get; set; }
+
+        /// <summary>
+        /// 瀛﹀巻缂栧彿
+        /// </summary>
+        public string EducationalBackgroundCode { get; set; }
+
+        /// <summary>
+        /// 瀛﹀巻
+        /// </summary>
+        public DictionaryData EducationalBackground { get; set; }
+
+        /// <summary>
+        /// 绌洪棽鏃堕棿
+        /// </summary>
+        public EnumPersonalFreeTime? FreeTime { get; set; }
+
+        /// <summary>
+        /// 姹傝亴鐘舵��
+        /// </summary>
+        public EnumPersonalJobSeekingStatus? JobSeekingStatus { get; set; }
+
+        /// <summary>
+        /// 宸ヤ綔璧勫巻
+        /// </summary>
+        public string WorkSeniority { get; set; }
+
+        /// <summary>
+        /// 宸ヤ綔缁忛獙
+        /// </summary>
+        public string WorkExperience { get; set; }
+
+        /// <summary>
+        /// 韬珮
+        /// </summary>
+        public int? Height { get; set; }
+
+        /// <summary>
+        /// 浣撻噸
+        /// </summary>
+        public int? Weight { get; set; }
+
+        public void Configure(EntityTypeBuilder<UserResume> entityBuilder, DbContext dbContext, Type dbContextLocator)
+        {
+            entityBuilder
+                .HasOne(it => it.PersonalIdentity)
+                .WithMany()
+                .HasForeignKey(it => it.PersonalIdentityCode)
+                .HasPrincipalKey(it => it.Code)
+                .OnDelete(DeleteBehavior.Restrict);
+            entityBuilder
+                .HasOne(it => it.EducationalBackground)
+                .WithMany()
+                .HasForeignKey(it => it.EducationalBackgroundCode)
+                .HasPrincipalKey(it => it.Code)
+                .OnDelete(DeleteBehavior.Restrict);
+        }
+    }
+}
diff --git a/FlexJobApi.Core/Entities/Users/UserInfoRole.cs b/FlexJobApi.Core/Entities/Users/UserRole.cs
similarity index 80%
rename from FlexJobApi.Core/Entities/Users/UserInfoRole.cs
rename to FlexJobApi.Core/Entities/Users/UserRole.cs
index 66c655d..a821ac0 100644
--- a/FlexJobApi.Core/Entities/Users/UserInfoRole.cs
+++ b/FlexJobApi.Core/Entities/Users/UserRole.cs
@@ -9,17 +9,17 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅瑙掕壊
     /// </summary>
-    public class UserInfoRole : CommonEntity
+    public class UserRole : CommonEntity
     {
         /// <summary>
         /// 鐢ㄦ埛淇℃伅Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        public UserInfo UserInfo { get; set; }
+        public User User { get; set; }
 
         /// <summary>
         /// 瑙掕壊Id
diff --git a/FlexJobApi.Core/Enums/Common/EnumResourceController.cs b/FlexJobApi.Core/Enums/Common/EnumResourceController.cs
index 22e6696..e15b5df 100644
--- a/FlexJobApi.Core/Enums/Common/EnumResourceController.cs
+++ b/FlexJobApi.Core/Enums/Common/EnumResourceController.cs
@@ -14,43 +14,43 @@
         /// <summary>
         /// 鏁版嵁瀛楀吀
         /// </summary>
-        [ResourceController(Service = EnumResourceService.Main)]
+        [ResourceController(Service = EnumResourceService.FlexJobServer)]
         Dictionary,
         /// <summary>
         /// 浠诲姟
         /// </summary>
-        [ResourceController(Service = EnumResourceService.Main)]
+        [ResourceController(Service = EnumResourceService.FlexJobServer)]
         Task,
 
         /// <summary>
         /// 鐢ㄦ埛璁よ瘉
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
+        [ResourceController(Service = EnumResourceService.UserServer)]
         Auth,
         /// <summary>
         /// 鐢ㄦ埛鑿滃崟
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
+        [ResourceController(Service = EnumResourceService.UserServer)]
         Menu,
         /// <summary>
         /// 鐢ㄦ埛璧勬簮
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
+        [ResourceController(Service = EnumResourceService.UserServer)]
         Resource,
         /// <summary>
         /// 鐢ㄦ埛瑙掕壊
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
+        [ResourceController(Service = EnumResourceService.UserServer)]
         Role,
         /// <summary>
         /// 鐢ㄦ埛淇℃伅
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
-        UserInfo,
+        [ResourceController(Service = EnumResourceService.UserServer)]
+        User,
         /// <summary>
         /// 浼佷笟淇℃伅
         /// </summary>
-        [ResourceController(Service = EnumResourceService.User)]
+        [ResourceController(Service = EnumResourceService.UserServer)]
         Enterprise
     }
 }
diff --git a/FlexJobApi.Core/Enums/Common/EnumResourceService.cs b/FlexJobApi.Core/Enums/Common/EnumResourceService.cs
index a89a6fe..8cd6d61 100644
--- a/FlexJobApi.Core/Enums/Common/EnumResourceService.cs
+++ b/FlexJobApi.Core/Enums/Common/EnumResourceService.cs
@@ -13,14 +13,14 @@
     public enum EnumResourceService
     {
         /// <summary>
-        /// 涓绘湇鍔�
+        /// 鐏垫椿鐢ㄥ伐鏈嶅姟
         /// </summary>
-        [ResourceService(ApplicationName = "FlexJobApi.Application", RouteArea = "main", ServiceName = "Local_FlexJobApi")]
-        Main,
+        [ResourceService(ApplicationName = "FlexJobApi.FlexJobServer.Application", RouteArea = "flexjob", ServiceName = "Local_FlexJobApi")]
+        FlexJobServer,
         /// <summary>
         /// 鐢ㄦ埛鏈嶅姟
         /// </summary>
-        [ResourceService(ApplicationName = "FlexJobApi.User.Application", RouteArea = "user", ServiceName = "Local_FlexJobApi")]
-        User
+        [ResourceService(ApplicationName = "FlexJobApi.UserServer.Application", RouteArea = "user", ServiceName = "Local_FlexJobApi")]
+        UserServer
     }
 }
diff --git a/FlexJobApi.Core/Enums/Common/EnumUserInfoStatus.cs b/FlexJobApi.Core/Enums/Users/EnumUserStatus.cs
similarity index 91%
rename from FlexJobApi.Core/Enums/Common/EnumUserInfoStatus.cs
rename to FlexJobApi.Core/Enums/Users/EnumUserStatus.cs
index b9ae601..fae8c84 100644
--- a/FlexJobApi.Core/Enums/Common/EnumUserInfoStatus.cs
+++ b/FlexJobApi.Core/Enums/Users/EnumUserStatus.cs
@@ -9,7 +9,7 @@
     /// <summary>
     /// 鐢ㄦ埛淇℃伅鐘舵��
     /// </summary>
-    public enum EnumUserInfoStatus
+    public enum EnumUserStatus
     {
         /// <summary>
         /// 姝e父
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 8c732bc..bae2665 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -24,12 +24,17 @@
             璺熻釜Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.CommonEntity`1.CreatedUserInfoId">
+        <member name="P:FlexJobApi.Core.CommonEntity`1.CreatedUserId">
             <summary>
             鍒涘缓鎿嶄綔浜�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.CommonEntity`1.UpdatedUserInfoId">
+        <member name="P:FlexJobApi.Core.CommonEntity`1.CreatedEnterpriseId">
+            <summary>
+            鍒涘缓浼佷笟Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.CommonEntity`1.UpdatedUserId">
             <summary>
             鏈�鍚庢洿鏂版搷浣滀汉
             </summary>
@@ -49,12 +54,17 @@
             璺熻釜Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.CommonEntity.CreatedUserInfoId">
+        <member name="P:FlexJobApi.Core.CommonEntity.CreatedUserId">
             <summary>
             鍒涘缓鎿嶄綔浜�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.CommonEntity.UpdatedUserInfoId">
+        <member name="P:FlexJobApi.Core.CommonEntity.CreatedEnterpriseId">
+            <summary>
+            鍒涘缓浼佷笟Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.CommonEntity.UpdatedUserId">
             <summary>
             鏈�鍚庢洿鏂版搷浣滀汉
             </summary>
@@ -619,9 +629,24 @@
             浠诲姟鍦扮偣鎵�灞炲煄甯�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.TaskInfo.Address">
+        <member name="P:FlexJobApi.Core.TaskInfo.AddressName">
+            <summary>
+            浠诲姟鍦扮偣鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfo.AddressDetail">
             <summary>
             浠诲姟鍦扮偣璇︾粏鍦板潃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfo.Longitude">
+            <summary>
+            缁忓害
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.TaskInfo.Latitude">
+            <summary>
+            绾害
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.TaskInfo.BeginTime">
@@ -719,12 +744,12 @@
             浠诲姟
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.TaskInfoUser.UserInfoId">
+        <member name="P:FlexJobApi.Core.TaskInfoUser.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.TaskInfoUser.UserInfo">
+        <member name="P:FlexJobApi.Core.TaskInfoUser.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
@@ -804,14 +829,34 @@
             浼佷笟
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseAuthId">
-            <summary>
-            浼佷笟璁よ瘉Id
-            </summary>
-        </member>
         <member name="P:FlexJobApi.Core.Enterprise.EnterpriseAuth">
             <summary>
             浼佷笟璁よ瘉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseName">
+            <summary>
+            浼佷笟鍏ㄧО
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Enterprise.SocietyCreditCode">
+            <summary>
+            缁熶竴绀句細淇$敤浠g爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Enterprise.LicenseImage">
+            <summary>
+            钀ヤ笟鎵х収鐓х墖
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Enterprise.LegalPerson">
+            <summary>
+            娉曚汉濮撳悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.Enterprise.LegalIdentity">
+            <summary>
+            娉曚汉韬唤璇佸彿
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.Enterprise.ProvinceCode">
@@ -919,12 +964,17 @@
             鐭俊璐圭敤
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.Enterprise.IsReal">
+            <summary>
+            鏄惁瀹炲悕
+            </summary>
+        </member>
         <member name="P:FlexJobApi.Core.Enterprise.Departments">
             <summary>
             閮ㄩ棬
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.Enterprise.UserInfos">
+        <member name="P:FlexJobApi.Core.Enterprise.Users">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
@@ -932,6 +982,11 @@
         <member name="T:FlexJobApi.Core.EnterpriseAuth">
             <summary>
             浼佷笟璁よ瘉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.EnterpriseAuth.Enterprise">
+            <summary>
+            浼佷笟淇℃伅
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.EnterpriseAuth.EnterpriseRealMethod">
@@ -1012,11 +1067,6 @@
         <member name="P:FlexJobApi.Core.EnterpriseAuth.ProxyPowerAttorneyUrl">
             <summary>
             浼佷笟鎺堟潈涔�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.EnterpriseAuth.IsReal">
-            <summary>
-            鏄惁瀹炲悕
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.Menu">
@@ -1164,7 +1214,7 @@
             瑙掕壊鎺ュ彛
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.Role.UserInfoRoles">
+        <member name="P:FlexJobApi.Core.Role.UserRoles">
             <summary>
             鐢ㄦ埛瑙掕壊
             </summary>
@@ -1224,9 +1274,149 @@
             鏁版嵁鏉冮檺
             </summary>
         </member>
+        <member name="T:FlexJobApi.Core.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserAuth">
+            <summary>
+            鐢ㄦ埛璁よ瘉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Type">
+            <summary>
+            鐢ㄦ埛绫诲瀷
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.EnterpriseId">
+            <summary>
+            浼佷笟Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Enterprise">
+            <summary>
+            浼佷笟
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Avatar">
+            <summary>
+            澶村儚
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Name">
+            <summary>
+            濮撳悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserName">
+            <summary>
+            鐢ㄦ埛鍚�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.PhoneNumber">
+            <summary>
+            鎵嬫満鍙�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.IsCheckPhoneNumber">
+            <summary>
+            鏄惁宸叉牎楠屾墜鏈哄彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Password">
+            <summary>
+            瀵嗙爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.WxmpOpenId">
+            <summary>
+            寰俊寮�鏀綢d
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Level">
+            <summary>
+            绾у埆
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.RealAccess">
+            <summary>
+            瀹炲悕閫氶亾
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.IsReal">
+            <summary>
+            鏄惁瀹炲悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.ProvinceCode">
+            <summary>
+            甯搁┗鐪佷唤缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Province">
+            <summary>
+            甯搁┗鐪佷唤
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.CityCode">
+            <summary>
+            甯搁┗鍩庡競缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.City">
+            <summary>
+            甯搁┗鍩庡競
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Remark">
+            <summary>
+            澶囨敞
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Status">
+            <summary>
+            鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserRoles">
+            <summary>
+            鐢ㄦ埛淇℃伅瑙掕壊
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserDepartments">
+            <summary>
+            鐢ㄦ埛淇℃伅閮ㄩ棬
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.BankCards">
+            <summary>
+            閾惰鍗�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserExpectJobs">
+            <summary>
+            鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.UserCredentials">
+            <summary>
+            鐢ㄦ埛淇℃伅璧勬牸璇佷功
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.User.Photos">
+            <summary>
+            鐢熸椿鐓�
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.UserAuth">
             <summary>
-            鐢ㄦ埛
+            鐢ㄦ埛璁よ瘉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.UserAuth.User">
+            <summary>
+            鐢ㄦ埛淇℃伅
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.UserAuth.Name">
@@ -1234,24 +1424,9 @@
             濮撳悕
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserAuth.UserName">
-            <summary>
-            鐢ㄦ埛鍚�
-            </summary>
-        </member>
         <member name="P:FlexJobApi.Core.UserAuth.PhoneNumber">
             <summary>
             鎵嬫満鍙�
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserAuth.IsCheckPhoneNumber">
-            <summary>
-            鏄惁宸叉牎楠屾墜鏈哄彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserAuth.Password">
-            <summary>
-            瀵嗙爜
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.UserAuth.Identity">
@@ -1279,347 +1454,252 @@
             閾惰鍗$収鐗�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserAuth.RealAccess">
-            <summary>
-            瀹炲悕閫氶亾
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserAuth.IsReal">
-            <summary>
-            鏄惁瀹炲悕
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserAuth.UserInfos">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserInfo">
-            <summary>
-            鐢ㄦ埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserAuthId">
-            <summary>
-            鐢ㄦ埛Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserAuth">
-            <summary>
-            鐢ㄦ埛
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Type">
-            <summary>
-            鐢ㄦ埛绫诲瀷
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.EnterpriseId">
-            <summary>
-            浼佷笟Id
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Enterprise">
-            <summary>
-            浼佷笟
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Avatar">
-            <summary>
-            澶村儚
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.WxmpOpenId">
-            <summary>
-            寰俊寮�鏀綢d
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Level">
-            <summary>
-            绾у埆
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserInfoRoles">
-            <summary>
-            鐢ㄦ埛淇℃伅瑙掕壊
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserInfoDepartments">
-            <summary>
-            鐢ㄦ埛淇℃伅閮ㄩ棬
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.PersonalIdentityCode">
-            <summary>
-            韬唤缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.PersonalIdentity">
-            <summary>
-            韬唤
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.EducationalBackgroundCode">
-            <summary>
-            瀛﹀巻缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.EducationalBackground">
-            <summary>
-            瀛﹀巻
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.ProvinceCode">
-            <summary>
-            甯搁┗鐪佷唤缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Province">
-            <summary>
-            甯搁┗鐪佷唤
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.CityCode">
-            <summary>
-            甯搁┗鍩庡競缂栧彿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.City">
-            <summary>
-            甯搁┗鍩庡競
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserInfoExpectJobs">
-            <summary>
-            鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.FreeTime">
-            <summary>
-            绌洪棽鏃堕棿
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.JobSeekingStatus">
-            <summary>
-            姹傝亴鐘舵��
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.UserInfoCredentials">
-            <summary>
-            鐢ㄦ埛淇℃伅璧勬牸璇佷功
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.WorkSeniority">
-            <summary>
-            宸ヤ綔璧勫巻
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.WorkExperience">
-            <summary>
-            宸ヤ綔缁忛獙
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Height">
-            <summary>
-            韬珮
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Weight">
-            <summary>
-            浣撻噸
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Remark">
-            <summary>
-            澶囨敞
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.UserInfo.Status">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.UserInfoBankCard">
+        <member name="T:FlexJobApi.Core.UserBankCard">
             <summary>
             鐢ㄦ埛閾惰鍗′俊鎭�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoBankCard.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserBankCard.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoBankCard.UserInfo">
+        <member name="P:FlexJobApi.Core.UserBankCard.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoBankCard.Code">
+        <member name="P:FlexJobApi.Core.UserBankCard.Code">
             <summary>
             閾惰鍗″彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoBankCard.Bank">
+        <member name="P:FlexJobApi.Core.UserBankCard.Bank">
             <summary>
             寮�鎴疯
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoBankCard.PhoneNumber">
+        <member name="P:FlexJobApi.Core.UserBankCard.PhoneNumber">
             <summary>
             閾惰棰勭暀鎵嬫満鍙�
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.UserInfoCredential">
+        <member name="T:FlexJobApi.Core.UserCredential">
             <summary>
             鐢ㄦ埛淇℃伅璧勬牸璇佷功
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserCredential.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.UserInfo">
+        <member name="P:FlexJobApi.Core.UserCredential.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.TypeCode">
+        <member name="P:FlexJobApi.Core.UserCredential.TypeCode">
             <summary>
             璇佷功绫诲瀷缂栧彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.Type">
+        <member name="P:FlexJobApi.Core.UserCredential.Type">
             <summary>
             璇佷功绫诲瀷
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.Code">
+        <member name="P:FlexJobApi.Core.UserCredential.Code">
             <summary>
             璇佷功缂栧彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.IsForever">
+        <member name="P:FlexJobApi.Core.UserCredential.IsForever">
             <summary>
             姘镐箙璇佷功
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.StartDate">
+        <member name="P:FlexJobApi.Core.UserCredential.StartDate">
             <summary>
             寮�濮嬫棩鏈�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.EndDate">
+        <member name="P:FlexJobApi.Core.UserCredential.EndDate">
             <summary>
             缁撴潫鏃ユ湡
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.IssueUnit">
+        <member name="P:FlexJobApi.Core.UserCredential.IssueUnit">
             <summary>
             鍙戣瘉鍗曚綅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.Img">
+        <member name="P:FlexJobApi.Core.UserCredential.Img">
             <summary>
             璇佷功姝i潰鐓х墖
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoCredential.BackImg">
+        <member name="P:FlexJobApi.Core.UserCredential.BackImg">
             <summary>
             璇佷功鍙嶉潰鐓х墖
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.UserInfoDepartment">
+        <member name="T:FlexJobApi.Core.UserDepartment">
             <summary>
             鐢ㄦ埛淇℃伅閮ㄩ棬
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoDepartment.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserDepartment.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoDepartment.UserInfo">
+        <member name="P:FlexJobApi.Core.UserDepartment.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoDepartment.DepartmentId">
+        <member name="P:FlexJobApi.Core.UserDepartment.DepartmentId">
             <summary>
             閮ㄩ棬Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoDepartment.Department">
+        <member name="P:FlexJobApi.Core.UserDepartment.Department">
             <summary>
             閮ㄩ棬
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.UserInfoExpectJob">
+        <member name="T:FlexJobApi.Core.UserExpectJob">
             <summary>
             鐢ㄦ埛淇℃伅鏈熸湜宀椾綅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoExpectJob.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserExpectJob.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoExpectJob.UserInfo">
+        <member name="P:FlexJobApi.Core.UserExpectJob.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoExpectJob.PersonalIdentityCode">
+        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentityCode">
             <summary>
             鏈熸湜宀椾綅缂栧彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoExpectJob.PersonalIdentity">
+        <member name="P:FlexJobApi.Core.UserExpectJob.PersonalIdentity">
             <summary>
             鏈熸湜宀椾綅
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.UserInfoPhoto">
+        <member name="T:FlexJobApi.Core.UserPhoto">
             <summary>
             鐢ㄦ埛淇℃伅鐢熸椿鐓�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoPhoto.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserPhoto.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoPhoto.UserInfo">
+        <member name="P:FlexJobApi.Core.UserPhoto.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoPhoto.Img">
+        <member name="P:FlexJobApi.Core.UserPhoto.Img">
             <summary>
             鐓х墖
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.UserInfoRole">
+        <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.UserInfoRole.UserInfoId">
+        <member name="P:FlexJobApi.Core.UserRole.UserId">
             <summary>
             鐢ㄦ埛淇℃伅Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoRole.UserInfo">
+        <member name="P:FlexJobApi.Core.UserRole.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoRole.RoleId">
+        <member name="P:FlexJobApi.Core.UserRole.RoleId">
             <summary>
             瑙掕壊Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.UserInfoRole.Role">
+        <member name="P:FlexJobApi.Core.UserRole.Role">
             <summary>
             瑙掕壊
             </summary>
@@ -1844,7 +1924,7 @@
             鐢ㄦ埛瑙掕壊
             </summary>
         </member>
-        <member name="F:FlexJobApi.Core.EnumResourceController.UserInfo">
+        <member name="F:FlexJobApi.Core.EnumResourceController.User">
             <summary>
             鐢ㄦ埛淇℃伅
             </summary>
@@ -1884,12 +1964,12 @@
             璧勬簮鏈嶅姟
             </summary>
         </member>
-        <member name="F:FlexJobApi.Core.EnumResourceService.Main">
+        <member name="F:FlexJobApi.Core.EnumResourceService.FlexJobServer">
             <summary>
-            涓绘湇鍔�
+            鐏垫椿鐢ㄥ伐鏈嶅姟
             </summary>
         </member>
-        <member name="F:FlexJobApi.Core.EnumResourceService.User">
+        <member name="F:FlexJobApi.Core.EnumResourceService.UserServer">
             <summary>
             鐢ㄦ埛鏈嶅姟
             </summary>
@@ -1902,21 +1982,6 @@
         <member name="F:FlexJobApi.Core.EnumSmsAccess.AliyunSms">
             <summary>
             闃块噷浜戠煭淇�
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.EnumUserInfoStatus">
-            <summary>
-            鐢ㄦ埛淇℃伅鐘舵��
-            </summary>
-        </member>
-        <member name="F:FlexJobApi.Core.EnumUserInfoStatus.Normal">
-            <summary>
-            姝e父
-            </summary>
-        </member>
-        <member name="F:FlexJobApi.Core.EnumUserInfoStatus.Disabled">
-            <summary>
-            绂佺敤
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.EnumBillingMethod">
@@ -2342,6 +2407,21 @@
         <member name="F:FlexJobApi.Core.EnumUserGender.Female">
             <summary>
             濂�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.EnumUserStatus">
+            <summary>
+            鐢ㄦ埛淇℃伅鐘舵��
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumUserStatus.Normal">
+            <summary>
+            姝e父
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumUserStatus.Disabled">
+            <summary>
+            绂佺敤
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.EnumUserType">
@@ -2860,9 +2940,24 @@
             浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.Address">
+        <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.AddressName">
+            <summary>
+            浠诲姟鍦扮偣鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.AddressDetail">
             <summary>
             浠诲姟鍦扮偣璇︾粏鍦板潃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.Longitude">
+            <summary>
+            缁忓害
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.Latitude">
+            <summary>
+            绾害
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.SaveTaskInfoCommand.BeginTime">
@@ -2917,12 +3012,27 @@
         </member>
         <member name="T:FlexJobApi.Core.GetTaskInfoQueryResult">
             <summary>
-            鏌ヨ浠诲姟璇︽儏-缁撴灉
+            鏌ヨ浠诲姟璇︽儏-缁撴灉-浼佷笟
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.Id">
             <summary>
             Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseId">
+            <summary>
+            浼佷笟Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.EnterpriseName">
+            <summary>
+            浼佷笟鍏ㄧО
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.TaskCount">
+            <summary>
+            鍦ㄦ嫑宀椾綅鏁伴噺
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.Name">
@@ -2990,7 +3100,12 @@
             浠诲姟鍦扮偣鎵�灞炲煄甯�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.Address">
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.AddressName">
+            <summary>
+            浠诲姟鍦扮偣鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.AddressDetail">
             <summary>
             浠诲姟鍦扮偣璇︾粏鍦板潃
             </summary>
@@ -3010,6 +3125,11 @@
             鍒涘缓鏃堕棿
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfoQueryResult.IsCollected">
+            <summary>
+            鏄惁宸叉敹钘�
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetTaskInfosQuery">
             <summary>
             鏌ヨ浠诲姟鍒嗛〉鍒楄〃
@@ -3023,6 +3143,26 @@
         <member name="P:FlexJobApi.Core.GetTaskInfosQuery.Time">
             <summary>
             鍙戝竷鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfosQuery.CityCode">
+            <summary>
+            浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙�
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfosQuery.SettlementCycle">
+            <summary>
+            缁撶畻鏂瑰紡
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfosQuery.BenefitCodes">
+            <summary>
+            鍛樺伐绂忓埄
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfosQuery.GenderLimit">
+            <summary>
+            鎬у埆瑕佹眰
             </summary>
         </member>
         <member name="P:FlexJobApi.Core.GetTaskInfosQuery.Status">
@@ -3118,6 +3258,11 @@
         <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.RecommendStatus">
             <summary>
             鎺ㄨ崘鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.TaskInfoRepository">
@@ -3218,11 +3363,6 @@
             娉曚汉韬唤璇佸彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.EnterpriseAuth">
-            <summary>
-            浼佷笟璁よ瘉
-            </summary>
-        </member>
         <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.ProvinceCode">
             <summary>
             鎵�鍦ㄧ渷浠界紪鍙�
@@ -3266,31 +3406,6 @@
         <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.Password">
             <summary>
             瀵嗙爜
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.SaveEnterpriseCommandAuth">
-            <summary>
-            淇濆瓨浼佷笟-璁よ瘉淇℃伅
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.SaveEnterpriseCommandAuth.EnterpriseName">
-            <summary>
-            浼佷笟鍏ㄧО
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.SaveEnterpriseCommandAuth.SocietyCreditCode">
-            <summary>
-            缁熶竴绀句細淇$敤浠g爜
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.SaveEnterpriseCommandAuth.LegalPerson">
-            <summary>
-            娉曚汉濮撳悕
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.SaveEnterpriseCommandAuth.LegalIdentity">
-            <summary>
-            娉曚汉韬唤璇佸彿
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand">
@@ -3418,11 +3533,6 @@
             娉曚汉韬唤璇佸彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetEnterpriseQueryResult.EnterpriseAuth">
-            <summary>
-            浼佷笟璁よ瘉
-            </summary>
-        </member>
         <member name="P:FlexJobApi.Core.GetEnterpriseQueryResult.ProvinceCode">
             <summary>
             鎵�鍦ㄧ渷浠界紪鍙�
@@ -3476,31 +3586,6 @@
         <member name="P:FlexJobApi.Core.GetEnterpriseQueryResult.UserName">
             <summary>
             璐﹀彿
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.Core.GetEnterpriseQueryResultAuth">
-            <summary>
-            鏌ヨ浼佷笟璇︽儏-缁撴灉-浼佷笟璁よ瘉
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.GetEnterpriseQueryResultAuth.EnterpriseName">
-            <summary>
-            浼佷笟鍏ㄧО
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.GetEnterpriseQueryResultAuth.SocietyCreditCode">
-            <summary>
-            缁熶竴绀句細淇$敤浠g爜
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.GetEnterpriseQueryResultAuth.LegalPerson">
-            <summary>
-            娉曚汉濮撳悕
-            </summary>
-        </member>
-        <member name="P:FlexJobApi.Core.GetEnterpriseQueryResultAuth.LegalIdentity">
-            <summary>
-            娉曚汉韬唤璇佸彿
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.GetEnterpriseSmsSettingQuery">
@@ -4753,7 +4838,7 @@
             鏌ヨ杩愯惀绔敤鎴峰垎椤靛垪琛ㄦ暟鎹�-缁撴灉-椤�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetOperationUserInfosQueryResultItemRole.UserInfoId">
+        <member name="P:FlexJobApi.Core.GetOperationUserInfosQueryResultItemRole.UserId">
             <summary>
             鐢ㄦ埛Id
             </summary>
@@ -5449,7 +5534,7 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="P:FlexJobApi.Core.CurrentLogier.UserInfoId">
+        <member name="P:FlexJobApi.Core.CurrentLogier.Id">
             <summary>
             鐢ㄦ埛Id
             </summary>
diff --git a/FlexJobApi.Core/FlexJobApiCoreStartup.cs b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
index a63fda8..c677577 100644
--- a/FlexJobApi.Core/FlexJobApiCoreStartup.cs
+++ b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -32,14 +32,14 @@
                 options.WithTraceId = true;
                 options.FileNameRule = fileName =>
                 {
-                    return string.Format(fileName, DateTime.UtcNow);    // 濡傛灉鏄湰鍦版椂闂翠娇鐢� DateTime.Now
+                    return string.Format(fileName, DateTime.Now);
                 };
             });
 
-            services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
-            {
-                options.WithTraceId = true;
-            });
+            //services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
+            //{
+            //    options.WithTraceId = true;
+            //});
 
             services.AddConfigurableOptions<AliyunOptions>();
 
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Commands/DeleteDictionaryCategoryCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/DeleteDictionaryCategoryCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Commands/DeleteDictionaryCategoryCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/DeleteDictionaryCategoryCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryCategoryCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryCategoryCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryCategoryCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryCategoryCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryDataCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryDataCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryDataCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SaveDictionaryDataCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Commands/SyncHumanResourcesAreaDictionaryDataCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SyncHumanResourcesAreaDictionaryDataCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Commands/SyncHumanResourcesAreaDictionaryDataCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Commands/SyncHumanResourcesAreaDictionaryDataCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryCategoriesQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategoriesQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryCategoriesQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategoriesQuery.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryCategorySelectQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategorySelectQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryCategorySelectQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryCategorySelectQuery.cs
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
similarity index 97%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
index 6dbb2be..b496e48 100644
--- a/FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDataSelectQuery.cs
@@ -36,7 +36,7 @@
         /// <summary>
         /// 鏌ヨ鎵�鏈�
         /// </summary>
-        public bool All { get; set; }
+        public bool? All { get; set; }
 
         /// <summary>
         /// 鏈�澶ф繁搴�
diff --git a/FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDatasQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDatasQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDatasQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Dictionaries/Queries/GetDictionaryDatasQuery.cs
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SaveTaskInfoCommand.cs
similarity index 93%
rename from FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SaveTaskInfoCommand.cs
index abdc8b9..e1a8fb8 100644
--- a/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SaveTaskInfoCommand.cs
@@ -87,10 +87,16 @@
         public string CityCode { get; set; }
 
         /// <summary>
+        /// 浠诲姟鍦扮偣鍚嶇О
+        /// </summary>
+        [Required]
+        public string AddressName { get; set; }
+
+        /// <summary>
         /// 浠诲姟鍦扮偣璇︾粏鍦板潃
         /// </summary>
         [Required]
-        public string Address { get; set; }
+        public string AddressDetail { get; set; }
 
         /// <summary>
         /// 缁忓害
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs
similarity index 94%
rename from FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs
index ccecf9e..78bd9a3 100644
--- a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs
+++ b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfoQuery.cs
@@ -119,9 +119,14 @@
         public string CityName { get; set; }
 
         /// <summary>
+        /// 浠诲姟鍦扮偣鍚嶇О
+        /// </summary>
+        public string AddressName { get; set; }
+
+        /// <summary>
         /// 浠诲姟鍦扮偣璇︾粏鍦板潃
         /// </summary>
-        public string Address { get; set; }
+        public string AddressDetail { get; set; }
 
         /// <summary>
         /// 浠诲姟寮�濮嬫椂闂�
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Queries/GetTaskInfosQuery.cs
diff --git a/FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs b/FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs
similarity index 100%
rename from FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs
rename to FlexJobApi.Core/Models/FlexJobServer/Tasks/Repositories/TaskInfoRepository.cs
diff --git a/FlexJobApi.Core/Models/User/Auths/Commands/PasswordLoginCommand.cs b/FlexJobApi.Core/Models/UserServer/Auths/Commands/PasswordLoginCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Auths/Commands/PasswordLoginCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Auths/Commands/PasswordLoginCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Auths/Queries/GetAliyunOSSAcsQuery.cs b/FlexJobApi.Core/Models/UserServer/Auths/Queries/GetAliyunOSSAcsQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Auths/Queries/GetAliyunOSSAcsQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Auths/Queries/GetAliyunOSSAcsQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenuQuery.cs b/FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenuQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenuQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenuQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenusQuery.cs b/FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenusQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenusQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Auths/Queries/GetCurrentLogierMenusQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SaveEnterpriseCommand.cs
similarity index 64%
rename from FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SaveEnterpriseCommand.cs
index 51b04eb..242290b 100644
--- a/FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs
+++ b/FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SaveEnterpriseCommand.cs
@@ -41,18 +41,6 @@
         public string LegalIdentity { get; set; }
 
         /// <summary>
-        /// 浼佷笟璁よ瘉
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore, Swashbuckle.AspNetCore.Annotations.SwaggerIgnore]
-        public SaveEnterpriseCommandAuth EnterpriseAuth => new SaveEnterpriseCommandAuth
-        {
-            EnterpriseName = EnterpriseName,
-            SocietyCreditCode = SocietyCreditCode,
-            LegalPerson = LegalPerson,
-            LegalIdentity = LegalIdentity,
-        };
-
-        /// <summary>
         /// 鎵�鍦ㄧ渷浠界紪鍙�
         /// </summary>
         public string ProvinceCode { get; set; }
@@ -98,37 +86,5 @@
         /// 瀵嗙爜
         /// </summary>
         public string Password { get; set; }
-    }
-
-    /// <summary>
-    /// 淇濆瓨浼佷笟-璁よ瘉淇℃伅
-    /// </summary>
-    public class SaveEnterpriseCommandAuth
-    {
-        /// <summary>
-        /// 浼佷笟鍏ㄧО
-        /// </summary>
-        [Required]
-        [MaxLength(128)]
-        public string EnterpriseName { get; set; }
-
-        /// <summary>
-        /// 缁熶竴绀句細淇$敤浠g爜
-        /// </summary>
-        [Required]
-        [MaxLength(18)]
-        public string SocietyCreditCode { get; set; }
-
-        /// <summary>
-        /// 娉曚汉濮撳悕
-        /// </summary>
-        [MaxLength(32)]
-        public string LegalPerson { get; set; }
-
-        /// <summary>
-        /// 娉曚汉韬唤璇佸彿
-        /// </summary>
-        [MaxLength(18)]
-        public string LegalIdentity { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseElectronSignSettingQuery.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseElectronSignSettingQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseElectronSignSettingQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseElectronSignSettingQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseQuery.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs
similarity index 71%
rename from FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs
index 5ec7e7e..b51ab9f 100644
--- a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseQuery.cs
@@ -34,32 +34,22 @@
         /// <summary>
         /// 浼佷笟鍏ㄧО
         /// </summary>
-        [AdaptIgnore]
-        public string EnterpriseName => EnterpriseAuth.EnterpriseName;
+        public string EnterpriseName { get; set; }
 
         /// <summary>
         /// 缁熶竴绀句細淇$敤浠g爜
         /// </summary>
-        [AdaptIgnore]
-        public string SocietyCreditCode => EnterpriseAuth.SocietyCreditCode;
+        public string SocietyCreditCode { get; set; }
 
         /// <summary>
         /// 娉曚汉濮撳悕
         /// </summary>
-        [AdaptIgnore]
-        public string LegalPerson => EnterpriseAuth.LegalPerson;
+        public string LegalPerson { get; set; }
 
         /// <summary>
         /// 娉曚汉韬唤璇佸彿
         /// </summary>
-        [AdaptIgnore]
-        public string LegalIdentity => EnterpriseAuth.LegalIdentity;
-
-        /// <summary>
-        /// 浼佷笟璁よ瘉
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore, Swashbuckle.AspNetCore.Annotations.SwaggerIgnore]
-        public SaveEnterpriseCommandAuth EnterpriseAuth { get; set; }
+        public string LegalIdentity { get; set; }
 
         /// <summary>
         /// 鎵�鍦ㄧ渷浠界紪鍙�
@@ -115,31 +105,5 @@
         /// 璐﹀彿
         /// </summary>
         public string UserName { get; set; }
-    }
-
-    /// <summary>
-    /// 鏌ヨ浼佷笟璇︽儏-缁撴灉-浼佷笟璁よ瘉
-    /// </summary>
-    public class GetEnterpriseQueryResultAuth
-    {
-        /// <summary>
-        /// 浼佷笟鍏ㄧО
-        /// </summary>
-        public string EnterpriseName { get; set; }
-
-        /// <summary>
-        /// 缁熶竴绀句細淇$敤浠g爜
-        /// </summary>
-        public string SocietyCreditCode { get; set; }
-
-        /// <summary>
-        /// 娉曚汉濮撳悕
-        /// </summary>
-        public string LegalPerson { get; set; }
-
-        /// <summary>
-        /// 娉曚汉韬唤璇佸彿
-        /// </summary>
-        public string LegalIdentity { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseSmsSettingQuery.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseSmsSettingQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseSmsSettingQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterpriseSmsSettingQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs b/FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterprisesQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Enterprises/Queries/GetEnterprisesQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Commands/DeleteMenuCommand.cs b/FlexJobApi.Core/Models/UserServer/Menus/Commands/DeleteMenuCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Commands/DeleteMenuCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Commands/DeleteMenuCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuButtonCommand.cs b/FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuButtonCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuButtonCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuButtonCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuCommand.cs b/FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuFieldCommand.cs b/FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuFieldCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Commands/SaveMenuFieldCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Commands/SaveMenuFieldCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Commands/SetMenuSwitchCommand.cs b/FlexJobApi.Core/Models/UserServer/Menus/Commands/SetMenuSwitchCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Commands/SetMenuSwitchCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Commands/SetMenuSwitchCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Queries/GetMenuQuery.cs b/FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenuQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Queries/GetMenuQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenuQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Menus/Queries/GetMenusQuery.cs b/FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenusQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Menus/Queries/GetMenusQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Menus/Queries/GetMenusQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Resources/Queries/GetResourceFieldsQuery.cs b/FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourceFieldsQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Resources/Queries/GetResourceFieldsQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourceFieldsQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Resources/Queries/GetResourcesQuery.cs b/FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourcesQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Resources/Queries/GetResourcesQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Resources/Queries/GetResourcesQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Commands/DeleteRoleCommand.cs b/FlexJobApi.Core/Models/UserServer/Roles/Commands/DeleteRoleCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Commands/DeleteRoleCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Commands/DeleteRoleCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Commands/SaveRoleCommand.cs b/FlexJobApi.Core/Models/UserServer/Roles/Commands/SaveRoleCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Commands/SaveRoleCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Commands/SaveRoleCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Commands/SetRoleIsDisabledCommand.cs b/FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleIsDisabledCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Commands/SetRoleIsDisabledCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleIsDisabledCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Commands/SetRoleUserInfosCommand.cs b/FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleUserInfosCommand.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Commands/SetRoleUserInfosCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Commands/SetRoleUserInfosCommand.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Queries/GetRoleQuery.cs b/FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Queries/GetRoleQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Queries/GetRoleUserInfosQuery.cs b/FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleUserInfosQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Queries/GetRoleUserInfosQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRoleUserInfosQuery.cs
diff --git a/FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs b/FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRolesQuery.cs
similarity index 100%
rename from FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Roles/Queries/GetRolesQuery.cs
diff --git a/FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoRolesCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoRolesCommand.cs
similarity index 92%
rename from FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoRolesCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoRolesCommand.cs
index e695467..11cc975 100644
--- a/FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoRolesCommand.cs
+++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoRolesCommand.cs
@@ -10,7 +10,7 @@
     /// <summary>
     /// 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊
     /// </summary>
-    [Resource([EnumResourceController.UserInfo])]
+    [Resource([EnumResourceController.User])]
     public class SetUserInfoRolesCommand : IRequest<int>
     {
         public SetUserInfoRolesCommand()
diff --git a/FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoStatusCommand.cs b/FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoStatusCommand.cs
similarity index 84%
rename from FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoStatusCommand.cs
rename to FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoStatusCommand.cs
index 2a4a822..753fa47 100644
--- a/FlexJobApi.Core/Models/User/UserInfos/Commands/SetUserInfoStatusCommand.cs
+++ b/FlexJobApi.Core/Models/UserServer/Users/Commands/SetUserInfoStatusCommand.cs
@@ -10,7 +10,7 @@
     /// <summary>
     /// 璁剧疆鐢ㄦ埛淇℃伅鐘舵��
     /// </summary>
-    [Resource([EnumResourceController.UserInfo])]
+    [Resource([EnumResourceController.User])]
     public class SetUserInfoStatusCommand : IRequest<int>
     {
         public SetUserInfoStatusCommand()
@@ -26,6 +26,6 @@
         /// <summary>
         /// 鐘舵��
         /// </summary>
-        public EnumUserInfoStatus Status { get; set; }
+        public EnumUserStatus Status { get; set; }
     }
 }
diff --git a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetOperationUserInfosQuery.cs
similarity index 93%
rename from FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Users/Queries/GetOperationUserInfosQuery.cs
index 80da9e4..cd0d4ca 100644
--- a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetOperationUserInfosQuery.cs
@@ -12,7 +12,7 @@
     /// <summary>
     /// 鏌ヨ杩愯惀绔敤鎴峰垎椤靛垪琛ㄦ暟鎹�
     /// </summary>
-    [Resource([EnumResourceController.UserInfo])]
+    [Resource([EnumResourceController.User])]
     public class GetOperationUserInfosQuery : PagedListQuery<PagedListQueryResult<GetOperationUserInfosQueryResultItem>, GetOperationUserInfosQueryResultItem>
     {
         /// <summary>
@@ -64,7 +64,7 @@
         /// <summary>
         /// 鐘舵��
         /// </summary>
-        public EnumUserInfoStatus Status { get; set; }
+        public EnumUserStatus Status { get; set; }
     }
 
     /// <summary>
@@ -76,7 +76,7 @@
         /// 鐢ㄦ埛Id
         /// </summary>
         [Newtonsoft.Json.JsonIgnore, Swashbuckle.AspNetCore.Annotations.SwaggerIgnore]
-        public Guid UserInfoId { get; set; }
+        public Guid UserId { get; set; }
 
         /// <summary>
         /// 瑙掕壊Id
diff --git a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetUserInfoRolesQuery.cs b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetUserInfoRolesQuery.cs
similarity index 95%
rename from FlexJobApi.Core/Models/User/UserInfos/Queries/GetUserInfoRolesQuery.cs
rename to FlexJobApi.Core/Models/UserServer/Users/Queries/GetUserInfoRolesQuery.cs
index 0129d0f..1bc1751 100644
--- a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetUserInfoRolesQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetUserInfoRolesQuery.cs
@@ -10,7 +10,7 @@
     /// <summary>
     /// 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
     /// </summary>
-    [Resource([EnumResourceController.UserInfo])]
+    [Resource([EnumResourceController.User])]
     public class GetUserInfoRolesQuery : IRequest<List<GetUserInfoRolesQueryResultItem>>
     {
         /// <summary>
diff --git a/FlexJobApi.Core/Utils/ConsoleLogUtils/DatabaseLoggingWriter.cs b/FlexJobApi.Core/Utils/ConsoleLogUtils/DatabaseLoggingWriter.cs
index 125e9d8..d62f1c9 100644
--- a/FlexJobApi.Core/Utils/ConsoleLogUtils/DatabaseLoggingWriter.cs
+++ b/FlexJobApi.Core/Utils/ConsoleLogUtils/DatabaseLoggingWriter.cs
@@ -26,6 +26,7 @@
 
         public async Task WriteAsync(LogMessage logMsg, bool flush)
         {
+            var logier = JwtUtils.GetCurrentLogier();
             await rep.InsertNowAsync(new ConsoleLog
             {
                 Id = IDGen.NextID(),
@@ -47,7 +48,8 @@
                 ClientIpAddress = App.HttpContext?.GetRemoteIpAddressToIPv4(),
                 TraceId = logMsg.TraceId,
                 CreatedTime = logMsg.LogDateTime,
-                CreatedUserInfoId = JwtUtils.GetCurrentLogier()?.UserInfoId,
+                CreatedUserId = logier?.Id,
+                CreatedEnterpriseId = logier?.EnterpriseId
             });
         }
 
diff --git a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
index 46a2dc2..cf2c06d 100644
--- a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
+++ b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
@@ -455,10 +455,17 @@
                     }
 
                     // 璧嬪�肩敤鎴蜂俊鎭疘d
-                    prop = entity.Property(nameof(CommonEntity.CreatedUserInfoId));
+                    prop = entity.Property(nameof(CommonEntity.CreatedUserId));
                     if (prop != null && prop.CurrentValue == null)
                     {
-                        prop.CurrentValue = logier?.UserInfoId;
+                        prop.CurrentValue = logier?.Id;
+                    }
+
+                    // 璧嬪�间紒涓欼d
+                    prop = entity.Property(nameof(CommonEntity.CreatedEnterpriseId));
+                    if (prop != null && prop.CurrentValue == null)
+                    {
+                        prop.CurrentValue = logier?.EnterpriseId;
                     }
 
                     // 璧嬪�艰窡韪狪d
@@ -478,10 +485,10 @@
                     }
 
                     // 璧嬪�肩敤鎴蜂俊鎭疘d
-                    prop = entity.Property(nameof(CommonEntity.UpdatedUserInfoId));
+                    prop = entity.Property(nameof(CommonEntity.UpdatedUserId));
                     if (prop != null)
                     {
-                        prop.CurrentValue = logier?.UserInfoId;
+                        prop.CurrentValue = logier?.Id;
                     }
 
                     // 璧嬪�艰窡韪狪d
@@ -527,7 +534,8 @@
                         : EnumDbAuditOperate.Deleted,
                     TraceId = App.GetTraceId(),
                     CreatedTime = DateTime.Now,
-                    CreatedUserInfoId = logier?.UserInfoId,
+                    CreatedUserId = logier?.Id,
+                    CreatedEnterpriseId = logier?.EnterpriseId
                 });
             }
         }
diff --git a/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs b/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs
index 8320023..fc1a037 100644
--- a/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs
+++ b/FlexJobApi.Core/Utils/JwtUtils/CurrentLogier.cs
@@ -11,7 +11,7 @@
         /// <summary>
         /// 鐢ㄦ埛Id
         /// </summary>
-        public Guid UserInfoId { get; set; }
+        public Guid Id { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛璁块棶浠ょ墝
diff --git a/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs b/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs
index 9a2f200..0743dc1 100644
--- a/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs
+++ b/FlexJobApi.Core/Utils/JwtUtils/JwtUtils.cs
@@ -29,7 +29,7 @@
             // 鐢熸垚 token
             logier.AccessToken = JWTEncryption.Encrypt(new Dictionary<string, object>()
             {
-                { "UserInfoId", logier.UserInfoId },
+                { "Id", logier.Id },
                 { "Avatar",logier.Avatar },
                 { "Name",logier.Name },
                 { "UserName",logier.UserName },
@@ -56,15 +56,14 @@
             if (App.User != null && App.User.Identity.IsAuthenticated)
             {
                 var logier = new CurrentLogier();
-                if (Guid.TryParse(App.User?.FindFirstValue("UserInfoId"), out var userInfoId)) logier.UserInfoId = userInfoId;
-                else return null;
+                logier.Id = App.User.FindFirstValue("Id").ToGuid("缂哄け鐢ㄦ埛Id锛岃閲嶆柊鐧诲綍").Value;
                 logier.Level = App.User.FindFirstValue("Level")?.ToInt() ?? 0;
                 logier.Avatar = App.User.FindFirstValue("Avatar");
                 logier.Name = App.User.FindFirstValue("Name");
                 logier.UserName = App.User.FindFirstValue("UserName");
                 logier.PhoneNumber = App.User.FindFirstValue("PhoneNumber");
-                logier.Type = App.User.FindFirstValue("Type").ToEnum<EnumUserType>("璇峰~鍐欑敤鎴风被鍨�").Value;
-                logier.ClientType = App.User.FindFirstValue("ClientType").ToEnum<EnumClientType>("璇峰~鍐欏鎴风绫诲瀷").Value;
+                logier.Type = App.User.FindFirstValue("Type").ToEnum<EnumUserType>("缂哄け鐢ㄦ埛绫诲瀷锛岃閲嶆柊鐧诲綍").Value;
+                logier.ClientType = App.User.FindFirstValue("ClientType").ToEnum<EnumClientType>("缂哄け瀹㈡埛绔被鍨嬶紝璇烽噸鏂扮櫥褰�").Value;
                 logier.EnterpriseId = App.User.FindFirstValue("EnterpriseId").ToGuid();
                 return logier;
             }
diff --git a/FlexJobApi.Core/Utils/ResourceUtils/ResourceActionFilter.cs b/FlexJobApi.Core/Utils/ResourceUtils/ResourceActionFilter.cs
index 7e96cf9..c08cbc2 100644
--- a/FlexJobApi.Core/Utils/ResourceUtils/ResourceActionFilter.cs
+++ b/FlexJobApi.Core/Utils/ResourceUtils/ResourceActionFilter.cs
@@ -29,6 +29,7 @@
             var serviceScopeFactory = App.GetService<IServiceScopeFactory>();
             var serviceScope = serviceScopeFactory.CreateScope();
             var rep = serviceScope.ServiceProvider.GetRequiredService<IRepository<ResourceLog, LogDbContextLocator>>();
+            var logier = JwtUtils.GetCurrentLogier();
 
             resourceLog.Id = IDGen.NextID();
             resourceLog.TraceId = App.GetTraceId();
@@ -36,7 +37,8 @@
             resourceLog.Domain = $"{context.HttpContext.Request.Scheme}://{context.HttpContext.Request.Host}";
             resourceLog.Path = context.HttpContext.Request.Path;
             resourceLog.ClientIpAddress = context.HttpContext.GetRemoteIpAddressToIPv4();
-            resourceLog.CreatedUserInfoId = context.HttpContext.User?.FindFirstValue("UserInfoId").ToGuid();
+            resourceLog.CreatedUserId = logier?.Id;
+            resourceLog.CreatedEnterpriseId = logier?.EnterpriseId;
             resourceLog.Request = context.ActionArguments?.ToJson();
             resourceLog.RequestHeaders = context.HttpContext.Request.Headers.ToJson();
 
diff --git a/FlexJobApi.Core/Utils/StringUtils/StringUtils.cs b/FlexJobApi.Core/Utils/StringUtils/StringUtils.cs
index c8fa2cf..a303260 100644
--- a/FlexJobApi.Core/Utils/StringUtils/StringUtils.cs
+++ b/FlexJobApi.Core/Utils/StringUtils/StringUtils.cs
@@ -35,9 +35,10 @@
             return !str.IsNull();
         }
 
-        public static Guid? ToGuid(this string str)
+        public static Guid? ToGuid(this string str, string requiredMessage = null)
         {
             if (str.IsNotNull() && Guid.TryParse(str, out var guid) && guid != Guid.Empty) return guid;
+            if (requiredMessage.IsNotNull()) throw Oops.Oh(EnumErrorCodeType.s400, requiredMessage);
             return null;
         }
 
diff --git a/FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.Designer.cs b/FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.Designer.cs
new file mode 100644
index 0000000..f7f594c
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.Designer.cs
@@ -0,0 +1,1998 @@
+锘�// <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("20250807151132_UpdateUser0807")]
+    partial class UpdateUser0807
+    {
+        /// <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")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ResponseTypeName")
+                        .IsRequired()
+                        .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/20250807151132_UpdateUser0807.cs b/FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.cs
new file mode 100644
index 0000000..36dccf4
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/20250807151132_UpdateUser0807.cs
@@ -0,0 +1,1550 @@
+锘縰sing System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace FlexJobApi.Database.Migrations.Migrations
+{
+    /// <inheritdoc />
+    public partial class UpdateUser0807 : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropForeignKey(
+                name: "FK_Enterprise_EnterpriseAuth_EnterpriseAuthId",
+                table: "Enterprise");
+
+            migrationBuilder.DropForeignKey(
+                name: "FK_TaskInfoUser_UserInfo_UserInfoId",
+                table: "TaskInfoUser");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoBankCard");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoCredential");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoDepartment");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoExpectJob");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoPhoto");
+
+            migrationBuilder.DropTable(
+                name: "UserInfoRole");
+
+            migrationBuilder.DropTable(
+                name: "UserInfo");
+
+            migrationBuilder.DropIndex(
+                name: "IX_Enterprise_EnterpriseAuthId",
+                table: "Enterprise");
+
+            migrationBuilder.DeleteData(
+                table: "UserAuth",
+                keyColumn: "Id",
+                keyValue: new Guid("11111111-1111-1111-1111-111111111111"));
+
+            migrationBuilder.DropColumn(
+                name: "IsCheckPhoneNumber",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "IsReal",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "Password",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "RealAccess",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "UserName",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "IsReal",
+                table: "EnterpriseAuth");
+
+            migrationBuilder.DropColumn(
+                name: "EnterpriseAuthId",
+                table: "Enterprise");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "UserAuth",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "UserAuth",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UserInfoId",
+                table: "TaskInfoUser",
+                newName: "UserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "TaskInfoUser",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "TaskInfoUser",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameIndex(
+                name: "IX_TaskInfoUser_UserInfoId",
+                table: "TaskInfoUser",
+                newName: "IX_TaskInfoUser_UserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "TaskInfoCredentialLimit",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "TaskInfoCredentialLimit",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "TaskInfoBenefit",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "TaskInfoBenefit",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "TaskInfo",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "TaskInfo",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "Address",
+                table: "TaskInfo",
+                newName: "AddressName");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "RoleResource",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "RoleResource",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "RoleMenu",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "RoleMenu",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "Role",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "Role",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "Resource",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "Resource",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "Menu",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "Menu",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "EnterpriseAuth",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "EnterpriseAuth",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "Enterprise",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "Enterprise",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "DictionaryData",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "DictionaryData",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "DictionaryCategory",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "DictionaryCategory",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "Department",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "Department",
+                newName: "CreatedUserId");
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "UserAuth",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoUser",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoCredentialLimit",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoBenefit",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "AddressDetail",
+                table: "TaskInfo",
+                type: "nvarchar(max)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<int>(
+                name: "CheckReceiveStatus",
+                table: "TaskInfo",
+                type: "int",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfo",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "Latitude",
+                table: "TaskInfo",
+                type: "decimal(18,2)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "Longitude",
+                table: "TaskInfo",
+                type: "decimal(18,2)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<int>(
+                name: "RecommendStatus",
+                table: "TaskInfo",
+                type: "int",
+                nullable: false,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "SettlementStatus",
+                table: "TaskInfo",
+                type: "int",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "RoleResource",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "RoleMenu",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "Role",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "Resource",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "Menu",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "EnterpriseAuth",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "Enterprise",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "EnterpriseName",
+                table: "Enterprise",
+                type: "nvarchar(128)",
+                maxLength: 128,
+                nullable: false,
+                defaultValue: "");
+
+            migrationBuilder.AddColumn<bool>(
+                name: "IsReal",
+                table: "Enterprise",
+                type: "bit",
+                nullable: false,
+                defaultValue: false);
+
+            migrationBuilder.AddColumn<string>(
+                name: "LegalIdentity",
+                table: "Enterprise",
+                type: "nvarchar(18)",
+                maxLength: 18,
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "LegalPerson",
+                table: "Enterprise",
+                type: "nvarchar(32)",
+                maxLength: 32,
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "LicenseImage",
+                table: "Enterprise",
+                type: "nvarchar(max)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "SocietyCreditCode",
+                table: "Enterprise",
+                type: "nvarchar(18)",
+                maxLength: 18,
+                nullable: false,
+                defaultValue: "");
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "DictionaryData",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "DictionaryCategory",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "Department",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.CreateTable(
+                name: "User",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    Type = table.Column<int>(type: "int", nullable: false),
+                    EnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    Avatar = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Name = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
+                    UserName = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
+                    PhoneNumber = table.Column<string>(type: "nvarchar(11)", maxLength: 11, nullable: true),
+                    IsCheckPhoneNumber = table.Column<bool>(type: "bit", nullable: false),
+                    Password = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    WxmpOpenId = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
+                    Level = table.Column<int>(type: "int", nullable: false),
+                    RealAccess = table.Column<int>(type: "int", nullable: true),
+                    IsReal = table.Column<bool>(type: "bit", nullable: false),
+                    ProvinceCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    CityCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    Remark = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Status = table.Column<int>(type: "int", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_User", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_User_DictionaryData_CityCode",
+                        column: x => x.CityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_User_DictionaryData_ProvinceCode",
+                        column: x => x.ProvinceCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_User_Enterprise_EnterpriseId",
+                        column: x => x.EnterpriseId,
+                        principalTable: "Enterprise",
+                        principalColumn: "Id");
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserBankCard",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    Code = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
+                    Bank = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
+                    PhoneNumber = table.Column<string>(type: "nvarchar(11)", maxLength: 11, nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserBankCard", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserBankCard_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserCredential",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    TypeCode = table.Column<string>(type: "nvarchar(128)", nullable: false),
+                    Code = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
+                    IsForever = table.Column<bool>(type: "bit", nullable: false),
+                    StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
+                    EndDate = table.Column<DateTime>(type: "datetime2", nullable: false),
+                    IssueUnit = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Img = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    BackImg = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserCredential", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserCredential_DictionaryData_TypeCode",
+                        column: x => x.TypeCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserCredential_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserDepartment",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserDepartment", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserDepartment_Department_DepartmentId",
+                        column: x => x.DepartmentId,
+                        principalTable: "Department",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_UserDepartment_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserExpectJob",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    PersonalIdentityCode = table.Column<string>(type: "nvarchar(128)", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserExpectJob", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserExpectJob_DictionaryData_PersonalIdentityCode",
+                        column: x => x.PersonalIdentityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserExpectJob_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserPhoto",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    Img = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserPhoto", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserPhoto_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserResume",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    PersonalIdentityCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    EducationalBackgroundCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    FreeTime = table.Column<int>(type: "int", nullable: true),
+                    JobSeekingStatus = table.Column<int>(type: "int", nullable: true),
+                    WorkSeniority = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    WorkExperience = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Height = table.Column<int>(type: "int", nullable: true),
+                    Weight = table.Column<int>(type: "int", nullable: true),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserResume", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserResume_DictionaryData_EducationalBackgroundCode",
+                        column: x => x.EducationalBackgroundCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserResume_DictionaryData_PersonalIdentityCode",
+                        column: x => x.PersonalIdentityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserResume_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserRole",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    CreatedEnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    UpdatedUserId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserRole", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserRole_Role_RoleId",
+                        column: x => x.RoleId,
+                        principalTable: "Role",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_UserRole_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.InsertData(
+                table: "User",
+                columns: new[] { "Id", "Avatar", "CityCode", "CreatedEnterpriseId", "CreatedTime", "CreatedUserId", "EnterpriseId", "IsCheckPhoneNumber", "IsDeleted", "IsReal", "Level", "Name", "Password", "PhoneNumber", "ProvinceCode", "RealAccess", "Remark", "Sort", "Status", "TraceId", "Type", "UpdatedTime", "UpdatedUserId", "UserName", "WxmpOpenId" },
+                values: new object[] { new Guid("11111111-1111-1111-1111-111111111111"), null, null, null, new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)), null, null, false, false, false, 999, "绠$悊鍛�", "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=", null, null, null, null, 0, 10, null, 100, null, null, "system", null });
+
+            migrationBuilder.CreateIndex(
+                name: "IX_User_CityCode",
+                table: "User",
+                column: "CityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_User_EnterpriseId",
+                table: "User",
+                column: "EnterpriseId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_User_ProvinceCode",
+                table: "User",
+                column: "ProvinceCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserBankCard_UserId",
+                table: "UserBankCard",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserCredential_TypeCode",
+                table: "UserCredential",
+                column: "TypeCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserCredential_UserId",
+                table: "UserCredential",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserDepartment_DepartmentId",
+                table: "UserDepartment",
+                column: "DepartmentId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserDepartment_UserId",
+                table: "UserDepartment",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserExpectJob_PersonalIdentityCode",
+                table: "UserExpectJob",
+                column: "PersonalIdentityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserExpectJob_UserId",
+                table: "UserExpectJob",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserPhoto_UserId",
+                table: "UserPhoto",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserResume_EducationalBackgroundCode",
+                table: "UserResume",
+                column: "EducationalBackgroundCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserResume_PersonalIdentityCode",
+                table: "UserResume",
+                column: "PersonalIdentityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserResume_UserId",
+                table: "UserResume",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserRole_RoleId",
+                table: "UserRole",
+                column: "RoleId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserRole_UserId",
+                table: "UserRole",
+                column: "UserId");
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_EnterpriseAuth_Enterprise_Id",
+                table: "EnterpriseAuth",
+                column: "Id",
+                principalTable: "Enterprise",
+                principalColumn: "Id",
+                onDelete: ReferentialAction.Cascade);
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_TaskInfoUser_User_UserId",
+                table: "TaskInfoUser",
+                column: "UserId",
+                principalTable: "User",
+                principalColumn: "Id",
+                onDelete: ReferentialAction.Cascade);
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_UserAuth_User_Id",
+                table: "UserAuth",
+                column: "Id",
+                principalTable: "User",
+                principalColumn: "Id",
+                onDelete: ReferentialAction.Cascade);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropForeignKey(
+                name: "FK_EnterpriseAuth_Enterprise_Id",
+                table: "EnterpriseAuth");
+
+            migrationBuilder.DropForeignKey(
+                name: "FK_TaskInfoUser_User_UserId",
+                table: "TaskInfoUser");
+
+            migrationBuilder.DropForeignKey(
+                name: "FK_UserAuth_User_Id",
+                table: "UserAuth");
+
+            migrationBuilder.DropTable(
+                name: "UserBankCard");
+
+            migrationBuilder.DropTable(
+                name: "UserCredential");
+
+            migrationBuilder.DropTable(
+                name: "UserDepartment");
+
+            migrationBuilder.DropTable(
+                name: "UserExpectJob");
+
+            migrationBuilder.DropTable(
+                name: "UserPhoto");
+
+            migrationBuilder.DropTable(
+                name: "UserResume");
+
+            migrationBuilder.DropTable(
+                name: "UserRole");
+
+            migrationBuilder.DropTable(
+                name: "User");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "UserAuth");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoUser");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoCredentialLimit");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfoBenefit");
+
+            migrationBuilder.DropColumn(
+                name: "AddressDetail",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "CheckReceiveStatus",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "Latitude",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "Longitude",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "RecommendStatus",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "SettlementStatus",
+                table: "TaskInfo");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "RoleResource");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "RoleMenu");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "Role");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "Resource");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "Menu");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "EnterpriseAuth");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "EnterpriseName",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "IsReal",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "LegalIdentity",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "LegalPerson",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "LicenseImage",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "SocietyCreditCode",
+                table: "Enterprise");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "DictionaryData");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "DictionaryCategory");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "Department");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "UserAuth",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "UserAuth",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UserId",
+                table: "TaskInfoUser",
+                newName: "UserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "TaskInfoUser",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "TaskInfoUser",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameIndex(
+                name: "IX_TaskInfoUser_UserId",
+                table: "TaskInfoUser",
+                newName: "IX_TaskInfoUser_UserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "TaskInfoCredentialLimit",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "TaskInfoCredentialLimit",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "TaskInfoBenefit",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "TaskInfoBenefit",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "TaskInfo",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "TaskInfo",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "AddressName",
+                table: "TaskInfo",
+                newName: "Address");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "RoleResource",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "RoleResource",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "RoleMenu",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "RoleMenu",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "Role",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "Role",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "Resource",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "Resource",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "Menu",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "Menu",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "EnterpriseAuth",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "EnterpriseAuth",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "Enterprise",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "Enterprise",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "DictionaryData",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "DictionaryData",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "DictionaryCategory",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "DictionaryCategory",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "Department",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "Department",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.AddColumn<bool>(
+                name: "IsCheckPhoneNumber",
+                table: "UserAuth",
+                type: "bit",
+                nullable: false,
+                defaultValue: false);
+
+            migrationBuilder.AddColumn<bool>(
+                name: "IsReal",
+                table: "UserAuth",
+                type: "bit",
+                nullable: false,
+                defaultValue: false);
+
+            migrationBuilder.AddColumn<string>(
+                name: "Password",
+                table: "UserAuth",
+                type: "nvarchar(max)",
+                nullable: true);
+
+            migrationBuilder.AddColumn<int>(
+                name: "RealAccess",
+                table: "UserAuth",
+                type: "int",
+                nullable: true);
+
+            migrationBuilder.AddColumn<string>(
+                name: "UserName",
+                table: "UserAuth",
+                type: "nvarchar(32)",
+                maxLength: 32,
+                nullable: false,
+                defaultValue: "");
+
+            migrationBuilder.AddColumn<bool>(
+                name: "IsReal",
+                table: "EnterpriseAuth",
+                type: "bit",
+                nullable: false,
+                defaultValue: false);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "EnterpriseAuthId",
+                table: "Enterprise",
+                type: "uniqueidentifier",
+                nullable: false,
+                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
+
+            migrationBuilder.CreateTable(
+                name: "UserInfo",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CityCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    EducationalBackgroundCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    EnterpriseId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    PersonalIdentityCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    ProvinceCode = table.Column<string>(type: "nvarchar(128)", nullable: true),
+                    UserAuthId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    Avatar = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    FreeTime = table.Column<int>(type: "int", nullable: true),
+                    Height = table.Column<int>(type: "int", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    JobSeekingStatus = table.Column<int>(type: "int", nullable: true),
+                    Level = table.Column<int>(type: "int", nullable: false),
+                    Remark = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    Status = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Type = table.Column<int>(type: "int", nullable: false),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    Weight = table.Column<int>(type: "int", nullable: true),
+                    WorkExperience = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    WorkSeniority = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    WxmpOpenId = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfo", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfo_DictionaryData_CityCode",
+                        column: x => x.CityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfo_DictionaryData_EducationalBackgroundCode",
+                        column: x => x.EducationalBackgroundCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfo_DictionaryData_PersonalIdentityCode",
+                        column: x => x.PersonalIdentityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfo_DictionaryData_ProvinceCode",
+                        column: x => x.ProvinceCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfo_Enterprise_EnterpriseId",
+                        column: x => x.EnterpriseId,
+                        principalTable: "Enterprise",
+                        principalColumn: "Id");
+                    table.ForeignKey(
+                        name: "FK_UserInfo_UserAuth_UserAuthId",
+                        column: x => x.UserAuthId,
+                        principalTable: "UserAuth",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoBankCard",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    Bank = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
+                    Code = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    PhoneNumber = table.Column<string>(type: "nvarchar(11)", maxLength: 11, nullable: false),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoBankCard", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoBankCard_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoCredential",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    TypeCode = table.Column<string>(type: "nvarchar(128)", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    BackImg = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Code = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    EndDate = table.Column<DateTime>(type: "datetime2", nullable: false),
+                    Img = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    IsForever = table.Column<bool>(type: "bit", nullable: false),
+                    IssueUnit = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoCredential", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoCredential_DictionaryData_TypeCode",
+                        column: x => x.TypeCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfoCredential_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoDepartment",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoDepartment", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoDepartment_Department_DepartmentId",
+                        column: x => x.DepartmentId,
+                        principalTable: "Department",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_UserInfoDepartment_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoExpectJob",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    PersonalIdentityCode = table.Column<string>(type: "nvarchar(128)", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoExpectJob", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoExpectJob_DictionaryData_PersonalIdentityCode",
+                        column: x => x.PersonalIdentityCode,
+                        principalTable: "DictionaryData",
+                        principalColumn: "Code",
+                        onDelete: ReferentialAction.Restrict);
+                    table.ForeignKey(
+                        name: "FK_UserInfoExpectJob_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoPhoto",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    Img = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoPhoto", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoPhoto_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "UserInfoRole",
+                columns: table => new
+                {
+                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    UserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
+                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
+                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
+                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
+                    Sort = table.Column<int>(type: "int", nullable: false),
+                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true),
+                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
+                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_UserInfoRole", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_UserInfoRole_Role_RoleId",
+                        column: x => x.RoleId,
+                        principalTable: "Role",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                    table.ForeignKey(
+                        name: "FK_UserInfoRole_UserInfo_UserInfoId",
+                        column: x => x.UserInfoId,
+                        principalTable: "UserInfo",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.InsertData(
+                table: "UserAuth",
+                columns: new[] { "Id", "BankCard", "BankCardImg", "CreatedTime", "CreatedUserInfoId", "Identity", "IdentityBackImg", "IdentityImg", "IsCheckPhoneNumber", "IsDeleted", "IsReal", "Name", "Password", "PhoneNumber", "RealAccess", "Sort", "TraceId", "UpdatedTime", "UpdatedUserInfoId", "UserName" },
+                values: new object[] { new Guid("11111111-1111-1111-1111-111111111111"), null, null, new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)), null, null, null, null, false, false, false, "绠$悊鍛�", "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=", null, null, 0, null, null, null, "system" });
+
+            migrationBuilder.InsertData(
+                table: "UserInfo",
+                columns: new[] { "Id", "Avatar", "CityCode", "CreatedTime", "CreatedUserInfoId", "EducationalBackgroundCode", "EnterpriseId", "FreeTime", "Height", "IsDeleted", "JobSeekingStatus", "Level", "PersonalIdentityCode", "ProvinceCode", "Remark", "Sort", "Status", "TraceId", "Type", "UpdatedTime", "UpdatedUserInfoId", "UserAuthId", "Weight", "WorkExperience", "WorkSeniority", "WxmpOpenId" },
+                values: new object[] { new Guid("11111111-1111-1111-1111-111111111112"), null, null, new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)), null, null, null, null, null, false, null, 999, null, null, null, 0, 0, null, 100, null, null, new Guid("11111111-1111-1111-1111-111111111111"), null, null, null, null });
+
+            migrationBuilder.CreateIndex(
+                name: "IX_Enterprise_EnterpriseAuthId",
+                table: "Enterprise",
+                column: "EnterpriseAuthId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_CityCode",
+                table: "UserInfo",
+                column: "CityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_EducationalBackgroundCode",
+                table: "UserInfo",
+                column: "EducationalBackgroundCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_EnterpriseId",
+                table: "UserInfo",
+                column: "EnterpriseId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_PersonalIdentityCode",
+                table: "UserInfo",
+                column: "PersonalIdentityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_ProvinceCode",
+                table: "UserInfo",
+                column: "ProvinceCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfo_UserAuthId",
+                table: "UserInfo",
+                column: "UserAuthId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoBankCard_UserInfoId",
+                table: "UserInfoBankCard",
+                column: "UserInfoId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoCredential_TypeCode",
+                table: "UserInfoCredential",
+                column: "TypeCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoCredential_UserInfoId",
+                table: "UserInfoCredential",
+                column: "UserInfoId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoDepartment_DepartmentId",
+                table: "UserInfoDepartment",
+                column: "DepartmentId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoDepartment_UserInfoId",
+                table: "UserInfoDepartment",
+                column: "UserInfoId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoExpectJob_PersonalIdentityCode",
+                table: "UserInfoExpectJob",
+                column: "PersonalIdentityCode");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoExpectJob_UserInfoId",
+                table: "UserInfoExpectJob",
+                column: "UserInfoId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoPhoto_UserInfoId",
+                table: "UserInfoPhoto",
+                column: "UserInfoId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoRole_RoleId",
+                table: "UserInfoRole",
+                column: "RoleId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_UserInfoRole_UserInfoId",
+                table: "UserInfoRole",
+                column: "UserInfoId");
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_Enterprise_EnterpriseAuth_EnterpriseAuthId",
+                table: "Enterprise",
+                column: "EnterpriseAuthId",
+                principalTable: "EnterpriseAuth",
+                principalColumn: "Id",
+                onDelete: ReferentialAction.Cascade);
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_TaskInfoUser_UserInfo_UserInfoId",
+                table: "TaskInfoUser",
+                column: "UserInfoId",
+                principalTable: "UserInfo",
+                principalColumn: "Id",
+                onDelete: ReferentialAction.Cascade);
+        }
+    }
+}
diff --git a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
index a69c87f..5e897d6 100644
--- a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
+++ b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
@@ -28,10 +28,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<Guid>("EnterpriseId")
@@ -65,7 +68,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -88,10 +91,13 @@
                         .HasMaxLength(128)
                         .HasColumnType("nvarchar(128)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("FieldNames")
@@ -117,7 +123,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -143,10 +149,13 @@
                         .IsRequired()
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<int>("Deep")
@@ -188,7 +197,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -233,14 +242,19 @@
                         .HasMaxLength(32)
                         .HasColumnType("nvarchar(32)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("EnterpriseAuthId")
-                        .HasColumnType("uniqueidentifier");
+                    b.Property<string>("EnterpriseName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
 
                     b.Property<string>("IndustryTypeCode")
                         .HasColumnType("nvarchar(128)");
@@ -250,6 +264,20 @@
 
                     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)");
@@ -278,6 +306,11 @@
                     b.Property<decimal>("SmsCost")
                         .HasColumnType("decimal(18,2)");
 
+                    b.Property<string>("SocietyCreditCode")
+                        .IsRequired()
+                        .HasMaxLength(18)
+                        .HasColumnType("nvarchar(18)");
+
                     b.Property<int>("Sort")
                         .HasColumnType("int");
 
@@ -287,14 +320,12 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("CityCode");
-
-                    b.HasIndex("EnterpriseAuthId");
 
                     b.HasIndex("IndustryTypeCode");
 
@@ -316,10 +347,13 @@
                     b.Property<string>("BankCardImg")
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("EnterpriseName")
@@ -341,9 +375,6 @@
                         .HasColumnType("nvarchar(max)");
 
                     b.Property<bool>("IsDeleted")
-                        .HasColumnType("bit");
-
-                    b.Property<bool>("IsReal")
                         .HasColumnType("bit");
 
                     b.Property<string>("LegalIdentity")
@@ -388,7 +419,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -409,10 +440,13 @@
                         .IsRequired()
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Group")
@@ -459,7 +493,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Url")
@@ -509,10 +543,13 @@
                     b.Property<string>("ControllerSummary")
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("DynamicAssemblyName")
@@ -569,7 +606,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -586,10 +623,13 @@
                     b.Property<int>("ClientType")
                         .HasColumnType("int");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<int>("DataPower")
@@ -621,7 +661,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<int>("UserType")
@@ -638,10 +678,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -662,7 +705,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -680,10 +723,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<int>("DataPower")
@@ -707,7 +753,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -725,7 +771,10 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<string>("Address")
+                    b.Property<string>("AddressDetail")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("AddressName")
                         .HasColumnType("nvarchar(max)");
 
                     b.Property<int>("AgeMaxLimit")
@@ -740,16 +789,22 @@
                     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?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<DateTime>("EndTime")
@@ -764,12 +819,21 @@
                     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");
@@ -778,6 +842,9 @@
                         .HasColumnType("decimal(18,2)");
 
                     b.Property<int>("SettlementCycle")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("SettlementStatus")
                         .HasColumnType("int");
 
                     b.Property<int>("Sort")
@@ -792,7 +859,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -816,10 +883,13 @@
                         .IsRequired()
                         .HasColumnType("nvarchar(128)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -837,7 +907,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -855,10 +925,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -880,7 +953,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -898,10 +971,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<int>("HireStatus")
@@ -931,48 +1007,44 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("TaskInfoId");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
                     b.ToTable("TaskInfoUser");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
                 {
                     b.Property<Guid>("Id")
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<string>("BankCard")
-                        .HasMaxLength(32)
-                        .HasColumnType("nvarchar(32)");
-
-                    b.Property<string>("BankCardImg")
+                    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?>("CreatedUserInfoId")
+                    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<Guid?>("EnterpriseId")
+                        .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsCheckPhoneNumber")
                         .HasColumnType("bit");
@@ -982,6 +1054,9 @@
 
                     b.Property<bool>("IsReal")
                         .HasColumnType("bit");
+
+                    b.Property<int>("Level")
+                        .HasColumnType("int");
 
                     b.Property<string>("Name")
                         .IsRequired()
@@ -995,89 +1070,11 @@
                         .HasMaxLength(11)
                         .HasColumnType("nvarchar(11)");
 
-                    b.Property<int?>("RealAccess")
-                        .HasColumnType("int");
-
-                    b.Property<int>("Sort")
-                        .HasColumnType("int");
-
-                    b.Property<string>("TraceId")
-                        .HasColumnType("nvarchar(max)");
-
-                    b.Property<DateTimeOffset?>("UpdatedTime")
-                        .HasColumnType("datetimeoffset");
-
-                    b.Property<Guid?>("UpdatedUserInfoId")
-                        .HasColumnType("uniqueidentifier");
-
-                    b.Property<string>("UserName")
-                        .IsRequired()
-                        .HasMaxLength(32)
-                        .HasColumnType("nvarchar(32)");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("UserAuth");
-
-                    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,
-                            Name = "绠$悊鍛�",
-                            Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=",
-                            Sort = 0,
-                            UserName = "system"
-                        });
-                });
-
-            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
-                {
-                    b.Property<Guid>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("uniqueidentifier");
-
-                    b.Property<string>("Avatar")
-                        .HasColumnType("nvarchar(max)");
-
-                    b.Property<string>("CityCode")
-                        .HasColumnType("nvarchar(128)");
-
-                    b.Property<DateTimeOffset>("CreatedTime")
-                        .HasColumnType("datetimeoffset");
-
-                    b.Property<Guid?>("CreatedUserInfoId")
-                        .HasColumnType("uniqueidentifier");
-
-                    b.Property<string>("EducationalBackgroundCode")
-                        .HasColumnType("nvarchar(128)");
-
-                    b.Property<Guid?>("EnterpriseId")
-                        .HasColumnType("uniqueidentifier");
-
-                    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<int>("Level")
-                        .HasColumnType("int");
-
-                    b.Property<string>("PersonalIdentityCode")
-                        .HasColumnType("nvarchar(128)");
-
                     b.Property<string>("ProvinceCode")
                         .HasColumnType("nvarchar(128)");
+
+                    b.Property<int?>("RealAccess")
+                        .HasColumnType("int");
 
                     b.Property<string>("Remark")
                         .HasColumnType("nvarchar(max)");
@@ -1097,20 +1094,13 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserAuthId")
-                        .HasColumnType("uniqueidentifier");
-
-                    b.Property<int?>("Weight")
-                        .HasColumnType("int");
-
-                    b.Property<string>("WorkExperience")
-                        .HasColumnType("nvarchar(max)");
-
-                    b.Property<string>("WorkSeniority")
-                        .HasColumnType("nvarchar(max)");
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
 
                     b.Property<string>("WxmpOpenId")
                         .HasMaxLength(32)
@@ -1120,33 +1110,91 @@
 
                     b.HasIndex("CityCode");
 
-                    b.HasIndex("EducationalBackgroundCode");
-
                     b.HasIndex("EnterpriseId");
-
-                    b.HasIndex("PersonalIdentityCode");
 
                     b.HasIndex("ProvinceCode");
 
-                    b.HasIndex("UserAuthId");
-
-                    b.ToTable("UserInfo");
+                    b.ToTable("User");
 
                     b.HasData(
                         new
                         {
-                            Id = new Guid("11111111-1111-1111-1111-111111111112"),
+                            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 = 0,
+                            Status = 10,
                             Type = 100,
-                            UserAuthId = new Guid("11111111-1111-1111-1111-111111111111")
+                            UserName = "system"
                         });
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoBankCard", b =>
+            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()
@@ -1162,10 +1210,13 @@
                         .HasMaxLength(32)
                         .HasColumnType("nvarchar(32)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -1185,20 +1236,20 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoBankCard");
+                    b.ToTable("UserBankCard");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
+            modelBuilder.Entity("FlexJobApi.Core.UserCredential", b =>
                 {
                     b.Property<Guid>("Id")
                         .ValueGeneratedOnAdd()
@@ -1212,10 +1263,13 @@
                         .HasMaxLength(128)
                         .HasColumnType("nvarchar(128)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<DateTime>("EndDate")
@@ -1249,31 +1303,34 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("TypeCode");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoCredential");
+                    b.ToTable("UserCredential");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
+            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?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<Guid>("DepartmentId")
@@ -1291,31 +1348,34 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("DepartmentId");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoDepartment");
+                    b.ToTable("UserDepartment");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
+            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?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -1334,31 +1394,34 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("PersonalIdentityCode");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoExpectJob");
+                    b.ToTable("UserExpectJob");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
+            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?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Img")
@@ -1376,29 +1439,100 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoPhoto");
+                    b.ToTable("UserPhoto");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
+            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?>("CreatedUserInfoId")
+                    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")
@@ -1416,19 +1550,19 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
-                    b.Property<Guid>("UserInfoId")
+                    b.Property<Guid>("UserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
 
                     b.HasIndex("RoleId");
 
-                    b.HasIndex("UserInfoId");
+                    b.HasIndex("UserId");
 
-                    b.ToTable("UserInfoRole");
+                    b.ToTable("UserRole");
                 });
 
             modelBuilder.Entity("FlexJobApi.Core.Department", b =>
@@ -1473,12 +1607,6 @@
                         .HasPrincipalKey("Code")
                         .OnDelete(DeleteBehavior.Restrict);
 
-                    b.HasOne("FlexJobApi.Core.EnterpriseAuth", "EnterpriseAuth")
-                        .WithMany()
-                        .HasForeignKey("EnterpriseAuthId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
                     b.HasOne("FlexJobApi.Core.DictionaryData", "IndustryType")
                         .WithMany()
                         .HasForeignKey("IndustryTypeCode")
@@ -1493,11 +1621,20 @@
 
                     b.Navigation("City");
 
-                    b.Navigation("EnterpriseAuth");
-
                     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 =>
@@ -1622,18 +1759,18 @@
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
+                    b.HasOne("FlexJobApi.Core.User", "User")
                         .WithMany()
-                        .HasForeignKey("UserInfoId")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
                     b.Navigation("TaskInfo");
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
                 {
                     b.HasOne("FlexJobApi.Core.DictionaryData", "City")
                         .WithMany()
@@ -1641,21 +1778,9 @@
                         .HasPrincipalKey("Code")
                         .OnDelete(DeleteBehavior.Restrict);
 
-                    b.HasOne("FlexJobApi.Core.DictionaryData", "EducationalBackground")
-                        .WithMany()
-                        .HasForeignKey("EducationalBackgroundCode")
-                        .HasPrincipalKey("Code")
-                        .OnDelete(DeleteBehavior.Restrict);
-
                     b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
-                        .WithMany("UserInfos")
+                        .WithMany("Users")
                         .HasForeignKey("EnterpriseId");
-
-                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
-                        .WithMany()
-                        .HasForeignKey("PersonalIdentityCode")
-                        .HasPrincipalKey("Code")
-                        .OnDelete(DeleteBehavior.Restrict);
 
                     b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
                         .WithMany()
@@ -1663,37 +1788,36 @@
                         .HasPrincipalKey("Code")
                         .OnDelete(DeleteBehavior.Restrict);
 
-                    b.HasOne("FlexJobApi.Core.UserAuth", "UserAuth")
-                        .WithMany("UserInfos")
-                        .HasForeignKey("UserAuthId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
                     b.Navigation("City");
-
-                    b.Navigation("EducationalBackground");
 
                     b.Navigation("Enterprise");
 
-                    b.Navigation("PersonalIdentity");
-
                     b.Navigation("Province");
-
-                    b.Navigation("UserAuth");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoBankCard", b =>
+            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                 {
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany()
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithOne("UserAuth")
+                        .HasForeignKey("FlexJobApi.Core.UserAuth", "Id")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
+            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()
@@ -1702,18 +1826,18 @@
                         .OnDelete(DeleteBehavior.Restrict)
                         .IsRequired();
 
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany("UserInfoCredentials")
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserCredentials")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
                     b.Navigation("Type");
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
+            modelBuilder.Entity("FlexJobApi.Core.UserDepartment", b =>
                 {
                     b.HasOne("FlexJobApi.Core.Department", "Department")
                         .WithMany()
@@ -1721,18 +1845,18 @@
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany("UserInfoDepartments")
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserDepartments")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
                     b.Navigation("Department");
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
+            modelBuilder.Entity("FlexJobApi.Core.UserExpectJob", b =>
                 {
                     b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
                         .WithMany()
@@ -1741,45 +1865,72 @@
                         .OnDelete(DeleteBehavior.Restrict)
                         .IsRequired();
 
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany("UserInfoExpectJobs")
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserExpectJobs")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
                     b.Navigation("PersonalIdentity");
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
+            modelBuilder.Entity("FlexJobApi.Core.UserPhoto", b =>
                 {
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany()
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("Photos")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
+            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("UserInfoRoles")
+                        .WithMany("UserRoles")
                         .HasForeignKey("RoleId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
-                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
-                        .WithMany("UserInfoRoles")
-                        .HasForeignKey("UserInfoId")
+                    b.HasOne("FlexJobApi.Core.User", "User")
+                        .WithMany("UserRoles")
+                        .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
                     b.Navigation("Role");
 
-                    b.Navigation("UserInfo");
+                    b.Navigation("User");
                 });
 
             modelBuilder.Entity("FlexJobApi.Core.Department", b =>
@@ -1796,7 +1947,9 @@
                 {
                     b.Navigation("Departments");
 
-                    b.Navigation("UserInfos");
+                    b.Navigation("EnterpriseAuth");
+
+                    b.Navigation("Users");
                 });
 
             modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
@@ -1810,7 +1963,7 @@
 
                     b.Navigation("RoleResources");
 
-                    b.Navigation("UserInfoRoles");
+                    b.Navigation("UserRoles");
                 });
 
             modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
@@ -1820,20 +1973,21 @@
                     b.Navigation("CredentialLimits");
                 });
 
-            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
+            modelBuilder.Entity("FlexJobApi.Core.User", b =>
                 {
-                    b.Navigation("UserInfos");
-                });
+                    b.Navigation("BankCards");
 
-            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
-                {
-                    b.Navigation("UserInfoCredentials");
+                    b.Navigation("Photos");
 
-                    b.Navigation("UserInfoDepartments");
+                    b.Navigation("UserAuth");
 
-                    b.Navigation("UserInfoExpectJobs");
+                    b.Navigation("UserCredentials");
 
-                    b.Navigation("UserInfoRoles");
+                    b.Navigation("UserDepartments");
+
+                    b.Navigation("UserExpectJobs");
+
+                    b.Navigation("UserRoles");
                 });
 #pragma warning restore 612, 618
         }
diff --git a/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.Designer.cs b/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.Designer.cs
new file mode 100644
index 0000000..4242de2
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.Designer.cs
@@ -0,0 +1,364 @@
+锘�// <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.LogDb
+{
+    [DbContext(typeof(LogDbContext))]
+    [Migration("20250807151208_UpdateCommon")]
+    partial class UpdateCommon
+    {
+        /// <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.ConsoleLog", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Access")
+                        .HasColumnType("int");
+
+                    b.Property<string>("ClientIpAddress")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    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<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Level")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("StackTrace")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Url")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("ConsoleLog");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.DbAuditLog", 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>("NewValues")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("OldValues")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Operate")
+                        .HasColumnType("int");
+
+                    b.Property<Guid>("PrimaryKey")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TableName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("DbAuditLog");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.Entities.Common.ResourceLog", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("ClientIpAddress")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Domain")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<long>("ElapsedMilliseconds")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsSuccess")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Method")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Path")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("RefererUrl")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Request")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("RequestHeaders")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Response")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("ResponseHeaders")
+                        .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("ResourceLog");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.ExceptionLog", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Code")
+                        .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>("Message")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("StackTrace")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Type")
+                        .HasMaxLength(256)
+                        .HasColumnType("nvarchar(256)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("ExceptionLog");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.QueueLog", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Access")
+                        .HasColumnType("int");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<string>("Data")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<long>("ElapsedMilliseconds")
+                        .HasColumnType("bigint");
+
+                    b.Property<string>("EventId")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<bool>("IsConsumOnce")
+                        .HasColumnType("bit");
+
+                    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.HasKey("Id");
+
+                    b.ToTable("QueueLog");
+                });
+
+            modelBuilder.Entity("FlexJobApi.Core.SmsLog", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<int>("Access")
+                        .HasColumnType("int");
+
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTimeOffset>("CreatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("CreatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property<DateTime?>("Expiry")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("IsDeleted")
+                        .HasColumnType("bit");
+
+                    b.Property<bool>("IsUsed")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("PhoneNumber")
+                        .IsRequired()
+                        .HasMaxLength(11)
+                        .HasColumnType("nvarchar(11)");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TemplateCode")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("TemplateParam")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("TraceId")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTimeOffset?>("UpdatedTime")
+                        .HasColumnType("datetimeoffset");
+
+                    b.Property<Guid?>("UpdatedUserId")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("SmsLog");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.cs b/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.cs
new file mode 100644
index 0000000..0c97d17
--- /dev/null
+++ b/FlexJobApi.Database.Migrations/Migrations/LogDb/20250807151208_UpdateCommon.cs
@@ -0,0 +1,199 @@
+锘縰sing System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace FlexJobApi.Database.Migrations.Migrations.LogDb
+{
+    /// <inheritdoc />
+    public partial class UpdateCommon : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "SmsLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "SmsLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "ResourceLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "ResourceLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "QueueLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "QueueLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "ExceptionLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "ExceptionLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "DbAuditLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "DbAuditLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserInfoId",
+                table: "ConsoleLog",
+                newName: "UpdatedUserId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserInfoId",
+                table: "ConsoleLog",
+                newName: "CreatedUserId");
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "SmsLog",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "ResourceLog",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "QueueLog",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "ExceptionLog",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "DbAuditLog",
+                type: "uniqueidentifier",
+                nullable: true);
+
+            migrationBuilder.AddColumn<Guid>(
+                name: "CreatedEnterpriseId",
+                table: "ConsoleLog",
+                type: "uniqueidentifier",
+                nullable: true);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "SmsLog");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "ResourceLog");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "QueueLog");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "ExceptionLog");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "DbAuditLog");
+
+            migrationBuilder.DropColumn(
+                name: "CreatedEnterpriseId",
+                table: "ConsoleLog");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "SmsLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "SmsLog",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "ResourceLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "ResourceLog",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "QueueLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "QueueLog",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "ExceptionLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "ExceptionLog",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "DbAuditLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "DbAuditLog",
+                newName: "CreatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "UpdatedUserId",
+                table: "ConsoleLog",
+                newName: "UpdatedUserInfoId");
+
+            migrationBuilder.RenameColumn(
+                name: "CreatedUserId",
+                table: "ConsoleLog",
+                newName: "CreatedUserInfoId");
+        }
+    }
+}
diff --git a/FlexJobApi.Database.Migrations/Migrations/LogDb/LogDbContextModelSnapshot.cs b/FlexJobApi.Database.Migrations/Migrations/LogDb/LogDbContextModelSnapshot.cs
index 765925a..547acd2 100644
--- a/FlexJobApi.Database.Migrations/Migrations/LogDb/LogDbContextModelSnapshot.cs
+++ b/FlexJobApi.Database.Migrations/Migrations/LogDb/LogDbContextModelSnapshot.cs
@@ -39,10 +39,13 @@
                         .IsRequired()
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -63,7 +66,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Url")
@@ -80,10 +83,13 @@
                         .ValueGeneratedOnAdd()
                         .HasColumnType("uniqueidentifier");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -115,7 +121,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -132,10 +138,13 @@
                     b.Property<string>("ClientIpAddress")
                         .HasColumnType("nvarchar(max)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Domain")
@@ -180,7 +189,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -198,10 +207,13 @@
                         .HasMaxLength(32)
                         .HasColumnType("nvarchar(32)");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<bool>("IsDeleted")
@@ -226,7 +238,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -243,10 +255,13 @@
                     b.Property<int>("Access")
                         .HasColumnType("int");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<string>("Data")
@@ -276,7 +291,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
@@ -293,10 +308,13 @@
                     b.Property<int>("Access")
                         .HasColumnType("int");
 
+                    b.Property<Guid?>("CreatedEnterpriseId")
+                        .HasColumnType("uniqueidentifier");
+
                     b.Property<DateTimeOffset>("CreatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("CreatedUserInfoId")
+                    b.Property<Guid?>("CreatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.Property<DateTime?>("Expiry")
@@ -330,7 +348,7 @@
                     b.Property<DateTimeOffset?>("UpdatedTime")
                         .HasColumnType("datetimeoffset");
 
-                    b.Property<Guid?>("UpdatedUserInfoId")
+                    b.Property<Guid?>("UpdatedUserId")
                         .HasColumnType("uniqueidentifier");
 
                     b.HasKey("Id");
diff --git a/FlexJobApi.Database.Migrations/REDEME.MD b/FlexJobApi.Database.Migrations/REDEME.MD
index 2c63e08..f2fd816 100644
--- a/FlexJobApi.Database.Migrations/REDEME.MD
+++ b/FlexJobApi.Database.Migrations/REDEME.MD
@@ -1,7 +1,7 @@
 -------------------------------主数据库---------------------------------------
 
 新增迁移文件
-dotnet ef migrations add UpdateDictionaryData0807 -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
+dotnet ef migrations add UpdateUser0807 -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
 
 删除迁移文件
 dotnet ef migrations remove -s "../FlexJobApi.Web.Entry" -c DefaultDbContext
@@ -12,7 +12,7 @@
 -------------------------------日志数据库---------------------------------------
 
 新增迁移文件
-dotnet ef migrations add UpdateResourceLog -s "../FlexJobApi.Web.Entry" -c LogDbContext
+dotnet ef migrations add UpdateCommon -s "../FlexJobApi.Web.Entry" -c LogDbContext
 
 删除迁移文件
 dotnet ef migrations remove -s "../FlexJobApi.Web.Entry" -c LogDbContext
diff --git a/FlexJobApi.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs
similarity index 97%
rename from FlexJobApi.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs
index e334e79..ab817a7 100644
--- a/FlexJobApi.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryCategoryCommandHandler.cs
@@ -9,7 +9,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 瀛楀吀绫诲埆鍛戒护澶勭悊鍣�
diff --git a/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
similarity index 99%
rename from FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
index 3228f39..c96b463 100644
--- a/FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
@@ -14,7 +14,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 鏁版嵁瀛楀吀鍛戒护澶勭悊鍣�
diff --git a/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
similarity index 97%
rename from FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
index 9f28220..1309300 100644
--- a/FlexJobApi.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryCategoriesQueryHandler.cs
@@ -9,7 +9,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 鏁版嵁瀛楀吀绫诲埆鏌ヨ澶勭悊鍣�
diff --git a/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
similarity index 97%
rename from FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
index da5c5a8..1a6e385 100644
--- a/FlexJobApi.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Dictionaries/Queries/DictionaryDatasQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 鏁版嵁瀛楀吀鏌ヨ澶勭悊鍣�
@@ -81,7 +81,7 @@
                     q = q
                         .OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime)
                         .Where(it => !it.IsDisabled);
-                    if (!request.All)
+                    if (request.All != true)
                     {
                         q = q.Where(it => it.ParentId == request.ParentId);
                     }
diff --git a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.csproj b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.csproj
new file mode 100644
index 0000000..92ae12a
--- /dev/null
+++ b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.csproj
@@ -0,0 +1,18 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net9.0</TargetFramework>
+	  <DocumentationFile>FlexJobApi.FlexJobServer.Application.xml</DocumentationFile>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+	<ItemGroup>
+		<None Remove="FlexJobApi.FlexJobServer.Application.xml" />
+	</ItemGroup>
+
+	<ItemGroup>
+		<ProjectReference Include="..\FlexJobApi.Core\FlexJobApi.Core.csproj" />
+	</ItemGroup>
+
+</Project>
diff --git a/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml
new file mode 100644
index 0000000..914b77f
--- /dev/null
+++ b/FlexJobApi.FlexJobServer.Application/FlexJobApi.FlexJobServer.Application.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>FlexJobApi.FlexJobServer.Application</name>
+    </assembly>
+    <members>
+        <member name="T:FlexJobApi.FlexJobServer.Application.DictionaryCategoryCommandHandler">
+            <summary>
+            瀛楀吀绫诲埆鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoryCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
+            <summary>
+            瀛楀吀绫诲埆鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoryCommandHandler.Handle(FlexJobApi.Core.DeleteDictionaryCategoryCommand,System.Threading.CancellationToken)">
+            <summary>
+            鍒犻櫎鏁版嵁瀛楀吀绫诲埆
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoryCommandHandler.Handle(FlexJobApi.Core.SaveDictionaryCategoryCommand,System.Threading.CancellationToken)">
+            <summary>
+            淇濆瓨鏁版嵁瀛楀吀绫诲埆
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler">
+            <summary>
+            鏁版嵁瀛楀吀鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory})">
+            <summary>
+            鏁版嵁瀛楀吀鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SaveDictionaryDataCommand,System.Threading.CancellationToken)">
+            <summary>
+            淇濆瓨鏁版嵁瀛楀吀
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SetDictionaryDataIsDisabledCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆鏁版嵁瀛楀吀鏄惁绂佺敤
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler.Handle(FlexJobApi.Core.SyncHumanResourcesAreaDictionaryDataCommand,System.Threading.CancellationToken)">
+            <summary>
+            鍚屾浜哄姏璧勬簮鍦板尯瀛楀吀鏁版嵁
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDataCommandHandler.LoopSyncHumanResourcesAreaDictionaryData(System.Guid,System.Collections.Generic.List{FlexJobApi.Core.DictionaryData},System.Collections.Generic.List{FlexJobApi.Core.BaseArea},System.Collections.Generic.List{FlexJobApi.Core.BaseArea},System.Int32)">
+            <summary>
+            閫掑綊鍚屾浜哄姏璧勬簮鍦板尯瀛楀吀鏁版嵁
+            </summary>
+            <param name="categoryId"></param>
+            <param name="entities"></param>
+            <param name="all"></param>
+            <param name="areas"></param>
+            <param name="deep"></param>
+        </member>
+        <member name="T:FlexJobApi.FlexJobServer.Application.DictionaryCategoriesQueryHandler">
+            <summary>
+            鏁版嵁瀛楀吀绫诲埆鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoriesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryCategory})">
+            <summary>
+            鏁版嵁瀛楀吀绫诲埆鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoriesQueryHandler.Handle(FlexJobApi.Core.GetDictionaryCategoriesQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ鏁版嵁瀛楀吀绫诲埆鍒嗛〉鍒楄〃鏁版嵁
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryCategoriesQueryHandler.Handle(FlexJobApi.Core.GetDictionaryCategorySelectQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ鏁版嵁瀛楀吀绫诲埆閫夋嫨鍣ㄦ暟鎹�
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.FlexJobServer.Application.DictionaryDatasQueryHandler">
+            <summary>
+            鏁版嵁瀛楀吀鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDatasQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
+            <summary>
+            鏁版嵁瀛楀吀鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDatasQueryHandler.Handle(FlexJobApi.Core.GetDictionaryDatasQuery,System.Threading.CancellationToken)">
+            <summary>
+            鑾峰彇鏁版嵁瀛楀吀鍒嗛〉鍒楄〃鏁版嵁
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.DictionaryDatasQueryHandler.Handle(FlexJobApi.Core.GetDictionaryDataSelectQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ鏁版嵁瀛楀吀閫夋嫨鍣�
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler">
+            <summary>
+            浠诲姟鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo})">
+            <summary>
+            浠诲姟鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SaveTaskInfoCommand,System.Threading.CancellationToken)">
+            <summary>
+            淇濆瓨浠诲姟
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+            <exception cref="T:System.NotImplementedException"></exception>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoReleaseStatusCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆浠诲姟鍙戝竷鐘舵��
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoRecommendStatusCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆浠诲姟鏄惁鎺ㄨ崘
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler">
+            <summary>
+            浠诲姟鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.TaskInfo})">
+            <summary>
+            浠诲姟鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetTaskInfoQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浠诲姟璇︽儏
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.FlexJobServer.Application.TaskInfoQueryHandler.Handle(FlexJobApi.Core.GetTaskInfosQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浠诲姟鍒嗛〉鍒楄〃
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+    </members>
+</doc>
diff --git a/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
similarity index 90%
rename from FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
index 63e63bf..fae1531 100644
--- a/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs
@@ -1,6 +1,7 @@
 锘縰sing FlexJobApi.Core;
 using Furion.DatabaseAccessor;
 using Furion.DistributedIDGenerator;
+using Furion.FriendlyException;
 using Mapster;
 using MediatR;
 using Microsoft.EntityFrameworkCore;
@@ -10,7 +11,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 浠诲姟鍛戒护澶勭悊鍣�
@@ -35,6 +36,7 @@
         public async Task<Guid> Handle(SaveTaskInfoCommand request, CancellationToken cancellationToken)
         {
             var logier = JwtUtils.GetCurrentLogier();
+            if (logier.EnterpriseId == null) throw Oops.Oh(EnumErrorCodeType.s400, "褰撳墠鐧诲綍鐢ㄦ埛蹇呴』涓轰紒涓氱敤鎴锋墠鍙互鍒涘缓浠诲姟");
             return await request.SaveData<TaskInfo, SaveTaskInfoCommand>(
                  q =>
                  {
@@ -49,6 +51,9 @@
                      if (request.Id == null)
                      {
                          entity.EnterpriseId = logier.EnterpriseId.Value;
+                         entity.Status = EnumTaskStatus.Wait;
+                         entity.ReleaseStatus = EnumTaskReleaseStatus.InProcess;
+                         entity.RecommendStatus = EnumTaskRecommendStatus.No;
                          BuildCode(entity).Wait();
                      }
                      entity.Benefits = request.Benefits
diff --git a/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
similarity index 93%
rename from FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs
rename to FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
index fdc31e5..50cd830 100644
--- a/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.Application
+namespace FlexJobApi.FlexJobServer.Application
 {
     /// <summary>
     /// 浠诲姟鏌ヨ澶勭悊鍣�
@@ -36,10 +36,6 @@
                 .Where(it => it.Id == request.Id)
                 .ProjectToType<GetTaskInfoQueryResult>()
                 .FirstOrDefaultAsync(cancellationToken);
-            model.EnterpriseName = await rep.Change<Enterprise>().AsQueryable().AsNoTracking()
-                .Where(it => it.EnterpriseAuthId == model.EnterpriseId)
-                .Select(it => it.EnterpriseAuth.EnterpriseName)
-                .FirstOrDefaultAsync();
             model.TaskCount = await rep.AsQueryable().AsNoTracking()
                 .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.Stopped)
                 .CountAsync();
diff --git a/FlexJobApi.User.Application/FlexJobApi.User.Application.csproj b/FlexJobApi.User.Application/FlexJobApi.User.Application.csproj
deleted file mode 100644
index 9365974..0000000
--- a/FlexJobApi.User.Application/FlexJobApi.User.Application.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-锘�<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>net9.0</TargetFramework>
-    <ImplicitUsings>enable</ImplicitUsings>
-    <Nullable>enable</Nullable>
-    <GenerateDocumentationFile>True</GenerateDocumentationFile>
-    <DocumentationFile>FlexJobApi.User.Application.xml</DocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\FlexJobApi.Core\FlexJobApi.Core.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
deleted file mode 100644
index c8593b7..0000000
--- a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
+++ /dev/null
@@ -1,431 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>FlexJobApi.User.Application</name>
-    </assembly>
-    <members>
-        <member name="T:FlexJobApi.User.Application.PasswordLoginCommandHandler">
-            <summary>
-            瀵嗙爜鐧诲綍
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.PasswordLoginCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserAuth},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})">
-            <summary>
-            瀵嗙爜鐧诲綍
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.PasswordLoginCommandHandler.Handle(FlexJobApi.Core.PasswordLoginCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetAliyunOSSAcsQueryHandler">
-            <summary>
-            鑾峰彇闃块噷浜慜SS鎺堟潈淇℃伅
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetAliyunOSSAcsQueryHandler.Handle(FlexJobApi.Core.GetAliyunOSSAcsQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetCurrentLogierMenuQueryHandler">
-            <summary>
-            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟璇︽儏
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetCurrentLogierMenuQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.RoleMenu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟璇︽儏
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetCurrentLogierMenuQueryHandler.Handle(FlexJobApi.Core.GetCurrentLogierMenuQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetCurrentLogierMenusQueryHandler">
-            <summary>
-            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetCurrentLogierMenusQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.RoleMenu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetCurrentLogierMenusQueryHandler.Handle(FlexJobApi.Core.GetCurrentLogierMenusQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetCurrentLogierMenusQueryHandler.LoopChildrens(System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{System.Guid})">
-            <summary>
-            閫掑綊璧嬪�间笅绾ц彍鍗�
-            </summary>
-            <param name="models"></param>
-            <param name="all"></param>
-            <param name="roleMenuIds"></param>
-        </member>
-        <member name="T:FlexJobApi.User.Application.EnterpriseCommandHandler">
-            <summary>
-            浼佷笟鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})">
-            <summary>
-            浼佷笟鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SaveEnterpriseCommand,System.Threading.CancellationToken)">
-            <summary>
-            淇濆瓨浼佷笟
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆浼佷笟鐢靛瓙绛鹃厤缃�
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SetEnterpriseSmsSettingCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆浼佷笟鐭俊閰嶇疆
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.User.Application.EnterprisesQueryHandler">
-            <summary>
-            浼佷笟鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseAuth},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
-            <summary>
-            浼佷笟鏌ヨ澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterprisesQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浼佷笟璇︽儏
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseElectronSignSettingQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浼佷笟鐢靛瓙绛鹃厤缃�
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseSmsSettingQuery,System.Threading.CancellationToken)">
-            <summary>
-            鏌ヨ浼佷笟鐭俊閰嶇疆
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="F:FlexJobApi.User.Application.EnumUserErrorCodeType.u1000">
-            <summary>
-            璐﹀彿鎴栧瘑鐮佷笉瀛樺湪
-            </summary>
-        </member>
-        <member name="T:FlexJobApi.User.Application.DeleteMenuCommandHandler">
-            <summary>
-            鍒犻櫎鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.DeleteMenuCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            鍒犻櫎鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.DeleteMenuCommandHandler.Handle(FlexJobApi.Core.DeleteMenuCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SaveMenuButtonCommandHandler">
-            <summary>
-            淇濆瓨鑿滃崟鎸夐挳
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuButtonCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            淇濆瓨鑿滃崟鎸夐挳
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuButtonCommandHandler.Handle(FlexJobApi.Core.SaveMenuButtonCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SaveMenuCommandHandler">
-            <summary>
-            淇濆瓨鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            淇濆瓨鑿滃崟
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuCommandHandler.Handle(FlexJobApi.Core.SaveMenuCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuCommandHandler.SaveChildrens(FlexJobApi.Core.Menu,FlexJobApi.Core.SaveMenuCommand)">
-            <summary>
-            淇濆瓨涓嬬骇
-            </summary>
-            <param name="entity"></param>
-            <param name="request"></param>
-            <returns></returns>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuCommandHandler.CheckRepeatChildrens(FlexJobApi.Core.Menu)">
-            <summary>
-            鏍¢獙閲嶅瀛愰泦
-            </summary>
-            <param name="entity"></param>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuCommandHandler.GetRequestChildrenIds(FlexJobApi.Core.SaveMenuCommand)">
-            <summary>
-            鑾峰彇璇锋眰瀛愰泦Id
-            </summary>
-            <param name="request"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SaveMenuFieldCommandHandler">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuFieldCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveMenuFieldCommandHandler.Handle(FlexJobApi.Core.SaveMenuFieldCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SetMenuSwitchCommandHandler">
-            <summary>
-            璁剧疆鑿滃崟鍒囨崲淇℃伅
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetMenuSwitchCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            璁剧疆鑿滃崟鍒囨崲淇℃伅
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetMenuSwitchCommandHandler.Handle(FlexJobApi.Core.SetMenuSwitchCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.Menus.Queries.GetMenuQueryHandler">
-            <summary>
-            鏌ヨ鑿滃崟璇︽儏
-            </summary>
-            <param name="rep"></param>
-        </member>
-        <member name="M:FlexJobApi.User.Application.Menus.Queries.GetMenuQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            鏌ヨ鑿滃崟璇︽儏
-            </summary>
-            <param name="rep"></param>
-        </member>
-        <member name="M:FlexJobApi.User.Application.Menus.Queries.GetMenuQueryHandler.Handle(FlexJobApi.Core.GetMenuQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetMenusQueryHandler">
-            <summary>
-            鏌ヨ鑿滃崟鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetMenusQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
-            <summary>
-            鏌ヨ鑿滃崟鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetMenusQueryHandler.Handle(FlexJobApi.Core.GetMenusQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetMenusQueryHandler.LoopChildrens(System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{System.Guid})">
-            <summary>
-            閫掑綊璧嬪�间笅绾ц彍鍗�
-            </summary>
-            <param name="models"></param>
-            <param name="all"></param>
-            <param name="roleMenuIds"></param>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetResourceFieldsQueryHandler">
-            <summary>
-            鑾峰彇璧勬簮瀛楁
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetResourceFieldsQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Resource})">
-            <summary>
-            鑾峰彇璧勬簮瀛楁
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetResourceFieldsQueryHandler.Handle(FlexJobApi.Core.GetResourceFieldsQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetResourcesQueryHandler">
-            <summary>
-            鑾峰彇璧勬簮鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetResourcesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Resource})">
-            <summary>
-            鑾峰彇璧勬簮鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetResourcesQueryHandler.Handle(FlexJobApi.Core.GetResourcesQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.DeleteRoleCommandHandler">
-            <summary>
-            鍒犻櫎瑙掕壊
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.DeleteRoleCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
-            <summary>
-            鍒犻櫎瑙掕壊
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.DeleteRoleCommandHandler.Handle(FlexJobApi.Core.DeleteRoleCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SaveRoleCommandHandler">
-            <summary>
-            淇濆瓨瑙掕壊
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveRoleCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
-            <summary>
-            淇濆瓨瑙掕壊
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SaveRoleCommandHandler.Handle(FlexJobApi.Core.SaveRoleCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SetRoleIsDisabledCommandHandler">
-            <summary>
-            璁剧疆瑙掕壊鏄惁绂佺敤
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleIsDisabledCommandHandler.#ctor">
-            <summary>
-            璁剧疆瑙掕壊鏄惁绂佺敤
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleIsDisabledCommandHandler.Handle(FlexJobApi.Core.SetRoleIsDisabledCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler">
-            <summary>
-            璁剧疆瑙掕壊鐢ㄦ埛
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            璁剧疆瑙掕壊鐢ㄦ埛
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler.Handle(FlexJobApi.Core.SetRoleUserInfosCommand,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetRoleQueryHandler">
-            <summary>
-            鑾峰彇瑙掕壊璇︽儏
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
-            <summary>
-            鑾峰彇瑙掕壊璇︽儏
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleQueryHandler.Handle(FlexJobApi.Core.GetRoleQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetRolesQueryHandler">
-            <summary>
-            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
-            </summary>
-            <param name="repRole"></param>
-            <param name="repUserInfoRole"></param>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
-            </summary>
-            <param name="repRole"></param>
-            <param name="repUserInfoRole"></param>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRolesQueryHandler.Handle(FlexJobApi.Core.GetRolesQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler">
-            <summary>
-            鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler.Handle(FlexJobApi.Core.GetRoleUserInfosQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.UserInfos.Commands.UserInfoCommandHandler">
-            <summary>
-            鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.UserInfos.Commands.UserInfoCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})">
-            <summary>
-            鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.UserInfos.Commands.UserInfoCommandHandler.Handle(FlexJobApi.Core.SetUserInfoStatusCommand,System.Threading.CancellationToken)">
-            <summary>
-            璁剧疆鐢ㄦ埛淇℃伅鐘舵��
-            </summary>
-            <param name="request"></param>
-            <param name="cancellationToken"></param>
-            <returns></returns>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetOperationUserInfosQueryHandler">
-            <summary>
-            鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetOperationUserInfosQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetOperationUserInfosQueryHandler.Handle(FlexJobApi.Core.GetOperationUserInfosQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-        <member name="T:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler">
-            <summary>
-            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
-            <summary>
-            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
-            </summary>
-        </member>
-        <member name="M:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler.Handle(FlexJobApi.Core.GetUserInfoRolesQuery,System.Threading.CancellationToken)">
-            <inheritdoc/>
-        </member>
-    </members>
-</doc>
diff --git a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs b/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
deleted file mode 100644
index a776dae..0000000
--- a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-锘縰sing FlexJobApi.Core;
-using Furion.DatabaseAccessor;
-using MediatR;
-using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FlexJobApi.User.Application
-{
-    /// <summary>
-    /// 鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
-    /// </summary>
-    public class GetOperationUserInfosQueryHandler(
-            IRepository<UserInfo> repUser,
-            IRepository<UserInfoRole> repUserInfoRole
-        ) : IRequestHandler<GetOperationUserInfosQuery, PagedListQueryResult<GetOperationUserInfosQueryResultItem>>
-    {
-        private readonly IRepository<UserInfo> repUser = repUser;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
-
-        /// <inheritdoc/>
-        public async Task<PagedListQueryResult<GetOperationUserInfosQueryResultItem>> Handle(GetOperationUserInfosQuery request, CancellationToken cancellationToken)
-        {
-            var result = await request.PageModel.GetPagedListAsync<UserInfo, GetOperationUserInfosQueryResultItem>(
-                q =>
-                {
-                    q = q.OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime)
-                        .Where(it => it.Type == EnumUserType.Operation);
-                    if (request.Keywords.IsNotNull())
-                    {
-                        q = q.Where(it =>
-                            it.UserAuth.Name.Contains(request.Keywords)
-                            || it.UserAuth.UserName.Contains(request.Keywords)
-                            || it.UserAuth.PhoneNumber.Contains(request.Keywords)
-                            || it.Remark.Contains(request.Keywords));
-                    }
-                    return q;
-                },
-                it => new GetOperationUserInfosQueryResultItem
-                {
-                    Id = it.Id,
-                    Name = it.UserAuth.Name,
-                    UserName = it.UserAuth.UserName,
-                    PhoneNumber = it.UserAuth.PhoneNumber,
-                    Remark = it.Remark
-                }, cancellationToken);
-            if (result.Data.Any())
-            {
-                var ids = result.Data.DistinctSelect(it => it.Id);
-                var userRoles = await repUserInfoRole.AsQueryable().AsNoTracking()
-                    .Include(it => it.Role)
-                    .Where(it => ids.Contains(it.UserInfoId))
-                    .Select(it => new GetOperationUserInfosQueryResultItemRole
-                    {
-                        UserInfoId = it.UserInfoId,
-                        Id = it.RoleId,
-                        Name = it.Role.Name
-                    })
-                    .ToListAsync(cancellationToken);
-                foreach (var item in result.Data)
-                {
-                    item.Roles = userRoles.Where(it => it.UserInfoId == item.Id).ToList();
-                }
-            }
-            return result;
-        }
-    }
-}
diff --git a/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.csproj b/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.csproj
deleted file mode 100644
index 571f593..0000000
--- a/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.csproj
+++ /dev/null
@@ -1,34 +0,0 @@
-锘�<Project Sdk="Microsoft.NET.Sdk.Web">
-
-
-	<PropertyGroup>
-		<TargetFramework>net9.0</TargetFramework>
-		<ImplicitUsings>enable</ImplicitUsings>
-		<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>
-		<PublishReadyToRunComposite>true</PublishReadyToRunComposite>
-		<UserSecretsId>a5f3e79a-66ce-4974-8b9c-db9658ef103e</UserSecretsId>
-		<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
-		<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
-	</PropertyGroup>
-
-
-	<ItemGroup>
-		<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0">
-			<PrivateAssets>all</PrivateAssets>
-			<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-		</PackageReference>
-		<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.22.1" />
-	</ItemGroup>
-
-
-	<ItemGroup>
-	  <ProjectReference Include="..\FlexJobApi.Database.Migrations\FlexJobApi.Database.Migrations.csproj" />
-	  <ProjectReference Include="..\FlexJobApi.User.Application\FlexJobApi.User.Application.csproj" />
-	</ItemGroup>
-	<ProjectExtensions>
-		<VisualStudio>
-			<UserProperties properties_4launchsettings_1json__JsonSchema="" />
-		</VisualStudio>
-	</ProjectExtensions>
-
-</Project>
diff --git a/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.http b/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.http
deleted file mode 100644
index 7f54db5..0000000
--- a/FlexJobApi.User.Web.Entry/FlexJobApi.User.Web.Entry.http
+++ /dev/null
@@ -1,6 +0,0 @@
-@FlexJobApi.User.Web.Entry_HostAddress = http://localhost:5200
-
-GET {{FlexJobApi.User.Web.Entry_HostAddress}}/weatherforecast/
-Accept: application/json
-
-###
diff --git a/FlexJobApi.User.Web.Entry/Program.cs b/FlexJobApi.User.Web.Entry/Program.cs
deleted file mode 100644
index 611ed5a..0000000
--- a/FlexJobApi.User.Web.Entry/Program.cs
+++ /dev/null
@@ -1 +0,0 @@
-Serve.Run(RunOptions.Default.WithArgs(args));
\ No newline at end of file
diff --git a/FlexJobApi.User.Web.Entry/Properties/launchSettings.json b/FlexJobApi.User.Web.Entry/Properties/launchSettings.json
deleted file mode 100644
index 91cd850..0000000
--- a/FlexJobApi.User.Web.Entry/Properties/launchSettings.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "FlexJobApi.User.Web.Entry": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      },
-      "dotnetRunMessages": true,
-      "applicationUrl": "https://localhost:5011;http://localhost:5010"
-    }
-  },
-  "$schema": "http://json.schemastore.org/launchsettings.json",
-  "iisSettings": {
-    "windowsAuthentication": false,
-    "anonymousAuthentication": true,
-    "iisExpress": {
-      "applicationUrl": "http://localhost:53781",
-      "sslPort": 44341
-    }
-  }
-}
\ No newline at end of file
diff --git a/FlexJobApi.User.Web.Entry/appsettings.Development.json b/FlexJobApi.User.Web.Entry/appsettings.Development.json
deleted file mode 100644
index 0c208ae..0000000
--- a/FlexJobApi.User.Web.Entry/appsettings.Development.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Information",
-      "Microsoft.AspNetCore": "Warning"
-    }
-  }
-}
diff --git a/FlexJobApi.User.Web.Entry/appsettings.json b/FlexJobApi.User.Web.Entry/appsettings.json
deleted file mode 100644
index 2f72cc8..0000000
--- a/FlexJobApi.User.Web.Entry/appsettings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
-  "ConnectionStrings": {
-    "FlexJobApi": "Server=120.26.58.240; Database=Dev_FlexJobApi; User=bole;Password=Bole1472589;TrustServerCertificate=True;",
-    "FlexJobApiLog": "Server=120.26.58.240; Database=Dev_FlexJobApiLog; User=bole;Password=Bole1472589;TrustServerCertificate=True;"
-  }
-}
\ No newline at end of file
diff --git a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs b/FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
similarity index 63%
rename from FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
index 66a3942..30c7ff4 100644
--- a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
@@ -11,52 +11,53 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 瀵嗙爜鐧诲綍
     /// </summary>
     public class PasswordLoginCommandHandler(
         IRepository<UserAuth> userAuthRep,
-        IRepository<UserInfo> userInfoRep) 
+        IRepository<User> userInfoRep) 
         : IRequestHandler<PasswordLoginCommand, PasswordLoginCommandCallback>
     {
         private readonly IRepository<UserAuth> userAuthRep = userAuthRep;
-        private readonly IRepository<UserInfo> userInfoRep = userInfoRep;
+        private readonly IRepository<User> userInfoRep = userInfoRep;
 
         /// <inheritdoc/>
         public async Task<PasswordLoginCommandCallback> Handle(PasswordLoginCommand request, CancellationToken cancellationToken)
         {
-            var userInfo = await userInfoRep.AsQueryable().AsNoTracking()
-                .Include(it => it.UserAuth)
-                .Where(it => it.UserAuth.UserName == request.UserName && it.Type == request.Type)
+            var user = await userInfoRep.AsQueryable().AsNoTracking()
+                .Where(it => it.UserName == request.UserName && it.Type == request.Type)
                 .Select(it => new
                 {
                     it.Id,
                     it.Avatar,
                     it.Level,
                     it.EnterpriseId,
-                    it.UserAuth.Name,
-                    it.UserAuth.UserName,
-                    it.UserAuth.PhoneNumber,
-                    it.UserAuth.Password
+                    it.Name,
+                    it.UserName,
+                    it.PhoneNumber,
+                    it.Password,
+                    it.Status
                 })
                 .FirstOrDefaultAsync(cancellationToken);
-            if (userInfo == null 
-                || !PBKDF2Encryption.Compare(request.Password, userInfo.Password))
+            if (user == null 
+                || !PBKDF2Encryption.Compare(request.Password, user.Password))
                 throw Oops.Oh(EnumUserErrorCodeType.u1000);
-
+            if (user.Status == EnumUserStatus.Disabled) 
+                throw Oops.Oh(EnumUserErrorCodeType.u1001);
             var logier = new CurrentLogier
             {
-                UserInfoId = userInfo.Id,
-                Avatar = userInfo.Avatar,
-                Name = userInfo.Name,
-                UserName = userInfo.UserName,
-                PhoneNumber = userInfo.PhoneNumber,
-                Level = userInfo.Level,
+                Id = user.Id,
+                Avatar = user.Avatar,
+                Name = user.Name,
+                UserName = user.UserName,
+                PhoneNumber = user.PhoneNumber,
+                Level = user.Level,
                 Type = request.Type,
                 ClientType = request.ClientType,
-                EnterpriseId = userInfo.EnterpriseId,
+                EnterpriseId = user.EnterpriseId,
             };
             JwtUtils.GenerateToken(logier);
 
diff --git a/FlexJobApi.User.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs b/FlexJobApi.UserServer.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs
similarity index 94%
rename from FlexJobApi.User.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs
index d061916..9c8122d 100644
--- a/FlexJobApi.User.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Auths/Queries/GetAliyunOSSAcsQueryHandler.cs
@@ -11,7 +11,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇闃块噷浜慜SS鎺堟潈淇℃伅
diff --git a/FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs b/FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
similarity index 91%
rename from FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
index 6229aa5..1e9f226 100644
--- a/FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟璇︽儏
@@ -18,12 +18,12 @@
     public class GetCurrentLogierMenuQueryHandler(
             IRepository<Menu> repMenu,
             IRepository<RoleMenu> repRoleMenu,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<UserRole> repUserInfoRole
         ) : IRequestHandler<GetCurrentLogierMenuQuery, GetMenuQueryResult>
     {
         private readonly IRepository<Menu> repMenu = repMenu;
         private readonly IRepository<RoleMenu> repRoleMenu = repRoleMenu;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<UserRole> repUserInfoRole = repUserInfoRole;
 
         /// <inheritdoc/>
         public async Task<GetMenuQueryResult> Handle(GetCurrentLogierMenuQuery request, CancellationToken cancellationToken)
@@ -41,7 +41,7 @@
             if (logier.Level != 999)
             {
                 var menuIds = await repRoleMenu.AsQueryable().AsNoTracking()
-                    .Where(it => it.Role.UserInfoRoles.Any(ur => ur.UserInfoId == logier.UserInfoId))
+                    .Where(it => it.Role.UserRoles.Any(ur => ur.UserId == logier.Id))
                     .Select(it => it.MenuId)
                     .ToListAsync(cancellationToken);
                 q = q.Where(it => menuIds.Contains(it.Id));
diff --git a/FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs b/FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
similarity index 90%
rename from FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
index 0243da5..0f402a6 100644
--- a/FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
@@ -11,7 +11,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟
@@ -19,13 +19,13 @@
     public class GetCurrentLogierMenusQueryHandler(
             IRepository<Menu> repMenu,
             IRepository<RoleMenu> repRoleMenu,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<UserRole> repUserInfoRole
         )
         : IRequestHandler<GetCurrentLogierMenusQuery, List<GetMenusQueryResultItem>>
     {
         private readonly IRepository<Menu> repMenu = repMenu;
         private readonly IRepository<RoleMenu> repRoleMenu = repRoleMenu;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<UserRole> repUserInfoRole = repUserInfoRole;
 
         /// <inheritdoc/>
         public async Task<List<GetMenusQueryResultItem>> Handle(GetCurrentLogierMenusQuery request, CancellationToken cancellationToken)
@@ -38,7 +38,7 @@
             if (logier.Level != 999)
             {
                 var menuIds = await repRoleMenu.AsQueryable().AsNoTracking()
-                    .Where(it => it.Role.UserInfoRoles.Any(ur => ur.UserInfoId == logier.UserInfoId))
+                    .Where(it => it.Role.UserRoles.Any(ur => ur.UserId == logier.Id))
                     .Select(it => it.MenuId)
                     .ToListAsync(cancellationToken);
                 q = q.Where(it => menuIds.Contains(it.Id));
diff --git a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
similarity index 66%
rename from FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
index a151896..ca8469b 100644
--- a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
@@ -11,14 +11,14 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 浼佷笟鍛戒护澶勭悊鍣�
     /// </summary>
     public class EnterpriseCommandHandler(
             IRepository<Enterprise> rep,
-            IRepository<UserInfo> repUserInfo
+            IRepository<User> repUser
         ) :
         IRequestHandler<SaveEnterpriseCommand, Guid>,
         IRequestHandler<SetEnterpriseElectronSignSettingCommand, Guid>,
@@ -26,7 +26,7 @@
 
     {
         private readonly IRepository<Enterprise> rep = rep;
-        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
+        private readonly IRepository<User> repUser = repUser;
 
         /// <summary>
         /// 淇濆瓨浼佷笟
@@ -37,12 +37,10 @@
         public async Task<Guid> Handle(SaveEnterpriseCommand request, CancellationToken cancellationToken)
         {
             var entity = await rep.AsQueryable()
-                .Include(it => it.EnterpriseAuth)
-                .FirstOrDefaultAsync(it => it.EnterpriseAuth.SocietyCreditCode == request.EnterpriseAuth.SocietyCreditCode);
+                .FirstOrDefaultAsync(it => it.SocietyCreditCode == request.SocietyCreditCode);
             if (entity == null)
             {
                 entity = new Enterprise();
-                entity.EnterpriseAuth = new EnterpriseAuth();
                 request.Adapt(entity);
                 await rep.InsertAsync(entity);
             }
@@ -52,39 +50,36 @@
                 await rep.UpdateAsync(entity);
             }
 
-            var checkExist = await repUserInfo.AsQueryable()
-                .AnyAsync(it =>
-                    it.Type == EnumUserType.Enterprise
-                    && it.EnterpriseId != entity.Id
-                    && it.UserAuth.UserName == request.UserName);
-            if (checkExist) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�");
-
-            var userInfo = await repUserInfo.AsQueryable()
-                .Include(it => it.UserAuth)
+            var user = await repUser.AsQueryable()
                 .FirstOrDefaultAsync(it =>
                     it.Type == EnumUserType.Enterprise
-                    && it.EnterpriseId == entity.Id);
-            if (userInfo == null)
+                    && it.UserName == request.UserName);
+            if (user == null)
             {
-                userInfo = new UserInfo
+                if (request.Password.IsNull()) throw Oops.Oh(EnumErrorCodeType.s400, "璇峰~鍐欏瘑鐮�");
+                user = new User
                 {
                     EnterpriseId = entity.Id,
                     Type = EnumUserType.Enterprise,
-                    Status = EnumUserInfoStatus.Normal,
-                    UserAuth = new UserAuth
-                    {
-                        Name = request.Contacts,
-                        UserName = request.UserName,
-                        PhoneNumber = request.ContactPhoneNumber,
-                        Password = PBKDF2Encryption.Encrypt(MD5Encryption.Encrypt(request.Password))
-                    }
+                    Name = request.Contacts,
+                    PhoneNumber = request.ContactPhoneNumber,
+                    UserName = request.UserName,
+                    Password = PBKDF2Encryption.Encrypt(request.Password),
+                    Level = 100,
+                    Status = EnumUserStatus.Normal,
                 };
-                await repUserInfo.InsertAsync(userInfo);
+                await repUser.InsertAsync(user);
             }
             else
             {
-                userInfo.UserAuth.PhoneNumber = request.ContactPhoneNumber;
-                await repUserInfo.UpdateAsync(userInfo);
+                if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�");
+                user.Name = request.Contacts;
+                user.PhoneNumber = request.ContactPhoneNumber;
+                if (request.Password.IsNotNull())
+                {
+                    user.Password = PBKDF2Encryption.Encrypt(request.Password);
+                }
+                await repUser.UpdateAsync(user);
             }
 
             return entity.Id;
diff --git a/FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
similarity index 90%
rename from FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
index fdece96..b8a24bd 100644
--- a/FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 浼佷笟鏌ヨ澶勭悊鍣�
@@ -49,7 +49,6 @@
                 q = q.Where(it => (it.IsCheckedBankCard && it.RealAccess.HasValue && it.SmsAccess.HasValue) == request.IsConfigured);
             }
             var s = (from e in q
-                     join a in repEnterpriseAuth.AsQueryable().AsNoTracking() on e.EnterpriseAuthId equals a.Id
                      join p in repDictionaryData.AsQueryable().AsNoTracking() on e.ProvinceCode equals p.Code into pg
                      from pgi in pg.DefaultIfEmpty()
                      join c in repDictionaryData.AsQueryable().AsNoTracking() on e.CityCode equals c.Code into cg
@@ -59,15 +58,15 @@
                      select new GetEnterprisesQueryResultItem
                      {
                          Id = e.Id,
-                         EnterpriseName = a.EnterpriseName,
-                         LegalPerson = a.LegalPerson,
-                         SocietyCreditCode = a.SocietyCreditCode,
+                         EnterpriseName = e.EnterpriseName,
+                         LegalPerson = e.LegalPerson,
+                         SocietyCreditCode = e.SocietyCreditCode,
                          Contacts = e.Contacts,
                          ContactPhoneNumber = e.ContactPhoneNumber,
                          ProvinceContent = pgi.Content,
                          CityContent = cgi.Content,
                          IndustryTypeContent = igi.Content,
-                         IsReal = a.IsReal,
+                         IsReal = e.IsReal,
                          IsConfigured = e.IsCheckedBankCard && e.RealAccess.HasValue && e.SmsAccess.HasValue
                      });
             return request.PageModel.GetPagedListAsync(s, cancellationToken: cancellationToken);
@@ -86,10 +85,9 @@
                 .ProjectToType<GetEnterpriseQueryResult>()
                 .FirstOrDefaultAsync(cancellationToken);
             if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�");
-            model.UserName = await rep.Change<UserInfo>().AsQueryable().AsNoTracking()
-                 .Include(it => it.UserAuth)
+            model.UserName = await rep.Change<User>().AsQueryable().AsNoTracking()
                  .Where(it => it.EnterpriseId == model.Id)
-                 .Select(it => it.UserAuth.UserName)
+                 .Select(it => it.UserName)
                  .FirstOrDefaultAsync(cancellationToken);
             return model;
         }
diff --git a/FlexJobApi.User.Application/EnumUserErrorCodeType.cs b/FlexJobApi.UserServer.Application/EnumUserErrorCodeType.cs
similarity index 67%
rename from FlexJobApi.User.Application/EnumUserErrorCodeType.cs
rename to FlexJobApi.UserServer.Application/EnumUserErrorCodeType.cs
index 639396a..3a48188 100644
--- a/FlexJobApi.User.Application/EnumUserErrorCodeType.cs
+++ b/FlexJobApi.UserServer.Application/EnumUserErrorCodeType.cs
@@ -5,7 +5,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     [ErrorCodeType]
     public enum EnumUserErrorCodeType
@@ -15,6 +15,11 @@
         /// </summary>
         [ErrorCodeItemMetadata("璐﹀彿鎴栧瘑鐮佷笉瀛樺湪")]
         u1000 = 1000,
-        
+        /// <summary>
+        /// 璐﹀彿宸茬鐢�
+        /// </summary>
+        [ErrorCodeItemMetadata("璐﹀彿宸茬鐢�")]
+        u1001 = 1001,
+
     }
 }
diff --git a/FlexJobApi.Application/FlexJobApi.Application.csproj b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.csproj
similarity index 64%
rename from FlexJobApi.Application/FlexJobApi.Application.csproj
rename to FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.csproj
index ee4ac83..4f446cf 100644
--- a/FlexJobApi.Application/FlexJobApi.Application.csproj
+++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.csproj
@@ -1,15 +1,14 @@
 锘�<Project Sdk="Microsoft.NET.Sdk">
 
-
 	<PropertyGroup>
 		<TargetFramework>net9.0</TargetFramework>
-		<NoWarn>1701;1702;1591</NoWarn>
-		<DocumentationFile>FlexJobApi.Application.xml</DocumentationFile>
+		<DocumentationFile>FlexJobApi.UserServer.Application.xml</DocumentationFile>
 		<ImplicitUsings>enable</ImplicitUsings>
+		<Nullable>enable</Nullable>
 	</PropertyGroup>
 
 	<ItemGroup>
-		<None Remove="FlexJobApi.Application.xml" />
+		<None Remove="FlexJobApi.UserServer.Application.xml" />
 	</ItemGroup>
 
 	<ItemGroup>
diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
new file mode 100644
index 0000000..6bf9d70
--- /dev/null
+++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -0,0 +1,436 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>FlexJobApi.UserServer.Application</name>
+    </assembly>
+    <members>
+        <member name="T:FlexJobApi.UserServer.Application.PasswordLoginCommandHandler">
+            <summary>
+            瀵嗙爜鐧诲綍
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.PasswordLoginCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserAuth},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User})">
+            <summary>
+            瀵嗙爜鐧诲綍
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.PasswordLoginCommandHandler.Handle(FlexJobApi.Core.PasswordLoginCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetAliyunOSSAcsQueryHandler">
+            <summary>
+            鑾峰彇闃块噷浜慜SS鎺堟潈淇℃伅
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetAliyunOSSAcsQueryHandler.Handle(FlexJobApi.Core.GetAliyunOSSAcsQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetCurrentLogierMenuQueryHandler">
+            <summary>
+            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟璇︽儏
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetCurrentLogierMenuQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.RoleMenu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟璇︽儏
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetCurrentLogierMenuQueryHandler.Handle(FlexJobApi.Core.GetCurrentLogierMenuQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetCurrentLogierMenusQueryHandler">
+            <summary>
+            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetCurrentLogierMenusQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.RoleMenu},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetCurrentLogierMenusQueryHandler.Handle(FlexJobApi.Core.GetCurrentLogierMenusQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetCurrentLogierMenusQueryHandler.LoopChildrens(System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{System.Guid})">
+            <summary>
+            閫掑綊璧嬪�间笅绾ц彍鍗�
+            </summary>
+            <param name="models"></param>
+            <param name="all"></param>
+            <param name="roleMenuIds"></param>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.EnterpriseCommandHandler">
+            <summary>
+            浼佷笟鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterpriseCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User})">
+            <summary>
+            浼佷笟鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SaveEnterpriseCommand,System.Threading.CancellationToken)">
+            <summary>
+            淇濆瓨浼佷笟
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆浼佷笟鐢靛瓙绛鹃厤缃�
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterpriseCommandHandler.Handle(FlexJobApi.Core.SetEnterpriseSmsSettingCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆浼佷笟鐭俊閰嶇疆
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.EnterprisesQueryHandler">
+            <summary>
+            浼佷笟鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterprisesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseAuth},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
+            <summary>
+            浼佷笟鏌ヨ澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterprisesQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浼佷笟璇︽儏
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseElectronSignSettingQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浼佷笟鐢靛瓙绛鹃厤缃�
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterprisesQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseSmsSettingQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ浼佷笟鐭俊閰嶇疆
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1000">
+            <summary>
+            璐﹀彿鎴栧瘑鐮佷笉瀛樺湪
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1001">
+            <summary>
+            璐﹀彿宸茬鐢�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.DeleteMenuCommandHandler">
+            <summary>
+            鍒犻櫎鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.DeleteMenuCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            鍒犻櫎鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.DeleteMenuCommandHandler.Handle(FlexJobApi.Core.DeleteMenuCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SaveMenuButtonCommandHandler">
+            <summary>
+            淇濆瓨鑿滃崟鎸夐挳
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuButtonCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            淇濆瓨鑿滃崟鎸夐挳
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuButtonCommandHandler.Handle(FlexJobApi.Core.SaveMenuButtonCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SaveMenuCommandHandler">
+            <summary>
+            淇濆瓨鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            淇濆瓨鑿滃崟
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuCommandHandler.Handle(FlexJobApi.Core.SaveMenuCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuCommandHandler.SaveChildrens(FlexJobApi.Core.Menu,FlexJobApi.Core.SaveMenuCommand)">
+            <summary>
+            淇濆瓨涓嬬骇
+            </summary>
+            <param name="entity"></param>
+            <param name="request"></param>
+            <returns></returns>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuCommandHandler.CheckRepeatChildrens(FlexJobApi.Core.Menu)">
+            <summary>
+            鏍¢獙閲嶅瀛愰泦
+            </summary>
+            <param name="entity"></param>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuCommandHandler.GetRequestChildrenIds(FlexJobApi.Core.SaveMenuCommand)">
+            <summary>
+            鑾峰彇璇锋眰瀛愰泦Id
+            </summary>
+            <param name="request"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SaveMenuFieldCommandHandler">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuFieldCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveMenuFieldCommandHandler.Handle(FlexJobApi.Core.SaveMenuFieldCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SetMenuSwitchCommandHandler">
+            <summary>
+            璁剧疆鑿滃崟鍒囨崲淇℃伅
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetMenuSwitchCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            璁剧疆鑿滃崟鍒囨崲淇℃伅
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetMenuSwitchCommandHandler.Handle(FlexJobApi.Core.SetMenuSwitchCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.Menus.Queries.GetMenuQueryHandler">
+            <summary>
+            鏌ヨ鑿滃崟璇︽儏
+            </summary>
+            <param name="rep"></param>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.Menus.Queries.GetMenuQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            鏌ヨ鑿滃崟璇︽儏
+            </summary>
+            <param name="rep"></param>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.Menus.Queries.GetMenuQueryHandler.Handle(FlexJobApi.Core.GetMenuQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetMenusQueryHandler">
+            <summary>
+            鏌ヨ鑿滃崟鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetMenusQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
+            <summary>
+            鏌ヨ鑿滃崟鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetMenusQueryHandler.Handle(FlexJobApi.Core.GetMenusQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetMenusQueryHandler.LoopChildrens(System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{FlexJobApi.Core.GetMenusQueryResultItem},System.Collections.Generic.List{System.Guid})">
+            <summary>
+            閫掑綊璧嬪�间笅绾ц彍鍗�
+            </summary>
+            <param name="models"></param>
+            <param name="all"></param>
+            <param name="roleMenuIds"></param>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetResourceFieldsQueryHandler">
+            <summary>
+            鑾峰彇璧勬簮瀛楁
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetResourceFieldsQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Resource})">
+            <summary>
+            鑾峰彇璧勬簮瀛楁
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetResourceFieldsQueryHandler.Handle(FlexJobApi.Core.GetResourceFieldsQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetResourcesQueryHandler">
+            <summary>
+            鑾峰彇璧勬簮鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetResourcesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Resource})">
+            <summary>
+            鑾峰彇璧勬簮鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetResourcesQueryHandler.Handle(FlexJobApi.Core.GetResourcesQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.DeleteRoleCommandHandler">
+            <summary>
+            鍒犻櫎瑙掕壊
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.DeleteRoleCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
+            <summary>
+            鍒犻櫎瑙掕壊
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.DeleteRoleCommandHandler.Handle(FlexJobApi.Core.DeleteRoleCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SaveRoleCommandHandler">
+            <summary>
+            淇濆瓨瑙掕壊
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveRoleCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
+            <summary>
+            淇濆瓨瑙掕壊
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SaveRoleCommandHandler.Handle(FlexJobApi.Core.SaveRoleCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SetRoleIsDisabledCommandHandler">
+            <summary>
+            璁剧疆瑙掕壊鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetRoleIsDisabledCommandHandler.#ctor">
+            <summary>
+            璁剧疆瑙掕壊鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetRoleIsDisabledCommandHandler.Handle(FlexJobApi.Core.SetRoleIsDisabledCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.SetRoleUserInfosCommandHandler">
+            <summary>
+            璁剧疆瑙掕壊鐢ㄦ埛
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetRoleUserInfosCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            璁剧疆瑙掕壊鐢ㄦ埛
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.SetRoleUserInfosCommandHandler.Handle(FlexJobApi.Core.SetRoleUserInfosCommand,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetRoleQueryHandler">
+            <summary>
+            鑾峰彇瑙掕壊璇︽儏
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRoleQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
+            <summary>
+            鑾峰彇瑙掕壊璇︽儏
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRoleQueryHandler.Handle(FlexJobApi.Core.GetRoleQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetRolesQueryHandler">
+            <summary>
+            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
+            </summary>
+            <param name="repRole"></param>
+            <param name="repUserInfoRole"></param>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
+            </summary>
+            <param name="repRole"></param>
+            <param name="repUserInfoRole"></param>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRolesQueryHandler.Handle(FlexJobApi.Core.GetRolesQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetRoleUserInfosQueryHandler">
+            <summary>
+            鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRoleUserInfosQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetRoleUserInfosQueryHandler.Handle(FlexJobApi.Core.GetRoleUserInfosQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.UserInfos.Commands.UserInfoCommandHandler">
+            <summary>
+            鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.UserInfos.Commands.UserInfoCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User})">
+            <summary>
+            鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.UserInfos.Commands.UserInfoCommandHandler.Handle(FlexJobApi.Core.SetUserInfoStatusCommand,System.Threading.CancellationToken)">
+            <summary>
+            璁剧疆鐢ㄦ埛淇℃伅鐘舵��
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetOperationUserInfosQueryHandler">
+            <summary>
+            鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetOperationUserInfosQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetOperationUserInfosQueryHandler.Handle(FlexJobApi.Core.GetOperationUserInfosQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetUserInfoRolesQueryHandler">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetUserInfoRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.User},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserRole})">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.GetUserInfoRolesQueryHandler.Handle(FlexJobApi.Core.GetUserInfoRolesQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+    </members>
+</doc>
diff --git a/FlexJobApi.User.Application/Menus/Commands/DeleteMenuCommandHandler.cs b/FlexJobApi.UserServer.Application/Menus/Commands/DeleteMenuCommandHandler.cs
similarity index 95%
rename from FlexJobApi.User.Application/Menus/Commands/DeleteMenuCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Commands/DeleteMenuCommandHandler.cs
index 91b5cb4..a0e5d14 100644
--- a/FlexJobApi.User.Application/Menus/Commands/DeleteMenuCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Commands/DeleteMenuCommandHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鍒犻櫎鑿滃崟
diff --git a/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
similarity index 97%
rename from FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
index 87db6f8..781df6b 100644
--- a/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 淇濆瓨鑿滃崟鎸夐挳
diff --git a/FlexJobApi.User.Application/Menus/Commands/SaveMenuCommandHandler.cs b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuCommandHandler.cs
similarity index 99%
rename from FlexJobApi.User.Application/Menus/Commands/SaveMenuCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuCommandHandler.cs
index b948e38..47f01c7 100644
--- a/FlexJobApi.User.Application/Menus/Commands/SaveMenuCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuCommandHandler.cs
@@ -16,7 +16,7 @@
 using System.Threading;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 淇濆瓨鑿滃崟
diff --git a/FlexJobApi.User.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
similarity index 97%
rename from FlexJobApi.User.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
index 122784d..8b495bc 100644
--- a/FlexJobApi.User.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 
diff --git a/FlexJobApi.User.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs b/FlexJobApi.UserServer.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs
similarity index 96%
rename from FlexJobApi.User.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs
index 2a758fe..d17b138 100644
--- a/FlexJobApi.User.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Commands/SetMenuSwitchCommandHandler.cs
@@ -8,7 +8,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 璁剧疆鑿滃崟鍒囨崲淇℃伅
diff --git a/FlexJobApi.User.Application/Menus/Queries/GetMenuQueryHandler.cs b/FlexJobApi.UserServer.Application/Menus/Queries/GetMenuQueryHandler.cs
similarity index 97%
rename from FlexJobApi.User.Application/Menus/Queries/GetMenuQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Queries/GetMenuQueryHandler.cs
index 7628ee9..937fa96 100644
--- a/FlexJobApi.User.Application/Menus/Queries/GetMenuQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Queries/GetMenuQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application.Menus.Queries
+namespace FlexJobApi.UserServer.Application.Menus.Queries
 {
     /// <summary>
     /// 鏌ヨ鑿滃崟璇︽儏
diff --git a/FlexJobApi.User.Application/Menus/Queries/GetMenusQueryHandler.cs b/FlexJobApi.UserServer.Application/Menus/Queries/GetMenusQueryHandler.cs
similarity index 97%
rename from FlexJobApi.User.Application/Menus/Queries/GetMenusQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Menus/Queries/GetMenusQueryHandler.cs
index b5c4240..239f18f 100644
--- a/FlexJobApi.User.Application/Menus/Queries/GetMenusQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Menus/Queries/GetMenusQueryHandler.cs
@@ -9,7 +9,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鏌ヨ鑿滃崟鍒楄〃
diff --git a/FlexJobApi.User.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs b/FlexJobApi.UserServer.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs
similarity index 98%
rename from FlexJobApi.User.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs
index 9b481dc..edb371d 100644
--- a/FlexJobApi.User.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Resources/Queries/GetResourceFieldsQueryHandler.cs
@@ -12,7 +12,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇璧勬簮瀛楁
diff --git a/FlexJobApi.User.Application/Resources/Queries/GetResourcesQueryHandler.cs b/FlexJobApi.UserServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
similarity index 97%
rename from FlexJobApi.User.Application/Resources/Queries/GetResourcesQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
index a18b631..7267dae 100644
--- a/FlexJobApi.User.Application/Resources/Queries/GetResourcesQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇璧勬簮鍒楄〃
diff --git a/FlexJobApi.User.Application/Roles/Commands/DeleteRoleCommandHandler.cs b/FlexJobApi.UserServer.Application/Roles/Commands/DeleteRoleCommandHandler.cs
similarity index 95%
rename from FlexJobApi.User.Application/Roles/Commands/DeleteRoleCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Commands/DeleteRoleCommandHandler.cs
index e7a874d..e3c70a0 100644
--- a/FlexJobApi.User.Application/Roles/Commands/DeleteRoleCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Commands/DeleteRoleCommandHandler.cs
@@ -8,7 +8,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鍒犻櫎瑙掕壊
diff --git a/FlexJobApi.User.Application/Roles/Commands/SaveRoleCommandHandler.cs b/FlexJobApi.UserServer.Application/Roles/Commands/SaveRoleCommandHandler.cs
similarity index 98%
rename from FlexJobApi.User.Application/Roles/Commands/SaveRoleCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Commands/SaveRoleCommandHandler.cs
index 3056a35..050d5ef 100644
--- a/FlexJobApi.User.Application/Roles/Commands/SaveRoleCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Commands/SaveRoleCommandHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 淇濆瓨瑙掕壊
diff --git a/FlexJobApi.User.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs b/FlexJobApi.UserServer.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs
similarity index 93%
rename from FlexJobApi.User.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs
index 84b92f9..928f06d 100644
--- a/FlexJobApi.User.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Commands/SetRoleIsDisabledCommandHandler.cs
@@ -8,7 +8,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 璁剧疆瑙掕壊鏄惁绂佺敤
diff --git a/FlexJobApi.User.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs b/FlexJobApi.UserServer.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs
similarity index 74%
rename from FlexJobApi.User.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs
index f8edf74..debe849 100644
--- a/FlexJobApi.User.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Commands/SetRoleUserInfosCommandHandler.cs
@@ -8,16 +8,16 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 璁剧疆瑙掕壊鐢ㄦ埛
     /// </summary>
     public class SetRoleUserInfosCommandHandler(
-            IRepository<UserInfoRole> rep
+            IRepository<UserRole> rep
         ) : IRequestHandler<SetRoleUserInfosCommand, int>
     {
-        private readonly IRepository<UserInfoRole> rep = rep;
+        private readonly IRepository<UserRole> rep = rep;
 
         /// <inheritdoc/>
         public async Task<int> Handle(SetRoleUserInfosCommand request, CancellationToken cancellationToken)
@@ -25,16 +25,16 @@
             var entities = await rep.AsQueryable()
                 .Where(it =>
                     it.RoleId == request.RoleId
-                    && request.UserInfoIds.Contains(it.UserInfoId))
+                    && request.UserInfoIds.Contains(it.UserId))
                 .ToListAsync(cancellationToken);
-            var removes = entities.Where(it => !request.UserInfoIds.Contains(it.UserInfoId)).ToList();
+            var removes = entities.Where(it => !request.UserInfoIds.Contains(it.UserId)).ToList();
             if (removes.Any()) await rep.DeleteAsync(removes, cancellationToken);
             var adds = request.UserInfoIds
-                .Where(it => !entities.Any(e => e.UserInfoId == it))
-                .Select(it => new UserInfoRole
+                .Where(it => !entities.Any(e => e.UserId == it))
+                .Select(it => new UserRole
                 {
                     RoleId = request.RoleId,
-                    UserInfoId = it
+                    UserId = it
                 })
                 .ToList();
             if (adds.Any()) await rep.InsertAsync(adds, cancellationToken);
diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRoleQueryHandler.cs b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleQueryHandler.cs
similarity index 96%
rename from FlexJobApi.User.Application/Roles/Queries/GetRoleQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Queries/GetRoleQueryHandler.cs
index a538abb..1b73f6a 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRoleQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleQueryHandler.cs
@@ -10,7 +10,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鑾峰彇瑙掕壊璇︽儏
diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
similarity index 63%
rename from FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
index 454ccc8..4fe37d2 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
@@ -1,6 +1,7 @@
 锘縰sing FlexJobApi.Core;
 using Furion.DatabaseAccessor;
 using Furion.FriendlyException;
+using Mapster;
 using MediatR;
 using Microsoft.EntityFrameworkCore;
 using System;
@@ -9,20 +10,20 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
     /// </summary>
     public class GetRoleUserInfosQueryHandler(
             IRepository<Role> repRole,
-            IRepository<UserInfo> repUserInfo,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<User> repUser,
+            IRepository<UserRole> repUserRole
         ) : IRequestHandler<GetRoleUserInfosQuery, List<GetRoleUserInfosQueryResultItem>>
     {
         private readonly IRepository<Role> repRole = repRole;
-        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<User> repUser = repUser;
+        private readonly IRepository<UserRole> repUserRole = repUserRole;
 
         /// <inheritdoc/>
         public async Task<List<GetRoleUserInfosQueryResultItem>> Handle(GetRoleUserInfosQuery request, CancellationToken cancellationToken)
@@ -35,23 +36,17 @@
                 })
                 .FirstOrDefaultAsync(cancellationToken);
             if (role == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヨ鑹�");
-            var userInfoIds = await repUserInfoRole.AsQueryable().AsNoTracking()
+            var userIds = await repUserRole.AsQueryable().AsNoTracking()
                 .Where(it => it.RoleId == request.RoleId)
-                .Select(it => it.UserInfoId)
+                .Select(it => it.UserId)
                 .ToListAsync(cancellationToken);
-            var userInfos = await repUserInfo.AsQueryable().AsNoTracking()
-                .Include(it => it.UserAuth)
+            var userInfos = await repUser.AsQueryable().AsNoTracking()
                 .Where(it => it.Type == role.UserType)
-                .Select(it => new GetRoleUserInfosQueryResultItem
-                {
-                    Id = it.Id,
-                    Name = it.UserAuth.Name,
-                    UserName = it.UserAuth.UserName,
-                })
+                .ProjectToType<GetRoleUserInfosQueryResultItem>()
                 .ToListAsync(cancellationToken);
             foreach (var userInfo in userInfos)
             {
-                userInfo.IsChecked = userInfoIds.Contains(userInfo.Id);
+                userInfo.IsChecked = userIds.Contains(userInfo.Id);
             }
             return userInfos;
         }
diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs b/FlexJobApi.UserServer.Application/Roles/Queries/GetRolesQueryHandler.cs
similarity index 91%
rename from FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Queries/GetRolesQueryHandler.cs
index 30e1a86..18344ad 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Queries/GetRolesQueryHandler.cs
@@ -9,7 +9,7 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
@@ -18,11 +18,11 @@
     /// <param name="repUserInfoRole"></param>
     public class GetRolesQueryHandler(
             IRepository<Role> repRole,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<UserRole> repUserInfoRole
         ) : IRequestHandler<GetRolesQuery, PagedListQueryResult<GetRolesQueryResultItem>>
     {
         private readonly IRepository<Role> repRole = repRole;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<UserRole> repUserInfoRole = repUserInfoRole;
 
         /// <inheritdoc/>
         public async Task<PagedListQueryResult<GetRolesQueryResultItem>> Handle(GetRolesQuery request, CancellationToken cancellationToken)
@@ -53,7 +53,7 @@
                     .Where(it => ids.Contains(it.RoleId))
                     .Select(it => new
                     {
-                        it.UserInfoId,
+                        it.UserId,
                         it.RoleId
                     })
                     .ToListAsync();
diff --git a/FlexJobApi.User.Application/UserInfos/Commands/UserInfoCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
similarity index 87%
rename from FlexJobApi.User.Application/UserInfos/Commands/UserInfoCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
index 8734b0f..b91f501 100644
--- a/FlexJobApi.User.Application/UserInfos/Commands/UserInfoCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
@@ -8,17 +8,17 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application.UserInfos.Commands
+namespace FlexJobApi.UserServer.Application.UserInfos.Commands
 {
     /// <summary>
     /// 鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
     /// </summary>
     public class UserInfoCommandHandler(
-            IRepository<UserInfo> rep
+            IRepository<User> rep
         ) : 
         IRequestHandler<SetUserInfoStatusCommand, int>
     {
-        private readonly IRepository<UserInfo> rep = rep;
+        private readonly IRepository<User> rep = rep;
 
         /// <summary>
         /// 璁剧疆鐢ㄦ埛淇℃伅鐘舵��
diff --git a/FlexJobApi.UserServer.Application/Users/Queries/GetOperationUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Users/Queries/GetOperationUserInfosQueryHandler.cs
new file mode 100644
index 0000000..e9b2cc5
--- /dev/null
+++ b/FlexJobApi.UserServer.Application/Users/Queries/GetOperationUserInfosQueryHandler.cs
@@ -0,0 +1,63 @@
+锘縰sing FlexJobApi.Core;
+using Furion.DatabaseAccessor;
+using MediatR;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.UserServer.Application
+{
+    /// <summary>
+    /// 鑾峰彇杩愯惀绔敤鎴峰垎椤靛垪琛�
+    /// </summary>
+    public class GetOperationUserInfosQueryHandler(
+            IRepository<User> repUser,
+            IRepository<UserRole> repUserRole
+        ) : IRequestHandler<GetOperationUserInfosQuery, PagedListQueryResult<GetOperationUserInfosQueryResultItem>>
+    {
+        private readonly IRepository<User> repUser = repUser;
+        private readonly IRepository<UserRole> repUserRole = repUserRole;
+
+        /// <inheritdoc/>
+        public async Task<PagedListQueryResult<GetOperationUserInfosQueryResultItem>> Handle(GetOperationUserInfosQuery request, CancellationToken cancellationToken)
+        {
+            var result = await request.PageModel.GetPagedListAsync<Core.User, GetOperationUserInfosQueryResultItem>(
+                q =>
+                {
+                    q = q.OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime)
+                        .Where(it => it.Type == EnumUserType.Operation);
+                    if (request.Keywords.IsNotNull())
+                    {
+                        q = q.Where(it =>
+                            it.Name.Contains(request.Keywords)
+                            || it.UserName.Contains(request.Keywords)
+                            || it.PhoneNumber.Contains(request.Keywords)
+                            || it.Remark.Contains(request.Keywords));
+                    }
+                    return q;
+                }, null, cancellationToken);
+            if (result.Data.Any())
+            {
+                var ids = result.Data.DistinctSelect(it => it.Id);
+                var userRoles = await repUserRole.AsQueryable().AsNoTracking()
+                    .Include(it => it.Role)
+                    .Where(it => ids.Contains(it.UserId))
+                    .Select(it => new GetOperationUserInfosQueryResultItemRole
+                    {
+                        UserId = it.UserId,
+                        Id = it.RoleId,
+                        Name = it.Role.Name
+                    })
+                    .ToListAsync(cancellationToken);
+                foreach (var item in result.Data)
+                {
+                    item.Roles = userRoles.Where(it => it.UserId == item.Id).ToList();
+                }
+            }
+            return result;
+        }
+    }
+}
diff --git a/FlexJobApi.User.Application/UserInfos/Queries/GetUserInfoRolesQueryHandler.cs b/FlexJobApi.UserServer.Application/Users/Queries/GetUserInfoRolesQueryHandler.cs
similarity index 77%
rename from FlexJobApi.User.Application/UserInfos/Queries/GetUserInfoRolesQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Users/Queries/GetUserInfoRolesQueryHandler.cs
index 4fe2aed..af08a19 100644
--- a/FlexJobApi.User.Application/UserInfos/Queries/GetUserInfoRolesQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Queries/GetUserInfoRolesQueryHandler.cs
@@ -9,25 +9,25 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
     /// </summary>
     public class GetUserInfoRolesQueryHandler(
             IRepository<Role> repRole,
-            IRepository<UserInfo> repUserInfo,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<User> repUser,
+            IRepository<UserRole> repUserRole
         ) : IRequestHandler<GetUserInfoRolesQuery, List<GetUserInfoRolesQueryResultItem>>
     {
         private readonly IRepository<Role> repRole = repRole;
-        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<User> repUser = repUser;
+        private readonly IRepository<UserRole> repUserRole = repUserRole;
 
         /// <inheritdoc/>
         public async Task<List<GetUserInfoRolesQueryResultItem>> Handle(GetUserInfoRolesQuery request, CancellationToken cancellationToken)
         {
-            var userInfo = await repUserInfo.AsQueryable().AsNoTracking()
+            var userInfo = await repUser.AsQueryable().AsNoTracking()
                 .Where(it => it.Id == request.UserInfoId)
                 .Select(it => new
                 {
@@ -35,8 +35,8 @@
                 })
                 .FirstOrDefaultAsync(cancellationToken);
             if (userInfo == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ョ敤鎴蜂俊鎭�");
-            var roleIds = await repUserInfoRole.AsQueryable().AsNoTracking()
-                .Where(it => it.UserInfoId == request.UserInfoId)
+            var roleIds = await repUserRole.AsQueryable().AsNoTracking()
+                .Where(it => it.UserId == request.UserInfoId)
                 .Select(it => it.RoleId)
                 .ToListAsync(cancellationToken);
             var roles = await repRole.AsQueryable().AsNoTracking()
diff --git a/FlexJobApi.Web.Entry/FlexJobApi.Web.Entry.csproj b/FlexJobApi.Web.Entry/FlexJobApi.Web.Entry.csproj
index 1db4574..d6cc33a 100644
--- a/FlexJobApi.Web.Entry/FlexJobApi.Web.Entry.csproj
+++ b/FlexJobApi.Web.Entry/FlexJobApi.Web.Entry.csproj
@@ -22,9 +22,9 @@
 
 
 	<ItemGroup>
-		<ProjectReference Include="..\FlexJobApi.Application\FlexJobApi.Application.csproj" />
 		<ProjectReference Include="..\FlexJobApi.Database.Migrations\FlexJobApi.Database.Migrations.csproj" />
-		<ProjectReference Include="..\FlexJobApi.User.Application\FlexJobApi.User.Application.csproj" />
+		<ProjectReference Include="..\FlexJobApi.FlexJobServer.Application\FlexJobApi.FlexJobServer.Application.csproj" />
+		<ProjectReference Include="..\FlexJobApi.UserServer.Application\FlexJobApi.UserServer.Application.csproj" />
 	</ItemGroup>
 	<ProjectExtensions>
 		<VisualStudio>
diff --git a/FlexJobApi.sln b/FlexJobApi.sln
index 3f0369e..4801498 100644
--- a/FlexJobApi.sln
+++ b/FlexJobApi.sln
@@ -3,8 +3,6 @@
 # Visual Studio Version 17
 VisualStudioVersion = 17.14.36310.24
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlexJobApi.Application", "FlexJobApi.Application\FlexJobApi.Application.csproj", "{AB699EE9-43A8-46F2-A855-04A26DE63372}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlexJobApi.EntityFramework.Core", "FlexJobApi.EntityFramework.Core\FlexJobApi.EntityFramework.Core.csproj", "{4BD77E5C-138D-4F2D-B709-F9020F306AF3}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlexJobApi.Core", "FlexJobApi.Core\FlexJobApi.Core.csproj", "{4FB30091-15C7-4FD9-AB7D-266814F360F5}"
@@ -13,11 +11,13 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FlexJobApi.Web.Entry", "FlexJobApi.Web.Entry\FlexJobApi.Web.Entry.csproj", "{C8D99F52-EDC7-411F-8300-6DB14BF59E8C}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FlexJobApi.User", "FlexJobApi.User", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FlexJobApi.UserServer", "FlexJobApi.UserServer", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexJobApi.User.Application", "FlexJobApi.User.Application\FlexJobApi.User.Application.csproj", "{B6FED775-35F8-488C-838F-06EB7A1CB763}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexJobApi.UserServer.Application", "FlexJobApi.UserServer.Application\FlexJobApi.UserServer.Application.csproj", "{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexJobApi.User.Web.Entry", "FlexJobApi.User.Web.Entry\FlexJobApi.User.Web.Entry.csproj", "{35A2ED50-7B1A-4B51-BB33-800847442BD6}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FlexJobApi.FlexJobServer", "FlexJobApi.FlexJobServer", "{39E37108-90DA-4908-B04C-B5A06591326D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexJobApi.FlexJobServer.Application", "FlexJobApi.FlexJobServer.Application\FlexJobApi.FlexJobServer.Application.csproj", "{6D8B1CA5-5859-491D-8E16-027ED8E44BDE}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -25,10 +25,6 @@
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB699EE9-43A8-46F2-A855-04A26DE63372}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{AB699EE9-43A8-46F2-A855-04A26DE63372}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{AB699EE9-43A8-46F2-A855-04A26DE63372}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{AB699EE9-43A8-46F2-A855-04A26DE63372}.Release|Any CPU.Build.0 = Release|Any CPU
 		{4BD77E5C-138D-4F2D-B709-F9020F306AF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4BD77E5C-138D-4F2D-B709-F9020F306AF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4BD77E5C-138D-4F2D-B709-F9020F306AF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -45,21 +41,21 @@
 		{C8D99F52-EDC7-411F-8300-6DB14BF59E8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{C8D99F52-EDC7-411F-8300-6DB14BF59E8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{C8D99F52-EDC7-411F-8300-6DB14BF59E8C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B6FED775-35F8-488C-838F-06EB7A1CB763}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B6FED775-35F8-488C-838F-06EB7A1CB763}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B6FED775-35F8-488C-838F-06EB7A1CB763}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B6FED775-35F8-488C-838F-06EB7A1CB763}.Release|Any CPU.Build.0 = Release|Any CPU
-		{35A2ED50-7B1A-4B51-BB33-800847442BD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{35A2ED50-7B1A-4B51-BB33-800847442BD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{35A2ED50-7B1A-4B51-BB33-800847442BD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{35A2ED50-7B1A-4B51-BB33-800847442BD6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6D8B1CA5-5859-491D-8E16-027ED8E44BDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6D8B1CA5-5859-491D-8E16-027ED8E44BDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6D8B1CA5-5859-491D-8E16-027ED8E44BDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6D8B1CA5-5859-491D-8E16-027ED8E44BDE}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{B6FED775-35F8-488C-838F-06EB7A1CB763} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
-		{35A2ED50-7B1A-4B51-BB33-800847442BD6} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+		{BAC3E134-8D84-4F6D-8C25-AD6FD8A95697} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+		{6D8B1CA5-5859-491D-8E16-027ED8E44BDE} = {39E37108-90DA-4908-B04C-B5A06591326D}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {B2073C2C-0FD3-452B-8047-8134D68E12CE}

--
Gitblit v1.9.1