82dbcc7ad9aeae270449139278dc9693de4ad218..509f2b5d3ee9208ea6b86aae5d29194c654d67f5
2025-08-06 sunpengfei
Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob
509f2b 对比 | 目录
2025-08-06 sunpengfei
feat:企业开发
c97916 对比 | 目录
9个文件已添加
12个文件已修改
4589 ■■■■ 已修改文件
FlexJobApi.Core/Entities/Users/Enterprise.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Users/UserAuth.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Users/UserInfo.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Common/EnumPayAccess.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Users/EnumRealAccess.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 426 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Common/DictionaryDataQueryResult.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenuQuery.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/20250806082829_UpdateEnterprise.Designer.cs 2104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/20250806082829_UpdateEnterprise.cs 965 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs 437 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/FlexJobApi.User.Application.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Users/Enterprise.cs
@@ -19,40 +19,14 @@
        }
        /// <summary>
        /// 企业认证方式
        /// 企业认证Id
        /// </summary>
        public EnumEnterpriseRealMethod? EnterpriseRealMethod { get; set; }
        public Guid EnterpriseAuthId { get; set; }
        /// <summary>
        /// 企业全称
        /// 企业认证
        /// </summary>
        [Required]
        [MaxLength(128)]
        public string EnterpriseName { get; set; }
        /// <summary>
        /// 统一社会信用代码
        /// </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; }
        public EnterpriseAuth EnterpriseAuth { get; set; }
        /// <summary>
        /// 所在省份Id
@@ -107,58 +81,30 @@
        public string ContactEmail { get; set; }
        /// <summary>
        /// 法人或经办人实名方式
        /// 支付通道
        /// </summary>
        public EnumPersonalRealMethod? PersonalRealMethod { get; set; }
        public EnumPayAccess? PayAccess { get; set; }
        /// <summary>
        /// 法人或经办人姓名
        /// 开户总行
        /// </summary>
        [MaxLength(32)]
        public string Name { get; set; }
        public string BankName { get; set; }
        /// <summary>
        /// 法人或经办人身份证号
        /// 开户支行
        /// </summary>
        [MaxLength(18)]
        public string Identity { get; set; }
        public string BankBranchName { get; set; }
        /// <summary>
        /// 法人或经办人身份证人像面
        /// </summary>
        public string IdentityImg { get; set; }
        /// <summary>
        /// 法人或经办人身份证国徽面
        /// </summary>
        public string IdentityBackImg { get; set; }
        /// <summary>
        /// 法人或经办人银行卡号
        /// 银行账户
        /// </summary>
        [MaxLength(32)]
        public string BankCard { get; set; }
        /// <summary>
        /// 法人或经办人银行卡照片
        /// 是否已校验银行账户
        /// </summary>
        public string BankCardImg { get; set; }
        /// <summary>
        /// 法人或经办人手机号
        /// </summary>
        [MaxLength(11)]
        public string PhoneNumber { get; set; }
        /// <summary>
        /// 是否委托经办人
        /// </summary>
        public bool? Proxy { get; set; }
        /// <summary>
        /// 企业授权书
        /// </summary>
        public string ProxyPowerAttorneyUrl { get; set; }
        public bool IsCheckedBankCard { get; set; }
        /// <summary>
        /// 实名通道
@@ -166,11 +112,29 @@
        public EnumRealAccess? RealAccess { get; set; }
        /// <summary>
        /// 是否实名
        /// 实名费用
        /// </summary>
        public bool IsReal { get; set; }
        public decimal? RealVerifyCost { get; set; }
        /// <summary>
        /// 签约费用
        /// </summary>
        public decimal? SignCost { get; set; }
        /// <summary>
        /// 一口价
        /// </summary>
        public decimal? MergeSignCost { get; set; }
        /// <summary>
        /// 短信通道
        /// </summary>
        public EnumSmsAccess? SmsAccess { get; set; }
        /// <summary>
        /// 短信费用
        /// </summary>
        public decimal SmsCost { get; set; }
        /// <summary>
        /// 部门
FlexJobApi.Core/Entities/Users/EnterpriseAuth.cs
New file
@@ -0,0 +1,110 @@
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 EnterpriseAuth : CommonEntity
    {
        /// <summary>
        /// 企业认证方式
        /// </summary>
        public EnumEnterpriseRealMethod? EnterpriseRealMethod { get; set; }
        /// <summary>
        /// 企业全称
        /// </summary>
        [Required]
        [MaxLength(128)]
        public string EnterpriseName { get; set; }
        /// <summary>
        /// 统一社会信用代码
        /// </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>
        /// 法人或经办人实名方式
        /// </summary>
        public EnumPersonalRealMethod? PersonalRealMethod { get; set; }
        /// <summary>
        /// 法人或经办人姓名
        /// </summary>
        [MaxLength(32)]
        public string Name { get; set; }
        /// <summary>
        /// 法人或经办人身份证号
        /// </summary>
        [MaxLength(18)]
        public string Identity { get; set; }
        /// <summary>
        /// 法人或经办人身份证人像面
        /// </summary>
        public string IdentityImg { get; set; }
        /// <summary>
        /// 法人或经办人身份证国徽面
        /// </summary>
        public string IdentityBackImg { get; set; }
        /// <summary>
        /// 法人或经办人银行卡号
        /// </summary>
        [MaxLength(32)]
        public string BankCard { get; set; }
        /// <summary>
        /// 法人或经办人银行卡照片
        /// </summary>
        public string BankCardImg { get; set; }
        /// <summary>
        /// 法人或经办人手机号
        /// </summary>
        [MaxLength(11)]
        public string PhoneNumber { get; set; }
        /// <summary>
        /// 是否委托经办人
        /// </summary>
        public bool? Proxy { get; set; }
        /// <summary>
        /// 企业授权书
        /// </summary>
        public string ProxyPowerAttorneyUrl { get; set; }
        /// <summary>
        /// 是否实名
        /// </summary>
        public bool IsReal { get; set; }
    }
}
FlexJobApi.Core/Entities/Users/UserAuth.cs
@@ -22,11 +22,6 @@
        }
        /// <summary>
        /// 头像
        /// </summary>
        public string Avatar { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        [Required]
FlexJobApi.Core/Entities/Users/UserInfo.cs
@@ -48,6 +48,11 @@
        public Enterprise Enterprise { get; set; }
        /// <summary>
        /// 头像
        /// </summary>
        public string Avatar { get; set; }
        /// <summary>
        /// 微信开放Id
        /// </summary>
        [MaxLength(32)]
FlexJobApi.Core/Enums/Common/EnumPayAccess.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 支付通道
    /// </summary>
    public enum EnumPayAccess
    {
        /// <summary>
        /// 平安银行
        /// </summary>
        PingAnBank = 10,
        /// <summary>
        /// 支付宝
        /// </summary>
        Alipay = 20
    }
}
FlexJobApi.Core/Enums/Users/EnumRealAccess.cs
@@ -14,6 +14,10 @@
        /// <summary>
        /// 上上签
        /// </summary>
        BestSign = 10
        BestSign = 10,
        /// <summary>
        /// 支付宝信任签
        /// </summary>
        AlipaySign = 20
    }
}
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -689,34 +689,14 @@
            企业
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseRealMethod">
        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseAuthId">
            <summary>
            企业认证方式
            企业认证Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseName">
        <member name="P:FlexJobApi.Core.Enterprise.EnterpriseAuth">
            <summary>
            企业全称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.SocietyCreditCode">
            <summary>
            统一社会信用代码
            </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.ProvinceId">
@@ -769,54 +749,29 @@
            联系邮箱
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.PersonalRealMethod">
        <member name="P:FlexJobApi.Core.Enterprise.PayAccess">
            <summary>
            法人或经办人实名方式
            支付通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.Name">
        <member name="P:FlexJobApi.Core.Enterprise.BankName">
            <summary>
            法人或经办人姓名
            开户总行
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.Identity">
        <member name="P:FlexJobApi.Core.Enterprise.BankBranchName">
            <summary>
            法人或经办人身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.IdentityImg">
            <summary>
            法人或经办人身份证人像面
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.IdentityBackImg">
            <summary>
            法人或经办人身份证国徽面
            开户支行
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.BankCard">
            <summary>
            法人或经办人银行卡号
            银行账户
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.BankCardImg">
        <member name="P:FlexJobApi.Core.Enterprise.IsCheckedBankCard">
            <summary>
            法人或经办人银行卡照片
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.PhoneNumber">
            <summary>
            法人或经办人手机号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.Proxy">
            <summary>
            是否委托经办人
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.ProxyPowerAttorneyUrl">
            <summary>
            企业授权书
            是否已校验银行账户
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.RealAccess">
@@ -824,9 +779,29 @@
            实名通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.IsReal">
        <member name="P:FlexJobApi.Core.Enterprise.RealVerifyCost">
            <summary>
            是否实名
            实名费用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.SignCost">
            <summary>
            签约费用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.MergeSignCost">
            <summary>
            一口价
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.SmsAccess">
            <summary>
            短信通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.SmsCost">
            <summary>
            短信费用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.Enterprise.Departments">
@@ -837,6 +812,96 @@
        <member name="P:FlexJobApi.Core.Enterprise.UserInfos">
            <summary>
            用户信息
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnterpriseAuth">
            <summary>
            企业认证
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.EnterpriseRealMethod">
            <summary>
            企业认证方式
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.EnterpriseName">
            <summary>
            企业全称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.SocietyCreditCode">
            <summary>
            统一社会信用代码
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.LicenseImage">
            <summary>
            营业执照照片
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.LegalPerson">
            <summary>
            法人姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.LegalIdentity">
            <summary>
            法人身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.PersonalRealMethod">
            <summary>
            法人或经办人实名方式
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.Name">
            <summary>
            法人或经办人姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.Identity">
            <summary>
            法人或经办人身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.IdentityImg">
            <summary>
            法人或经办人身份证人像面
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.IdentityBackImg">
            <summary>
            法人或经办人身份证国徽面
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.BankCard">
            <summary>
            法人或经办人银行卡号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.BankCardImg">
            <summary>
            法人或经办人银行卡照片
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.PhoneNumber">
            <summary>
            法人或经办人手机号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseAuth.Proxy">
            <summary>
            是否委托经办人
            </summary>
        </member>
        <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">
@@ -1049,11 +1114,6 @@
            用户
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.UserAuth.Avatar">
            <summary>
            头像
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.UserAuth.Name">
            <summary>
            姓名
@@ -1147,6 +1207,11 @@
        <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">
@@ -1604,6 +1669,21 @@
            降序
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumPayAccess">
            <summary>
            支付通道
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumPayAccess.PingAnBank">
            <summary>
            平安银行
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumPayAccess.Alipay">
            <summary>
            支付宝
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumQueueAccess">
            <summary>
            消息队列通道
@@ -1964,6 +2044,11 @@
            上上签
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumRealAccess.AlipaySign">
            <summary>
            支付宝信任签
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumRoleWebApiDataPower">
            <summary>
            角色接口数据权限
@@ -2078,6 +2163,16 @@
        <member name="P:FlexJobApi.Core.ITreeData`1.Code">
            <summary>
            编号
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.DictionaryDataQueryResult">
            <summary>
            数据字典查询结果
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.DictionaryDataQueryResult.Content">
            <summary>
            内容
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.DeleteDictionaryCategoryCommand">
@@ -2475,6 +2570,16 @@
            获取阿里云OSS授权信息
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCurrentLogierMenuQuery">
            <summary>
            获取当前登录用户菜单详情
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetCurrentLogierMenuQuery.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetCurrentLogierMenusQuery">
            <summary>
            获取当前登录用户菜单
@@ -2485,29 +2590,9 @@
            保存企业
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.EnterpriseName">
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.EnterpriseAuth">
            <summary>
            企业全称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.SocietyCreditCode">
            <summary>
            统一社会信用代码
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LicenseImage">
            <summary>
            营业执照照片
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LegalPerson">
            <summary>
            法人姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.LegalIdentity">
            <summary>
            法人身份证号
            企业认证
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveEnterpriseCommand.ProvinceId">
@@ -2570,6 +2655,81 @@
            密码
            </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>
            统一社会信用代码
            </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">
            <summary>
            设置企业电子签配置
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand.RealAccess">
            <summary>
            实名通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand.RealVerifyCost">
            <summary>
            实名费用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand.SignCost">
            <summary>
            签约费用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseElectronSignSettingCommand.MergeSignCost">
            <summary>
            一口价
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SetEnterpriseSmsSettingCommand">
            <summary>
            设置企业短信配置
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseSmsSettingCommand.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseSmsSettingCommand.SmsAccess">
            <summary>
            短信通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetEnterpriseSmsSettingCommand.SmsCost">
            <summary>
            短信费用
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterprisesQuery">
            <summary>
            查询企业信息分页列表数据
@@ -2587,27 +2747,12 @@
        </member>
        <member name="T:FlexJobApi.Core.GetEnterprisesQueryResultItem">
            <summary>
            查询企业信息分页列表数据
            查询企业信息分页列表数据-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.EnterpriseName">
            <summary>
            企业全称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.LegalPerson">
            <summary>
            法人姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.SocietyCreditCode">
            <summary>
            统一社会信用代码
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.Contacts">
@@ -2620,6 +2765,81 @@
            联系电话
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.ProvinceId">
            <summary>
            所在省份Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.Province">
            <summary>
            所在省份
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.CityId">
            <summary>
            所在城市Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.City">
            <summary>
            所在城市
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.IndustryTypeId">
            <summary>
            所属行业Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.IndustryType">
            <summary>
            所属行业
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.IsCheckedBankCard">
            <summary>
            是否已校验银行账户
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.RealAccess">
            <summary>
            实名通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.SmsAccess">
            <summary>
            短信通道
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItem.IsConfigured">
            <summary>
            是否已配置
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterprisesQueryResultItemAuth">
            <summary>
            查询企业信息分页列表数据-结果-项-认证
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItemAuth.EnterpriseName">
            <summary>
            企业全称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItemAuth.LegalPerson">
            <summary>
            法人姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItemAuth.SocietyCreditCode">
            <summary>
            统一社会信用代码
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterprisesQueryResultItemAuth.IsReal">
            <summary>
            是否实名
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.DeleteMenuCommand">
            <summary>
            删除菜单
FlexJobApi.Core/Models/Common/DictionaryDataQueryResult.cs
New file
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 数据字典查询结果
    /// </summary>
    public class DictionaryDataQueryResult
    {
        /// <summary>
        /// 内容
        /// </summary>
        public string Content { get; set; }
    }
}
FlexJobApi.Core/Models/User/Auths/Queries/GetCurrentLogierMenuQuery.cs
New file
@@ -0,0 +1,21 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 获取当前登录用户菜单详情
    /// </summary>
    [Resource([EnumResourceController.Auth])]
    public class GetCurrentLogierMenuQuery : IRequest<GetMenuQueryResult>
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
    }
}
FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs
@@ -14,35 +14,10 @@
    public class SaveEnterpriseCommand : SaveDataCommand
    {
        /// <summary>
        /// 企业全称
        /// 企业认证
        /// </summary>
        [Required]
        [MaxLength(128)]
        public string EnterpriseName { get; set; }
        /// <summary>
        /// 统一社会信用代码
        /// </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; }
        public SaveEnterpriseCommandAuth EnterpriseAuth { get; set; }
        /// <summary>
        /// 所在省份Id
@@ -106,4 +81,36 @@
        /// </summary>
        public string Password { get; set; }
    }
    /// <summary>
    /// 保存企业-认证信息
    /// </summary>
    public class SaveEnterpriseCommandAuth
    {
        /// <summary>
        /// 企业全称
        /// </summary>
        [Required]
        [MaxLength(128)]
        public string EnterpriseName { get; set; }
        /// <summary>
        /// 统一社会信用代码
        /// </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; }
    }
}
FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseElectronSignSettingCommand.cs
New file
@@ -0,0 +1,43 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 设置企业电子签配置
    /// </summary>
    [Resource([EnumResourceController.Enterprise])]
    public class SetEnterpriseElectronSignSettingCommand : IRequest<Guid>
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 实名通道
        /// </summary>
        public EnumRealAccess? RealAccess { get; set; }
        /// <summary>
        /// 实名费用
        /// </summary>
        public decimal? RealVerifyCost { get; set; }
        /// <summary>
        /// 签约费用
        /// </summary>
        public decimal? SignCost { get; set; }
        /// <summary>
        /// 一口价
        /// </summary>
        public decimal? MergeSignCost { get; set; }
    }
}
FlexJobApi.Core/Models/User/Enterprises/Commands/SetEnterpriseSmsSettingCommand.cs
New file
@@ -0,0 +1,31 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 设置企业短信配置
    /// </summary>
    [Resource([EnumResourceController.Enterprise])]
    public class SetEnterpriseSmsSettingCommand : IRequest<Guid>
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 短信通道
        /// </summary>
        public EnumSmsAccess? SmsAccess { get; set; }
        /// <summary>
        /// 短信费用
        /// </summary>
        public decimal SmsCost { get; set; }
    }
}
FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs
@@ -1,4 +1,6 @@
using MediatR;
using Mapster;
using MediatR;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -26,7 +28,7 @@
    }
    /// <summary>
    /// 查询企业信息分页列表数据
    /// 查询企业信息分页列表数据-结果-项
    /// </summary>
    public class GetEnterprisesQueryResultItem
    {
@@ -35,6 +37,76 @@
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 联系人
        /// </summary>
        public string Contacts { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string ContactNumber { get; set; }
        /// <summary>
        /// 所在省份Id
        /// </summary>
        public Guid? ProvinceId { get; set; }
        /// <summary>
        /// 所在省份
        /// </summary>
        public DictionaryDataQueryResult Province { get; set; }
        /// <summary>
        /// 所在城市Id
        /// </summary>
        public Guid? CityId { get; set; }
        /// <summary>
        /// 所在城市
        /// </summary>
        public DictionaryDataQueryResult City { get; set; }
        /// <summary>
        /// 所属行业Id
        /// </summary>
        public Guid? IndustryTypeId { get; set; }
        /// <summary>
        /// 所属行业
        /// </summary>
        public DictionaryDataQueryResult IndustryType { get; set; }
        /// <summary>
        /// 是否已校验银行账户
        /// </summary>
        [JsonIgnore]
        public bool IsCheckedBankCard { get; set; }
        /// <summary>
        /// 实名通道
        /// </summary>
        [JsonIgnore]
        public EnumRealAccess? RealAccess { get; set; }
        /// <summary>
        /// 短信通道
        /// </summary>
        [JsonIgnore]
        public EnumSmsAccess? SmsAccess { get; set; }
        /// <summary>
        /// 是否已配置
        /// </summary>
        [AdaptIgnore]
        public bool IsConfigured => IsCheckedBankCard && RealAccess.HasValue && SmsAccess.HasValue;
    }
    /// <summary>
    /// 查询企业信息分页列表数据-结果-项-认证
    /// </summary>
    public class GetEnterprisesQueryResultItemAuth
    {
        /// <summary>
        /// 企业全称
        /// </summary>
@@ -51,14 +123,8 @@
        public string SocietyCreditCode { get; set; }
        /// <summary>
        /// 联系人
        /// 是否实名
        /// </summary>
        public string Contacts { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string ContactNumber { get; set; }
        public bool IsReal { get; set; }
    }
}
FlexJobApi.Database.Migrations/Migrations/20250806082829_UpdateEnterprise.Designer.cs
New file
@@ -0,0 +1,2104 @@
// <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("20250806082829_UpdateEnterprise")]
    partial class UpdateEnterprise
    {
        /// <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<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("部门路径");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("EnterpriseId");
                    b.HasIndex("ParentId");
                    b.ToTable("Department", t =>
                        {
                            t.HasComment("部门");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryCategory", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("FieldNames")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段名(逗号隔开)");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.ToTable("DictionaryCategory", t =>
                        {
                            t.HasComment("字典类别");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid>("CategoryId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("类别Id");
                    b.Property<string>("Code")
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("编号");
                    b.Property<string>("Content")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("显示内容");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Field1")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段1");
                    b.Property<string>("Field2")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段2");
                    b.Property<string>("Field3")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段3");
                    b.Property<string>("Field4")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段4");
                    b.Property<string>("Field5")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段5");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字典路径");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("CategoryId");
                    b.HasIndex("ParentId");
                    b.ToTable("DictionaryData", t =>
                        {
                            t.HasComment("字典数据");
                        });
                });
            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)")
                        .HasComment("法人或经办人银行卡号");
                    b.Property<string>("BankName")
                        .HasColumnType("nvarchar(max)");
                    b.Property<Guid?>("CityId")
                        .HasColumnType("uniqueidentifier");
                    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)")
                        .HasComment("联系人");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("EnterpriseAuthId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("IndustryTypeId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<bool>("IsCheckedBankCard")
                        .HasColumnType("bit");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("MainBusiness")
                        .HasColumnType("nvarchar(max)");
                    b.Property<decimal?>("MergeSignCost")
                        .HasColumnType("decimal(18,2)");
                    b.Property<int?>("PayAccess")
                        .HasColumnType("int");
                    b.Property<Guid?>("ProvinceId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<int?>("RealAccess")
                        .HasColumnType("int")
                        .HasComment("实名通道");
                    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<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("CityId");
                    b.HasIndex("EnterpriseAuthId");
                    b.HasIndex("IndustryTypeId");
                    b.HasIndex("ProvinceId");
                    b.ToTable("Enterprise", t =>
                        {
                            t.HasComment("企业");
                        });
                });
            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<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    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")
                        .HasComment("是否删除");
                    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>("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")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    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")
                        .HasComment("客户端类型");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Group")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("分组名称(用于按钮/字段)");
                    b.Property<string>("Icon")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("图标");
                    b.Property<bool>("IsCache")
                        .HasColumnType("bit")
                        .HasComment("是否缓存");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<string>("Location")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("位置(用于按钮)");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("菜单路径");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<int>("Type")
                        .HasColumnType("int")
                        .HasComment("类型");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("Url")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("链接地址");
                    b.Property<int>("UserType")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.Property<int>("VisitLevel")
                        .HasColumnType("int")
                        .HasComment("访问级别");
                    b.Property<string>("Width")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("列宽(用于按钮/列/元素)");
                    b.HasKey("Id");
                    b.HasIndex("ParentId");
                    b.ToTable("Menu", t =>
                        {
                            t.HasComment("菜单");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Resource", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("ActionName")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("委托名称");
                    b.Property<string>("ActionSummary")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("委托摘要");
                    b.Property<bool>("AllowAnonymous")
                        .HasColumnType("bit")
                        .HasComment("忽略权限");
                    b.Property<string>("ApplicationName")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("应用名称");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("编号");
                    b.Property<int>("Controller")
                        .HasColumnType("int")
                        .HasComment("控制器");
                    b.Property<string>("ControllerSummary")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("控制器摘要");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("DynamicAssemblyName")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("动态程序集名称");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsExpired")
                        .HasColumnType("bit")
                        .HasComment("是否已过期");
                    b.Property<int>("Method")
                        .HasColumnType("int")
                        .HasComment("请求方式");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<string>("RequestTypeFullName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("请求类型全名");
                    b.Property<string>("RequestTypeName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("请求类型名称");
                    b.Property<string>("ResponseTypeFullName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("响应类型全名");
                    b.Property<string>("ResponseTypeName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("响应类型名称");
                    b.Property<string>("Route")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("路由");
                    b.Property<string>("RouteArea")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("路由区域");
                    b.Property<int>("Service")
                        .HasColumnType("int")
                        .HasComment("服务");
                    b.Property<string>("ServiceName")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("服务名称");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.ToTable("Resource", t =>
                        {
                            t.HasComment("资源");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<int>("ClientType")
                        .HasColumnType("int")
                        .HasComment("客户端类型");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("DataPower")
                        .HasColumnType("int")
                        .HasComment("数据权限");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<int>("MinLevel")
                        .HasColumnType("int")
                        .HasComment("最低级别");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<int>("UserType")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.HasKey("Id");
                    b.ToTable("Role", t =>
                        {
                            t.HasComment("角色");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("MenuId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("菜单Id");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("MenuId");
                    b.HasIndex("RoleId");
                    b.ToTable("RoleMenu", t =>
                        {
                            t.HasComment("角色菜单");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleResource", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("DataPower")
                        .HasColumnType("int")
                        .HasComment("数据权限");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("ResourceId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("资源Id");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("ResourceId");
                    b.HasIndex("RoleId");
                    b.ToTable("RoleResource", t =>
                        {
                            t.HasComment("角色资源");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Address")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("任务地点详细地址");
                    b.Property<int>("AgeMaxLimit")
                        .HasColumnType("int")
                        .HasComment("年龄范围大");
                    b.Property<int>("AgeMinLimit")
                        .HasColumnType("int")
                        .HasComment("年龄范围最小");
                    b.Property<DateTime>("BeginTime")
                        .HasColumnType("datetime2")
                        .HasComment("任务开始时间");
                    b.Property<int>("BillingMethod")
                        .HasColumnType("int")
                        .HasComment("计费方式");
                    b.Property<Guid>("CityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务地点所属区域Id");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<DateTime>("EndTime")
                        .HasColumnType("datetime2")
                        .HasComment("任务结束时间");
                    b.Property<Guid>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<int>("GenderLimit")
                        .HasColumnType("int")
                        .HasComment("性别要求");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("任务名称");
                    b.Property<decimal>("ServiceFee")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("服务费");
                    b.Property<int>("SettlementCycle")
                        .HasColumnType("int")
                        .HasComment("结算方式");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("CityId");
                    b.HasIndex("EnterpriseId");
                    b.ToTable("TaskInfo", t =>
                        {
                            t.HasComment("任务信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid>("BenefitId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("福利Id");
                    b.Property<Guid>("BenefitId1")
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("BenefitId");
                    b.HasIndex("BenefitId1");
                    b.ToTable("TaskInfoBenefit", t =>
                        {
                            t.HasComment("任务福利");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<Guid?>("TypeId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书类型Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("TaskInfoId");
                    b.HasIndex("TypeId");
                    b.ToTable("TaskInfoCredentialLimit");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("HireStatus")
                        .HasColumnType("int")
                        .HasComment("录用状态");
                    b.Property<DateTime?>("HireTime")
                        .HasColumnType("datetime2")
                        .HasComment("录用时间");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int?>("SignContractStatus")
                        .HasColumnType("int")
                        .HasComment("签约状态");
                    b.Property<DateTime?>("SignContractTime")
                        .HasColumnType("datetime2")
                        .HasComment("签约时间");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("TaskInfoId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("TaskInfoUser", t =>
                        {
                            t.HasComment("任务用户信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("银行卡号");
                    b.Property<string>("BankCardImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("银行卡照片");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Identity")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证号");
                    b.Property<string>("IdentityBackImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证国徽面");
                    b.Property<string>("IdentityImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证人像面");
                    b.Property<bool>("IsCheckPhoneNumber")
                        .HasColumnType("bit")
                        .HasComment("是否已校验手机号");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsReal")
                        .HasColumnType("bit")
                        .HasComment("是否实名");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("姓名");
                    b.Property<string>("Password")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("密码");
                    b.Property<string>("PhoneNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("手机号");
                    b.Property<int?>("RealAccess")
                        .HasColumnType("int")
                        .HasComment("实名通道");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("UserName")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("用户名");
                    b.HasKey("Id");
                    b.ToTable("UserAuth", t =>
                        {
                            t.HasComment("用户");
                        });
                    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<Guid?>("CityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("常驻城市Id");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid?>("EducationalBackgroundId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("学历Id");
                    b.Property<Guid?>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<int?>("FreeTime")
                        .HasColumnType("int")
                        .HasComment("空闲时间");
                    b.Property<int?>("Height")
                        .HasColumnType("int")
                        .HasComment("身高");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int?>("JobSeekingStatus")
                        .HasColumnType("int")
                        .HasComment("求职状态");
                    b.Property<int>("Level")
                        .HasColumnType("int")
                        .HasComment("级别");
                    b.Property<Guid?>("PersonalIdentityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份Id");
                    b.Property<Guid?>("ProvinceId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<int>("Status")
                        .HasColumnType("int")
                        .HasComment("状态");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<int>("Type")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserAuthId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户Id");
                    b.Property<int?>("Weight")
                        .HasColumnType("int")
                        .HasComment("体重");
                    b.Property<string>("WorkExperience")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("工作经验");
                    b.Property<string>("WorkSeniority")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("工作资历");
                    b.Property<string>("WxmpOpenId")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("微信开放Id");
                    b.HasKey("Id");
                    b.HasIndex("CityId");
                    b.HasIndex("EducationalBackgroundId");
                    b.HasIndex("EnterpriseId");
                    b.HasIndex("PersonalIdentityId");
                    b.HasIndex("ProvinceId");
                    b.HasIndex("UserAuthId");
                    b.ToTable("UserInfo", t =>
                        {
                            t.HasComment("用户信息");
                        });
                    b.HasData(
                        new
                        {
                            Id = new Guid("11111111-1111-1111-1111-111111111112"),
                            CreatedTime = new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)),
                            IsDeleted = false,
                            Level = 999,
                            Sort = 0,
                            Status = 0,
                            Type = 100,
                            UserAuthId = new Guid("11111111-1111-1111-1111-111111111111")
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoBankCard", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Bank")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("开户行");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("银行卡号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("PhoneNumber")
                        .IsRequired()
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("银行预留手机号");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoBankCard", t =>
                        {
                            t.HasComment("用户银行卡信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("BackImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("证书反面照片");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("证书编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<DateTime>("EndDate")
                        .HasColumnType("datetime2")
                        .HasComment("结束日期");
                    b.Property<string>("Img")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("证书正面照片");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsForever")
                        .HasColumnType("bit")
                        .HasComment("永久证书");
                    b.Property<string>("IssueUnit")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("发证单位");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<DateTime>("StartDate")
                        .HasColumnType("datetime2")
                        .HasComment("开始日期");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<Guid?>("TypeId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书类型Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("TypeId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoCredential", t =>
                        {
                            t.HasComment("用户信息资格证书");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("DepartmentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("部门Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("DepartmentId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoDepartment", t =>
                        {
                            t.HasComment("用户信息部门");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("PersonalIdentityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("期望岗位Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("PersonalIdentityId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoExpectJob", t =>
                        {
                            t.HasComment("用户信息期望岗位");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Img")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("照片");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoPhoto", t =>
                        {
                            t.HasComment("用户信息生活照");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("RoleId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoRole", t =>
                        {
                            t.HasComment("用户信息角色");
                        });
                });
            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("CityId");
                    b.HasOne("FlexJobApi.Core.EnterpriseAuth", "EnterpriseAuth")
                        .WithMany()
                        .HasForeignKey("EnterpriseAuthId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "IndustryType")
                        .WithMany()
                        .HasForeignKey("IndustryTypeId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId");
                    b.Navigation("City");
                    b.Navigation("EnterpriseAuth");
                    b.Navigation("IndustryType");
                    b.Navigation("Province");
                });
            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("CityId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
                        .WithMany()
                        .HasForeignKey("EnterpriseId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("City");
                    b.Navigation("Enterprise");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
                {
                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
                        .WithMany("Benefits")
                        .HasForeignKey("BenefitId")
                        .OnDelete(DeleteBehavior.Restrict)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Benefit")
                        .WithMany()
                        .HasForeignKey("BenefitId1")
                        .OnDelete(DeleteBehavior.Cascade)
                        .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("TypeId");
                    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.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("TaskInfo");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
                        .WithMany()
                        .HasForeignKey("CityId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "EducationalBackground")
                        .WithMany()
                        .HasForeignKey("EducationalBackgroundId");
                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
                        .WithMany("UserInfos")
                        .HasForeignKey("EnterpriseId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
                        .WithMany()
                        .HasForeignKey("PersonalIdentityId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId");
                    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 =>
                {
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
                        .WithMany()
                        .HasForeignKey("TypeId");
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoCredentials")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Type");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
                {
                    b.HasOne("FlexJobApi.Core.Department", "Department")
                        .WithMany()
                        .HasForeignKey("DepartmentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoDepartments")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Department");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
                        .WithMany()
                        .HasForeignKey("PersonalIdentityId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoExpectJobs")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("PersonalIdentity");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
                {
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
                {
                    b.HasOne("FlexJobApi.Core.Role", "Role")
                        .WithMany("UserInfoRoles")
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoRoles")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Role");
                    b.Navigation("UserInfo");
                });
            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("UserInfos");
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
                {
                    b.Navigation("Children");
                });
            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
                {
                    b.Navigation("RoleMenus");
                    b.Navigation("RoleResources");
                    b.Navigation("UserInfoRoles");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
                {
                    b.Navigation("Benefits");
                    b.Navigation("CredentialLimits");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.Navigation("UserInfos");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.Navigation("UserInfoCredentials");
                    b.Navigation("UserInfoDepartments");
                    b.Navigation("UserInfoExpectJobs");
                    b.Navigation("UserInfoRoles");
                });
#pragma warning restore 612, 618
        }
    }
}
FlexJobApi.Database.Migrations/Migrations/20250806082829_UpdateEnterprise.cs
New file
@@ -0,0 +1,965 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace FlexJobApi.Database.Migrations.Migrations
{
    /// <inheritdoc />
    public partial class UpdateEnterprise : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_FileVirtualPath_IdentityBackImgId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_FileVirtualPath_IdentityImgId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_FileVirtualPath_LicenseImageId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_UserAuth_FileVirtualPath_AvatarId",
                table: "UserAuth");
            migrationBuilder.DropForeignKey(
                name: "FK_UserAuth_FileVirtualPath_BankCardImgId",
                table: "UserAuth");
            migrationBuilder.DropForeignKey(
                name: "FK_UserAuth_FileVirtualPath_IdentityBackImgId",
                table: "UserAuth");
            migrationBuilder.DropForeignKey(
                name: "FK_UserAuth_FileVirtualPath_IdentityImgId",
                table: "UserAuth");
            migrationBuilder.DropForeignKey(
                name: "FK_UserInfoCredential_FileVirtualPath_BackImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropForeignKey(
                name: "FK_UserInfoCredential_FileVirtualPath_ImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropForeignKey(
                name: "FK_UserInfoPhoto_FileVirtualPath_ImgId",
                table: "UserInfoPhoto");
            migrationBuilder.DropTable(
                name: "FileVirtualPath");
            migrationBuilder.DropTable(
                name: "FileStore");
            migrationBuilder.DropIndex(
                name: "IX_UserInfoPhoto_ImgId",
                table: "UserInfoPhoto");
            migrationBuilder.DropIndex(
                name: "IX_UserInfoCredential_BackImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropIndex(
                name: "IX_UserInfoCredential_ImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropIndex(
                name: "IX_UserAuth_AvatarId",
                table: "UserAuth");
            migrationBuilder.DropIndex(
                name: "IX_UserAuth_BankCardImgId",
                table: "UserAuth");
            migrationBuilder.DropIndex(
                name: "IX_UserAuth_IdentityBackImgId",
                table: "UserAuth");
            migrationBuilder.DropIndex(
                name: "IX_UserAuth_IdentityImgId",
                table: "UserAuth");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_IdentityBackImgId",
                table: "Enterprise");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_IdentityImgId",
                table: "Enterprise");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_LicenseImageId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ImgId",
                table: "UserInfoPhoto");
            migrationBuilder.DropColumn(
                name: "BackImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropColumn(
                name: "ImgId",
                table: "UserInfoCredential");
            migrationBuilder.DropColumn(
                name: "AvatarId",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "BankCardImgId",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "IdentityBackImgId",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "IdentityImgId",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "BankCardImgId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ContactNumber",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "EnterpriseName",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "EnterpriseRealMethod",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "Identity",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "IdentityBackImgId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "IdentityImgId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "IsReal",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "LegalPerson",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "LicenseImageId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "Name",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "PersonalRealMethod",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "PhoneNumber",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "Proxy",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ProxyPowerAttorneyUrl",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "SocietyCreditCode",
                table: "Enterprise");
            migrationBuilder.AddColumn<string>(
                name: "Img",
                table: "UserInfoPhoto",
                type: "nvarchar(max)",
                nullable: true,
                comment: "照片");
            migrationBuilder.AddColumn<string>(
                name: "BackImg",
                table: "UserInfoCredential",
                type: "nvarchar(max)",
                nullable: true,
                comment: "证书反面照片");
            migrationBuilder.AddColumn<string>(
                name: "Img",
                table: "UserInfoCredential",
                type: "nvarchar(max)",
                nullable: true,
                comment: "证书正面照片");
            migrationBuilder.AddColumn<string>(
                name: "Avatar",
                table: "UserInfo",
                type: "nvarchar(max)",
                nullable: true);
            migrationBuilder.AddColumn<Guid>(
                name: "ProvinceId",
                table: "UserInfo",
                type: "uniqueidentifier",
                nullable: true);
            migrationBuilder.AddColumn<string>(
                name: "BankCardImg",
                table: "UserAuth",
                type: "nvarchar(max)",
                nullable: true,
                comment: "银行卡照片");
            migrationBuilder.AddColumn<string>(
                name: "IdentityBackImg",
                table: "UserAuth",
                type: "nvarchar(max)",
                nullable: true,
                comment: "身份证国徽面");
            migrationBuilder.AddColumn<string>(
                name: "IdentityImg",
                table: "UserAuth",
                type: "nvarchar(max)",
                nullable: true,
                comment: "身份证人像面");
            migrationBuilder.AddColumn<string>(
                name: "BankBranchName",
                table: "Enterprise",
                type: "nvarchar(max)",
                nullable: true);
            migrationBuilder.AddColumn<string>(
                name: "BankName",
                table: "Enterprise",
                type: "nvarchar(max)",
                nullable: true);
            migrationBuilder.AddColumn<Guid>(
                name: "CityId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true);
            migrationBuilder.AddColumn<string>(
                name: "ContactEmail",
                table: "Enterprise",
                type: "nvarchar(max)",
                nullable: true);
            migrationBuilder.AddColumn<string>(
                name: "ContactPhoneNumber",
                table: "Enterprise",
                type: "nvarchar(11)",
                maxLength: 11,
                nullable: true);
            migrationBuilder.AddColumn<Guid>(
                name: "EnterpriseAuthId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: false,
                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
            migrationBuilder.AddColumn<Guid>(
                name: "IndustryTypeId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true);
            migrationBuilder.AddColumn<bool>(
                name: "IsCheckedBankCard",
                table: "Enterprise",
                type: "bit",
                nullable: false,
                defaultValue: false);
            migrationBuilder.AddColumn<string>(
                name: "MainBusiness",
                table: "Enterprise",
                type: "nvarchar(max)",
                nullable: true);
            migrationBuilder.AddColumn<decimal>(
                name: "MergeSignCost",
                table: "Enterprise",
                type: "decimal(18,2)",
                nullable: true);
            migrationBuilder.AddColumn<int>(
                name: "PayAccess",
                table: "Enterprise",
                type: "int",
                nullable: true);
            migrationBuilder.AddColumn<Guid>(
                name: "ProvinceId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true);
            migrationBuilder.AddColumn<decimal>(
                name: "RealVerifyCost",
                table: "Enterprise",
                type: "decimal(18,2)",
                nullable: true);
            migrationBuilder.AddColumn<decimal>(
                name: "SignCost",
                table: "Enterprise",
                type: "decimal(18,2)",
                nullable: true);
            migrationBuilder.AddColumn<int>(
                name: "SmsAccess",
                table: "Enterprise",
                type: "int",
                nullable: true);
            migrationBuilder.AddColumn<decimal>(
                name: "SmsCost",
                table: "Enterprise",
                type: "decimal(18,2)",
                nullable: false,
                defaultValue: 0m);
            migrationBuilder.CreateTable(
                name: "EnterpriseAuth",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    EnterpriseRealMethod = table.Column<int>(type: "int", nullable: true),
                    EnterpriseName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
                    SocietyCreditCode = table.Column<string>(type: "nvarchar(18)", maxLength: 18, nullable: false),
                    LicenseImage = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    LegalPerson = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
                    LegalIdentity = table.Column<string>(type: "nvarchar(18)", maxLength: 18, nullable: true),
                    PersonalRealMethod = table.Column<int>(type: "int", nullable: true),
                    Name = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
                    Identity = table.Column<string>(type: "nvarchar(18)", maxLength: 18, nullable: true),
                    IdentityImg = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    IdentityBackImg = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    BankCard = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
                    BankCardImg = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    PhoneNumber = table.Column<string>(type: "nvarchar(11)", maxLength: 11, nullable: true),
                    Proxy = table.Column<bool>(type: "bit", nullable: true),
                    ProxyPowerAttorneyUrl = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    IsReal = table.Column<bool>(type: "bit", 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, comment: "排序"),
                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "跟踪Id"),
                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "创建操作人"),
                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "最后更新操作人"),
                    IsDeleted = table.Column<bool>(type: "bit", nullable: false, comment: "是否删除")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_EnterpriseAuth", x => x.Id);
                });
            migrationBuilder.UpdateData(
                table: "UserAuth",
                keyColumn: "Id",
                keyValue: new Guid("11111111-1111-1111-1111-111111111111"),
                columns: new[] { "BankCardImg", "IdentityBackImg", "IdentityImg" },
                values: new object[] { null, null, null });
            migrationBuilder.UpdateData(
                table: "UserInfo",
                keyColumn: "Id",
                keyValue: new Guid("11111111-1111-1111-1111-111111111112"),
                columns: new[] { "Avatar", "ProvinceId" },
                values: new object[] { null, null });
            migrationBuilder.CreateIndex(
                name: "IX_UserInfo_ProvinceId",
                table: "UserInfo",
                column: "ProvinceId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_CityId",
                table: "Enterprise",
                column: "CityId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_EnterpriseAuthId",
                table: "Enterprise",
                column: "EnterpriseAuthId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_IndustryTypeId",
                table: "Enterprise",
                column: "IndustryTypeId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_ProvinceId",
                table: "Enterprise",
                column: "ProvinceId");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_DictionaryData_CityId",
                table: "Enterprise",
                column: "CityId",
                principalTable: "DictionaryData",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_DictionaryData_IndustryTypeId",
                table: "Enterprise",
                column: "IndustryTypeId",
                principalTable: "DictionaryData",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_DictionaryData_ProvinceId",
                table: "Enterprise",
                column: "ProvinceId",
                principalTable: "DictionaryData",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_EnterpriseAuth_EnterpriseAuthId",
                table: "Enterprise",
                column: "EnterpriseAuthId",
                principalTable: "EnterpriseAuth",
                principalColumn: "Id",
                onDelete: ReferentialAction.Cascade);
            migrationBuilder.AddForeignKey(
                name: "FK_UserInfo_DictionaryData_ProvinceId",
                table: "UserInfo",
                column: "ProvinceId",
                principalTable: "DictionaryData",
                principalColumn: "Id");
        }
        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_DictionaryData_CityId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_DictionaryData_IndustryTypeId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_DictionaryData_ProvinceId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_Enterprise_EnterpriseAuth_EnterpriseAuthId",
                table: "Enterprise");
            migrationBuilder.DropForeignKey(
                name: "FK_UserInfo_DictionaryData_ProvinceId",
                table: "UserInfo");
            migrationBuilder.DropTable(
                name: "EnterpriseAuth");
            migrationBuilder.DropIndex(
                name: "IX_UserInfo_ProvinceId",
                table: "UserInfo");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_CityId",
                table: "Enterprise");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_EnterpriseAuthId",
                table: "Enterprise");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_IndustryTypeId",
                table: "Enterprise");
            migrationBuilder.DropIndex(
                name: "IX_Enterprise_ProvinceId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "Img",
                table: "UserInfoPhoto");
            migrationBuilder.DropColumn(
                name: "BackImg",
                table: "UserInfoCredential");
            migrationBuilder.DropColumn(
                name: "Img",
                table: "UserInfoCredential");
            migrationBuilder.DropColumn(
                name: "Avatar",
                table: "UserInfo");
            migrationBuilder.DropColumn(
                name: "ProvinceId",
                table: "UserInfo");
            migrationBuilder.DropColumn(
                name: "BankCardImg",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "IdentityBackImg",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "IdentityImg",
                table: "UserAuth");
            migrationBuilder.DropColumn(
                name: "BankBranchName",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "BankName",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "CityId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ContactEmail",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ContactPhoneNumber",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "EnterpriseAuthId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "IndustryTypeId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "IsCheckedBankCard",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "MainBusiness",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "MergeSignCost",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "PayAccess",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "ProvinceId",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "RealVerifyCost",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "SignCost",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "SmsAccess",
                table: "Enterprise");
            migrationBuilder.DropColumn(
                name: "SmsCost",
                table: "Enterprise");
            migrationBuilder.AddColumn<Guid>(
                name: "ImgId",
                table: "UserInfoPhoto",
                type: "uniqueidentifier",
                nullable: false,
                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
                comment: "照片Id");
            migrationBuilder.AddColumn<Guid>(
                name: "BackImgId",
                table: "UserInfoCredential",
                type: "uniqueidentifier",
                nullable: true,
                comment: "证书反面照片Id");
            migrationBuilder.AddColumn<Guid>(
                name: "ImgId",
                table: "UserInfoCredential",
                type: "uniqueidentifier",
                nullable: false,
                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
                comment: "证书正面照片Id");
            migrationBuilder.AddColumn<Guid>(
                name: "AvatarId",
                table: "UserAuth",
                type: "uniqueidentifier",
                nullable: true,
                comment: "头像Id");
            migrationBuilder.AddColumn<Guid>(
                name: "BankCardImgId",
                table: "UserAuth",
                type: "uniqueidentifier",
                nullable: true,
                comment: "银行卡照片Id");
            migrationBuilder.AddColumn<Guid>(
                name: "IdentityBackImgId",
                table: "UserAuth",
                type: "uniqueidentifier",
                nullable: true,
                comment: "身份证国徽面Id");
            migrationBuilder.AddColumn<Guid>(
                name: "IdentityImgId",
                table: "UserAuth",
                type: "uniqueidentifier",
                nullable: true,
                comment: "身份证人像面Id");
            migrationBuilder.AddColumn<Guid>(
                name: "BankCardImgId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true,
                comment: "法人或经办人银行卡照片Id");
            migrationBuilder.AddColumn<string>(
                name: "ContactNumber",
                table: "Enterprise",
                type: "nvarchar(11)",
                maxLength: 11,
                nullable: true,
                comment: "联系电话");
            migrationBuilder.AddColumn<string>(
                name: "EnterpriseName",
                table: "Enterprise",
                type: "nvarchar(128)",
                maxLength: 128,
                nullable: false,
                defaultValue: "",
                comment: "企业全称");
            migrationBuilder.AddColumn<int>(
                name: "EnterpriseRealMethod",
                table: "Enterprise",
                type: "int",
                nullable: true,
                comment: "企业认证方式");
            migrationBuilder.AddColumn<string>(
                name: "Identity",
                table: "Enterprise",
                type: "nvarchar(18)",
                maxLength: 18,
                nullable: true,
                comment: "法人或经办人身份证号");
            migrationBuilder.AddColumn<Guid>(
                name: "IdentityBackImgId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true,
                comment: "法人或经办人身份证国徽面Id");
            migrationBuilder.AddColumn<Guid>(
                name: "IdentityImgId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true,
                comment: "法人或经办人身份证人像面Id");
            migrationBuilder.AddColumn<bool>(
                name: "IsReal",
                table: "Enterprise",
                type: "bit",
                nullable: false,
                defaultValue: false,
                comment: "是否实名");
            migrationBuilder.AddColumn<string>(
                name: "LegalPerson",
                table: "Enterprise",
                type: "nvarchar(32)",
                maxLength: 32,
                nullable: true,
                comment: "法人姓名");
            migrationBuilder.AddColumn<Guid>(
                name: "LicenseImageId",
                table: "Enterprise",
                type: "uniqueidentifier",
                nullable: true,
                comment: "营业执照照片Id");
            migrationBuilder.AddColumn<string>(
                name: "Name",
                table: "Enterprise",
                type: "nvarchar(32)",
                maxLength: 32,
                nullable: true,
                comment: "法人或经办人姓名");
            migrationBuilder.AddColumn<int>(
                name: "PersonalRealMethod",
                table: "Enterprise",
                type: "int",
                nullable: true,
                comment: "法人或经办人实名方式");
            migrationBuilder.AddColumn<string>(
                name: "PhoneNumber",
                table: "Enterprise",
                type: "nvarchar(11)",
                maxLength: 11,
                nullable: true,
                comment: "法人或经办人手机号");
            migrationBuilder.AddColumn<bool>(
                name: "Proxy",
                table: "Enterprise",
                type: "bit",
                nullable: true,
                comment: "是否委托经办人");
            migrationBuilder.AddColumn<string>(
                name: "ProxyPowerAttorneyUrl",
                table: "Enterprise",
                type: "nvarchar(max)",
                nullable: true,
                comment: "企业授权书");
            migrationBuilder.AddColumn<string>(
                name: "SocietyCreditCode",
                table: "Enterprise",
                type: "nvarchar(18)",
                maxLength: 18,
                nullable: false,
                defaultValue: "",
                comment: "统一社会信用代码");
            migrationBuilder.CreateTable(
                name: "FileStore",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    AbsolutePath = table.Column<string>(type: "nvarchar(max)", nullable: false, comment: "绝对路径"),
                    Access = table.Column<int>(type: "int", nullable: false, comment: "通道"),
                    ContentType = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false, comment: "内容类型"),
                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "创建操作人"),
                    Extension = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false, comment: "扩展名"),
                    FileType = table.Column<int>(type: "int", nullable: false, comment: "文件类型"),
                    Hash = table.Column<string>(type: "nvarchar(max)", nullable: false, comment: "哈希"),
                    ImageHeight = table.Column<int>(type: "int", nullable: true, comment: "高度(像素)"),
                    ImageWidth = table.Column<int>(type: "int", nullable: true, comment: "宽度(像素)"),
                    IsDeleted = table.Column<bool>(type: "bit", nullable: false, comment: "是否删除"),
                    Length = table.Column<long>(type: "bigint", nullable: false, comment: "文件大小(字节)"),
                    Name = table.Column<string>(type: "nvarchar(max)", nullable: false, comment: "名称"),
                    RelativePath = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "相对路径"),
                    Sort = table.Column<int>(type: "int", nullable: false, comment: "排序"),
                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "跟踪Id"),
                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "最后更新操作人")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_FileStore", x => x.Id);
                },
                comment: "文件存储");
            migrationBuilder.CreateTable(
                name: "FileVirtualPath",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    StoreId = table.Column<Guid>(type: "uniqueidentifier", nullable: false, comment: "文件存储Id"),
                    CreatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: false),
                    CreatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "创建操作人"),
                    IsDeleted = table.Column<bool>(type: "bit", nullable: false, comment: "是否删除"),
                    Name = table.Column<string>(type: "nvarchar(max)", nullable: false, comment: "名称"),
                    Sort = table.Column<int>(type: "int", nullable: false, comment: "排序"),
                    TraceId = table.Column<string>(type: "nvarchar(max)", nullable: true, comment: "跟踪Id"),
                    UpdatedTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
                    UpdatedUserInfoId = table.Column<Guid>(type: "uniqueidentifier", nullable: true, comment: "最后更新操作人"),
                    VirtualPath = table.Column<string>(type: "nvarchar(max)", nullable: false, comment: "虚拟路径")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_FileVirtualPath", x => x.Id);
                    table.ForeignKey(
                        name: "FK_FileVirtualPath_FileStore_StoreId",
                        column: x => x.StoreId,
                        principalTable: "FileStore",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                },
                comment: "文件虚拟路径");
            migrationBuilder.UpdateData(
                table: "UserAuth",
                keyColumn: "Id",
                keyValue: new Guid("11111111-1111-1111-1111-111111111111"),
                columns: new[] { "AvatarId", "BankCardImgId", "IdentityBackImgId", "IdentityImgId" },
                values: new object[] { null, null, null, null });
            migrationBuilder.CreateIndex(
                name: "IX_UserInfoPhoto_ImgId",
                table: "UserInfoPhoto",
                column: "ImgId");
            migrationBuilder.CreateIndex(
                name: "IX_UserInfoCredential_BackImgId",
                table: "UserInfoCredential",
                column: "BackImgId");
            migrationBuilder.CreateIndex(
                name: "IX_UserInfoCredential_ImgId",
                table: "UserInfoCredential",
                column: "ImgId");
            migrationBuilder.CreateIndex(
                name: "IX_UserAuth_AvatarId",
                table: "UserAuth",
                column: "AvatarId");
            migrationBuilder.CreateIndex(
                name: "IX_UserAuth_BankCardImgId",
                table: "UserAuth",
                column: "BankCardImgId");
            migrationBuilder.CreateIndex(
                name: "IX_UserAuth_IdentityBackImgId",
                table: "UserAuth",
                column: "IdentityBackImgId");
            migrationBuilder.CreateIndex(
                name: "IX_UserAuth_IdentityImgId",
                table: "UserAuth",
                column: "IdentityImgId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_IdentityBackImgId",
                table: "Enterprise",
                column: "IdentityBackImgId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_IdentityImgId",
                table: "Enterprise",
                column: "IdentityImgId");
            migrationBuilder.CreateIndex(
                name: "IX_Enterprise_LicenseImageId",
                table: "Enterprise",
                column: "LicenseImageId");
            migrationBuilder.CreateIndex(
                name: "IX_FileVirtualPath_StoreId",
                table: "FileVirtualPath",
                column: "StoreId");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_FileVirtualPath_IdentityBackImgId",
                table: "Enterprise",
                column: "IdentityBackImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_FileVirtualPath_IdentityImgId",
                table: "Enterprise",
                column: "IdentityImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_Enterprise_FileVirtualPath_LicenseImageId",
                table: "Enterprise",
                column: "LicenseImageId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserAuth_FileVirtualPath_AvatarId",
                table: "UserAuth",
                column: "AvatarId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserAuth_FileVirtualPath_BankCardImgId",
                table: "UserAuth",
                column: "BankCardImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserAuth_FileVirtualPath_IdentityBackImgId",
                table: "UserAuth",
                column: "IdentityBackImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserAuth_FileVirtualPath_IdentityImgId",
                table: "UserAuth",
                column: "IdentityImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserInfoCredential_FileVirtualPath_BackImgId",
                table: "UserInfoCredential",
                column: "BackImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id");
            migrationBuilder.AddForeignKey(
                name: "FK_UserInfoCredential_FileVirtualPath_ImgId",
                table: "UserInfoCredential",
                column: "ImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id",
                onDelete: ReferentialAction.Cascade);
            migrationBuilder.AddForeignKey(
                name: "FK_UserInfoPhoto_FileVirtualPath_ImgId",
                table: "UserInfoPhoto",
                column: "ImgId",
                principalTable: "FileVirtualPath",
                principalColumn: "Id",
                onDelete: ReferentialAction.Cascade);
        }
    }
}
FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
@@ -247,19 +247,26 @@
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("BankBranchName")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人或经办人银行卡号");
                    b.Property<Guid?>("BankCardImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人银行卡照片Id");
                    b.Property<string>("BankName")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("ContactNumber")
                    b.Property<Guid?>("CityId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("ContactEmail")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("ContactPhoneNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("联系电话");
                        .HasColumnType("nvarchar(11)");
                    b.Property<string>("Contacts")
                        .HasMaxLength(32)
@@ -273,77 +280,46 @@
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("EnterpriseName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("企业全称");
                    b.Property<Guid>("EnterpriseAuthId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<int?>("EnterpriseRealMethod")
                        .HasColumnType("int")
                        .HasComment("企业认证方式");
                    b.Property<Guid?>("IndustryTypeId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Identity")
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)")
                        .HasComment("法人或经办人身份证号");
                    b.Property<Guid?>("IdentityBackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人身份证国徽面Id");
                    b.Property<Guid?>("IdentityImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人身份证人像面Id");
                    b.Property<bool>("IsCheckedBankCard")
                        .HasColumnType("bit");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsReal")
                        .HasColumnType("bit")
                        .HasComment("是否实名");
                    b.Property<string>("MainBusiness")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("LegalPerson")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人姓名");
                    b.Property<decimal?>("MergeSignCost")
                        .HasColumnType("decimal(18,2)");
                    b.Property<Guid?>("LicenseImageId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("营业执照照片Id");
                    b.Property<int?>("PayAccess")
                        .HasColumnType("int");
                    b.Property<string>("Name")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人或经办人姓名");
                    b.Property<int?>("PersonalRealMethod")
                        .HasColumnType("int")
                        .HasComment("法人或经办人实名方式");
                    b.Property<string>("PhoneNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("法人或经办人手机号");
                    b.Property<bool?>("Proxy")
                        .HasColumnType("bit")
                        .HasComment("是否委托经办人");
                    b.Property<string>("ProxyPowerAttorneyUrl")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("企业授权书");
                    b.Property<Guid?>("ProvinceId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<int?>("RealAccess")
                        .HasColumnType("int")
                        .HasComment("实名通道");
                    b.Property<string>("SocietyCreditCode")
                        .IsRequired()
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)")
                        .HasComment("统一社会信用代码");
                    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<int>("Sort")
                        .HasColumnType("int")
@@ -362,11 +338,13 @@
                    b.HasKey("Id");
                    b.HasIndex("IdentityBackImgId");
                    b.HasIndex("CityId");
                    b.HasIndex("IdentityImgId");
                    b.HasIndex("EnterpriseAuthId");
                    b.HasIndex("LicenseImageId");
                    b.HasIndex("IndustryTypeId");
                    b.HasIndex("ProvinceId");
                    b.ToTable("Enterprise", t =>
                        {
@@ -374,73 +352,83 @@
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.FileStore", b =>
            modelBuilder.Entity("FlexJobApi.Core.EnterpriseAuth", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("AbsolutePath")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("绝对路径");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)");
                    b.Property<int>("Access")
                        .HasColumnType("int")
                        .HasComment("通道");
                    b.Property<string>("BankCardImg")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("ContentType")
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("EnterpriseName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("内容类型");
                        .HasColumnType("nvarchar(128)");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<int?>("EnterpriseRealMethod")
                        .HasColumnType("int");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Identity")
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)");
                    b.Property<string>("Extension")
                        .IsRequired()
                    b.Property<string>("IdentityBackImg")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("IdentityImg")
                        .HasColumnType("nvarchar(max)");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsReal")
                        .HasColumnType("bit");
                    b.Property<string>("LegalIdentity")
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)");
                    b.Property<string>("LegalPerson")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("扩展名");
                        .HasColumnType("nvarchar(32)");
                    b.Property<int>("FileType")
                        .HasColumnType("int")
                        .HasComment("文件类型");
                    b.Property<string>("Hash")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("哈希");
                    b.Property<int?>("ImageHeight")
                        .HasColumnType("int")
                        .HasComment("高度(像素)");
                    b.Property<int?>("ImageWidth")
                        .HasColumnType("int")
                        .HasComment("宽度(像素)");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<long>("Length")
                        .HasColumnType("bigint")
                        .HasComment("文件大小(字节)");
                    b.Property<string>("LicenseImage")
                        .HasColumnType("nvarchar(max)");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)");
                    b.Property<string>("RelativePath")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("相对路径");
                    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")
@@ -459,66 +447,7 @@
                    b.HasKey("Id");
                    b.ToTable("FileStore", t =>
                        {
                            t.HasComment("文件存储");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.FileVirtualPath", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("StoreId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("文件存储Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("VirtualPath")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("虚拟路径");
                    b.HasKey("Id");
                    b.HasIndex("StoreId");
                    b.ToTable("FileVirtualPath", t =>
                        {
                            t.HasComment("文件虚拟路径");
                        });
                    b.ToTable("EnterpriseAuth");
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
@@ -1202,18 +1131,14 @@
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("AvatarId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("头像Id");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("银行卡号");
                    b.Property<Guid?>("BankCardImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("银行卡照片Id");
                    b.Property<string>("BankCardImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("银行卡照片");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
@@ -1226,13 +1151,13 @@
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证号");
                    b.Property<Guid?>("IdentityBackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份证国徽面Id");
                    b.Property<string>("IdentityBackImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证国徽面");
                    b.Property<Guid?>("IdentityImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份证人像面Id");
                    b.Property<string>("IdentityImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证人像面");
                    b.Property<bool>("IsCheckPhoneNumber")
                        .HasColumnType("bit")
@@ -1288,14 +1213,6 @@
                    b.HasKey("Id");
                    b.HasIndex("AvatarId");
                    b.HasIndex("BankCardImgId");
                    b.HasIndex("IdentityBackImgId");
                    b.HasIndex("IdentityImgId");
                    b.ToTable("UserAuth", t =>
                        {
                            t.HasComment("用户");
@@ -1321,6 +1238,9 @@
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Avatar")
                        .HasColumnType("nvarchar(max)");
                    b.Property<Guid?>("CityId")
                        .HasColumnType("uniqueidentifier")
@@ -1364,6 +1284,9 @@
                    b.Property<Guid?>("PersonalIdentityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份Id");
                    b.Property<Guid?>("ProvinceId")
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
@@ -1422,6 +1345,8 @@
                    b.HasIndex("EnterpriseId");
                    b.HasIndex("PersonalIdentityId");
                    b.HasIndex("ProvinceId");
                    b.HasIndex("UserAuthId");
@@ -1514,9 +1439,9 @@
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("BackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书反面照片Id");
                    b.Property<string>("BackImg")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("证书反面照片");
                    b.Property<string>("Code")
                        .IsRequired()
@@ -1535,9 +1460,9 @@
                        .HasColumnType("datetime2")
                        .HasComment("结束日期");
                    b.Property<Guid>("ImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书正面照片Id");
                    b.Property<string>("Img")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("证书正面照片");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
@@ -1579,10 +1504,6 @@
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("BackImgId");
                    b.HasIndex("ImgId");
                    b.HasIndex("TypeId");
@@ -1711,9 +1632,9 @@
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("ImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("照片Id");
                    b.Property<string>("Img")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("照片");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
@@ -1739,8 +1660,6 @@
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("ImgId");
                    b.HasIndex("UserInfoId");
@@ -1838,34 +1757,31 @@
            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityBackImg")
                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
                        .WithMany()
                        .HasForeignKey("IdentityBackImgId");
                        .HasForeignKey("CityId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityImg")
                    b.HasOne("FlexJobApi.Core.EnterpriseAuth", "EnterpriseAuth")
                        .WithMany()
                        .HasForeignKey("IdentityImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "LicenseImage")
                        .WithMany()
                        .HasForeignKey("LicenseImageId");
                    b.Navigation("IdentityBackImg");
                    b.Navigation("IdentityImg");
                    b.Navigation("LicenseImage");
                });
            modelBuilder.Entity("FlexJobApi.Core.FileVirtualPath", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileStore", "Store")
                        .WithMany()
                        .HasForeignKey("StoreId")
                        .HasForeignKey("EnterpriseAuthId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Store");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "IndustryType")
                        .WithMany()
                        .HasForeignKey("IndustryTypeId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId");
                    b.Navigation("City");
                    b.Navigation("EnterpriseAuth");
                    b.Navigation("IndustryType");
                    b.Navigation("Province");
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
@@ -1989,33 +1905,6 @@
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Avatar")
                        .WithMany()
                        .HasForeignKey("AvatarId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "BankCardImg")
                        .WithMany()
                        .HasForeignKey("BankCardImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityBackImg")
                        .WithMany()
                        .HasForeignKey("IdentityBackImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityImg")
                        .WithMany()
                        .HasForeignKey("IdentityImgId");
                    b.Navigation("Avatar");
                    b.Navigation("BankCardImg");
                    b.Navigation("IdentityBackImg");
                    b.Navigation("IdentityImg");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
@@ -2034,6 +1923,10 @@
                        .WithMany()
                        .HasForeignKey("PersonalIdentityId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId");
                    b.HasOne("FlexJobApi.Core.UserAuth", "UserAuth")
                        .WithMany("UserInfos")
                        .HasForeignKey("UserAuthId")
@@ -2047,6 +1940,8 @@
                    b.Navigation("Enterprise");
                    b.Navigation("PersonalIdentity");
                    b.Navigation("Province");
                    b.Navigation("UserAuth");
                });
@@ -2064,16 +1959,6 @@
            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "BackImg")
                        .WithMany()
                        .HasForeignKey("BackImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Img")
                        .WithMany()
                        .HasForeignKey("ImgId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
                        .WithMany()
                        .HasForeignKey("TypeId");
@@ -2083,10 +1968,6 @@
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("BackImg");
                    b.Navigation("Img");
                    b.Navigation("Type");
@@ -2133,19 +2014,11 @@
            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Img")
                        .WithMany()
                        .HasForeignKey("ImgId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Img");
                    b.Navigation("UserInfo");
                });
FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs
@@ -33,7 +33,7 @@
                .Select(it => new
                {
                    it.Id,
                    it.UserAuth.Avatar,
                    it.Avatar,
                    it.UserAuth.Name,
                    it.UserAuth.UserName,
                    it.UserAuth.PhoneNumber,
FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
New file
@@ -0,0 +1,67 @@
using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using Furion.FriendlyException;
using Mapster;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.User.Application
{
    /// <summary>
    /// 获取当前登录用户菜单详情
    /// </summary>
    public class GetCurrentLogierMenuQueryHandler(
            IRepository<Menu> repMenu,
            IRepository<RoleMenu> repRoleMenu,
            IRepository<UserInfoRole> repUserInfoRole
        ) : IRequestHandler<GetCurrentLogierMenuQuery, GetMenuQueryResult>
    {
        private readonly IRepository<Menu> repMenu = repMenu;
        private readonly IRepository<RoleMenu> repRoleMenu = repRoleMenu;
        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
        /// <inheritdoc/>
        public async Task<GetMenuQueryResult> Handle(GetCurrentLogierMenuQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var model = await repMenu.AsQueryable().AsNoTracking()
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetMenuQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单");
            var items = await (from m in repMenu.AsQueryable().AsNoTracking()
                               join rm in repRoleMenu.AsQueryable().AsNoTracking() on m.Id equals rm.MenuId
                               join ur in repUserInfoRole.AsQueryable().AsNoTracking() on rm.RoleId equals ur.RoleId
                               where m.ParentId == request.Id && ur.UserInfoId == logier.UserInfoId && !m.IsDisabled
                               && (m.Type == EnumMenuType.Button || m.Type == EnumMenuType.Field)
                               select m).ProjectToType<GetMenuQueryResultItem>().ToListAsync(cancellationToken);
            model.Groups = items.GroupBy(it => it.Group ?? "default")
                .Select(it => new GetMenuQueryResultGroup
                {
                    Group = it.Key,
                    ButtonLocations = it
                        .Where(l => l.Type == EnumMenuType.Button)
                        .GroupBy(l => l.Location ?? "default")
                        .Select(l => new GetMenuQueryResultButtonLocation
                        {
                            Location = l.Key,
                            Buttons = l
                                .ToList()
                                .Adapt<List<GetMenuQueryResultButton>>()
                        })
                        .ToList(),
                    Fields = it
                        .Where(f => f.Type == EnumMenuType.Field)
                        .ToList()
                        .Adapt<List<GetMenuQueryResultField>>()
                })
                .ToList();
            return model;
        }
    }
}
FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
@@ -19,8 +19,11 @@
    public class EnterpriseCommandHandler(
            IRepository<Enterprise> rep,
            IRepository<UserInfo> repUserInfo
        )
        : IRequestHandler<SaveEnterpriseCommand, Guid>
        ) :
        IRequestHandler<SaveEnterpriseCommand, Guid>,
        IRequestHandler<SetEnterpriseElectronSignSettingCommand, Guid>,
        IRequestHandler<SetEnterpriseSmsSettingCommand, Guid>
    {
        private readonly IRepository<Enterprise> rep = rep;
        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
@@ -34,10 +37,12 @@
        public async Task<Guid> Handle(SaveEnterpriseCommand request, CancellationToken cancellationToken)
        {
            var entity = await rep.AsQueryable()
                .FirstOrDefaultAsync(it => it.SocietyCreditCode == request.SocietyCreditCode);
                .Include(it => it.EnterpriseAuth)
                .FirstOrDefaultAsync(it => it.EnterpriseAuth.SocietyCreditCode == request.EnterpriseAuth.SocietyCreditCode);
            if (entity == null)
            {
                entity = new Enterprise();
                entity.EnterpriseAuth = new EnterpriseAuth();
                request.Adapt(entity);
                await rep.InsertAsync(entity);
            }
@@ -77,5 +82,35 @@
            return entity.Id;
        }
        /// <summary>
        /// 设置企业电子签配置
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<Guid> Handle(SetEnterpriseElectronSignSettingCommand request, CancellationToken cancellationToken)
        {
            var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业");
            request.Adapt(entity);
            await rep.UpdateAsync(entity);
            return entity.Id;
        }
        /// <summary>
        /// 设置企业短信配置
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<Guid> Handle(SetEnterpriseSmsSettingCommand request, CancellationToken cancellationToken)
        {
            var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业");
            request.Adapt(entity);
            await rep.UpdateAsync(entity);
            return entity.Id;
        }
    }
}
FlexJobApi.User.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
@@ -28,13 +28,13 @@
                    if (request.Keywords.IsNotNull())
                    {
                        q = q.Where(it =>
                            it.EnterpriseName.Contains(request.Keywords)
                            || it.LegalPerson.Contains(request.Keywords)
                            it.EnterpriseAuth.EnterpriseName.Contains(request.Keywords)
                            || it.EnterpriseAuth.LegalPerson.Contains(request.Keywords)
                            || it.Contacts.Contains(request.Keywords));
                    }
                    if (request.IsConfigured.HasValue)
                    {
                        q = q.Where(it => (it.IsCheckedBankCard && it.RealAccess.HasValue && it.SmsAccess.HasValue) == request.IsConfigured);
                    }
                    return q;
                }, cancellationToken: cancellationToken);
FlexJobApi.User.Application/FlexJobApi.User.Application.xml
@@ -25,6 +25,19 @@
        <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>
            获取当前登录用户菜单
@@ -64,6 +77,22 @@
            <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>
            企业查询处理器