From 6ad4db7d45eeaec5617f511010343258f245e5d4 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 28 八月 2025 17:09:02 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs | 5 FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.Designer.cs | 3082 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.cs | 38 FlexJobApi.Core/FlexJobApi.Core.xml | 5 FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs | 6 FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs | 4 FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs | 8 7 files changed, 3,144 insertions(+), 4 deletions(-) diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs index d852fa6..bf992ac 100644 --- a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs +++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs @@ -27,6 +27,11 @@ public Guid? ContractTemplateId { get; set; } /// <summary> + /// 鍚堝悓妯℃澘 + /// </summary> + public ContractTemplate ContractTemplate { get; set; } + + /// <summary> /// 鐏靛伐绛剧害鐘舵�� /// </summary> public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; } diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 9107865..ca3a01d 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -1845,6 +1845,11 @@ 鍚堝悓妯℃澘Id </summary> </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.ContractTemplate"> + <summary> + 鍚堝悓妯℃澘 + </summary> + </member> <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.UserSignContractStatus"> <summary> 鐏靛伐绛剧害鐘舵�� diff --git a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs index f6ce177..e5970de 100644 --- a/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs +++ b/FlexJobApi.Core/Utils/BaiduUtils/BaiduOcrUtils.cs @@ -42,7 +42,7 @@ } else { - var upload = AliyunOSSUtils.Upload(scene, url); + var upload = AliyunOSSUtils.Upload(scene, url, null); url = upload.Url; value = ocr.BusinessLicense(upload.Buffer); } @@ -86,7 +86,7 @@ } else { - var upload = AliyunOSSUtils.Upload(scene, url); + var upload = AliyunOSSUtils.Upload(scene, url, null); url = upload.Url; value = ocr.Idcard(upload.Buffer, "front"); } @@ -129,7 +129,7 @@ } else { - var upload = AliyunOSSUtils.Upload(scene, url); + var upload = AliyunOSSUtils.Upload(scene, url, null); url = upload.Url; value = ocr.Idcard(upload.Buffer, "back"); } diff --git a/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.Designer.cs b/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.Designer.cs new file mode 100644 index 0000000..2af987e --- /dev/null +++ b/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.Designer.cs @@ -0,0 +1,3082 @@ +锘�// <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("20250828074640_UpdateEnterpriseEmployee0828002")] + partial class UpdateEnterpriseEmployee0828002 + { + /// <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.ContractTemplate", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("Access") + .HasColumnType("int"); + + b.Property<string>("Code") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<DateTime?>("CompletedTime") + .HasColumnType("datetime2"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("ElectronSignContractTemplateId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("File") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<string>("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<int>("Status") + .HasColumnType("int"); + + b.Property<string>("TemplateEditData") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TemplateId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TemplateJsonData") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("WxmpQrCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseId"); + + b.ToTable("ContractTemplate"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ContractTemplateValue", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("BindProperty") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("Label") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Name") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Recorder") + .HasColumnType("int"); + + b.Property<bool>("Required") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TemplateId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Type") + .HasColumnType("int"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("UserType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("TemplateId"); + + b.ToTable("ContractTemplateValue"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Department", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<string>("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Path") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseId"); + + b.HasIndex("ParentId"); + + b.ToTable("Department"); + }); + + modelBuilder.Entity("FlexJobApi.Core.DictionaryCategory", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Code") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("FieldNames") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<string>("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("DictionaryCategory"); + }); + + modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("CategoryId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Code") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<string>("Content") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("Deep") + .HasColumnType("int"); + + b.Property<string>("Field1") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Field2") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Field3") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Field4") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Field5") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<Guid?>("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Path") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("CategoryId"); + + b.HasIndex("Code") + .IsUnique(); + + b.HasIndex("ParentId"); + + b.ToTable("DictionaryData"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ElectronSignSetting", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int>("Access") + .HasColumnType("int"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<decimal?>("MergeSignCost") + .HasColumnType("decimal(18,2)"); + + b.Property<decimal?>("RealVerifyCost") + .HasColumnType("decimal(18,2)"); + + b.Property<decimal?>("SignCost") + .HasColumnType("decimal(18,2)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("ElectronSignSetting"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Enterprise", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Address") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("BankBranchName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("BankCard") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("BankName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("CityCode") + .HasColumnType("nvarchar(128)"); + + b.Property<string>("ContactEmail") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ContactPhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<string>("Contacts") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("EnterpriseName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<string>("EnterpriseType") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("EstablishmentDate") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("IndustrialParkId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("IndustryTypeCode") + .HasColumnType("nvarchar(128)"); + + b.Property<bool>("IsCheckedBankCard") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsReal") + .HasColumnType("bit"); + + b.Property<string>("LegalIdentity") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property<string>("LegalPerson") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("LicenseImage") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("MainBusiness") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("PayAccess") + .HasColumnType("int"); + + b.Property<string>("ProvinceCode") + .HasColumnType("nvarchar(128)"); + + b.Property<int?>("RealAccess") + .HasColumnType("int"); + + b.Property<string>("RegisteredCapital") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("SmsAccess") + .HasColumnType("int"); + + b.Property<decimal>("SmsCost") + .HasColumnType("decimal(18,2)"); + + b.Property<string>("SocietyCreditCode") + .IsRequired() + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("CityCode"); + + b.HasIndex("IndustryTypeCode"); + + b.HasIndex("ProvinceCode"); + + b.ToTable("Enterprise"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseAuth", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("BankCard") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("BankCardImg") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("CertAccount") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("ElectronSignEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("EnterpriseName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<int?>("EnterpriseRealMethod") + .HasColumnType("int"); + + b.Property<string>("Identity") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property<string>("IdentityBackImg") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("IdentityImg") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("LegalIdentity") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property<string>("LegalPerson") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("LicenseImage") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Name") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<int?>("PersonalRealMethod") + .HasColumnType("int"); + + b.Property<string>("PhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<bool?>("Proxy") + .HasColumnType("bit"); + + b.Property<string>("ProxyPowerAttorneyUrl") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("SocietyCreditCode") + .IsRequired() + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("EnterpriseAuth"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseCost", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<decimal?>("Amount") + .HasColumnType("decimal(18,2)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("EnterpriseEmployeeContractId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<int?>("Status") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Type") + .HasColumnType("int"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseEmployeeContractId"); + + b.HasIndex("EnterpriseId"); + + b.ToTable("EnterpriseCost"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseElectronSignSetting", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("ElectronSignAccess") + .HasColumnType("int"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseId"); + + b.ToTable("EnterpriseElectronSignSetting"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployee", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("Age") + .HasColumnType("int"); + + b.Property<DateTime?>("Birthday") + .HasColumnType("datetime2"); + + b.Property<string>("ContactPhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<string>("ContractCode") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("ContractTemplateId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("ContractUrl") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("EnterpriseSignContractErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("EnterpriseSignContractStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("EnterpriseSignContractTime") + .HasColumnType("datetime2"); + + b.Property<int?>("Gender") + .HasColumnType("int"); + + b.Property<string>("Identity") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("IdentityBackImg") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("IdentityImg") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("Name") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("UserSignContractErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("UserSignContractStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("UserSignContractTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ContractTemplateId"); + + b.HasIndex("EnterpriseId"); + + b.HasIndex("UserId"); + + b.ToTable("EnterpriseEmployee"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployeeContract", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("ContractCode") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("ContractTemplateId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("ContractUrl") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseEmployeeId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("EnterpriseSignContractErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("EnterpriseSignContractStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("EnterpriseSignContractTime") + .HasColumnType("datetime2"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("UserSignContractErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("UserSignContractStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("UserSignContractTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ContractTemplateId"); + + b.HasIndex("EnterpriseEmployeeId"); + + b.ToTable("EnterpriseEmployeeContract"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseUserCollect", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<DateTime?>("CollectedTime") + .HasColumnType("datetime2"); + + b.Property<DateTime?>("ContactedTime") + .HasColumnType("datetime2"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsCollected") + .HasColumnType("bit"); + + b.Property<bool>("IsContacted") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseId"); + + b.HasIndex("UserId"); + + b.ToTable("EnterpriseUserCollect"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Menu", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int>("ClientType") + .HasColumnType("int"); + + b.Property<string>("Code") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Group") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Icon") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsCache") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<string>("Location") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<Guid?>("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Path") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Type") + .HasColumnType("int"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Url") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("UserType") + .HasColumnType("int"); + + b.Property<int>("VisitLevel") + .HasColumnType("int"); + + b.Property<string>("Width") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Resource", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("ActionName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ActionSummary") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("AllowAnonymous") + .HasColumnType("bit"); + + b.Property<string>("ApplicationName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Code") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ControllerName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ControllerSummary") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("DynamicAssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("FileUpload") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsExpired") + .HasColumnType("bit"); + + b.Property<int>("Method") + .HasColumnType("int"); + + b.Property<string>("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("RequestTypeFullName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("RequestTypeName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ResponseTypeFullName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ResponseTypeName") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Route") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("RouteArea") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ServiceName") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("Resource"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Role", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int>("ClientType") + .HasColumnType("int"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("DataPower") + .HasColumnType("int"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsDisabled") + .HasColumnType("bit"); + + b.Property<int>("MinLevel") + .HasColumnType("int"); + + b.Property<string>("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<string>("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("UserType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Role"); + }); + + modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<Guid>("MenuId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("RoleId"); + + b.ToTable("RoleMenu"); + }); + + modelBuilder.Entity("FlexJobApi.Core.RoleResource", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("DataPower") + .HasColumnType("int"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<Guid>("ResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ResourceId"); + + b.HasIndex("RoleId"); + + b.ToTable("RoleResource"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ScheduleJobDetail", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("AssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("Concurrent") + .HasColumnType("bit"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Description") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("GroupName") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IncludeAnnotations") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("JobId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("JobType") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("ScheduleJobDetail"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ScheduleJobTrigger", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Args") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("AssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Description") + .HasColumnType("nvarchar(max)"); + + b.Property<long>("ElapsedTime") + .HasColumnType("bigint"); + + b.Property<DateTime?>("EndTime") + .HasColumnType("datetime2"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("JobId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTime?>("LastRunTime") + .HasColumnType("datetime2"); + + b.Property<long>("MaxNumberOfErrors") + .HasColumnType("bigint"); + + b.Property<long>("MaxNumberOfRuns") + .HasColumnType("bigint"); + + b.Property<DateTime?>("NextRunTime") + .HasColumnType("datetime2"); + + b.Property<long>("NumRetries") + .HasColumnType("bigint"); + + b.Property<long>("NumberOfErrors") + .HasColumnType("bigint"); + + b.Property<long>("NumberOfRuns") + .HasColumnType("bigint"); + + b.Property<bool>("ResetOnlyOnce") + .HasColumnType("bit"); + + b.Property<string>("Result") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("RetryTimeout") + .HasColumnType("int"); + + b.Property<bool>("RunOnStart") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<bool>("StartNow") + .HasColumnType("bit"); + + b.Property<DateTime?>("StartTime") + .HasColumnType("datetime2"); + + b.Property<long>("Status") + .HasColumnType("bigint"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TriggerId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TriggerType") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("ScheduleJobTrigger"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("AddressDetail") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("AddressName") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("AgeMaxLimit") + .HasColumnType("int"); + + b.Property<int>("AgeMinLimit") + .HasColumnType("int"); + + b.Property<DateTime>("BeginTime") + .HasColumnType("datetime2"); + + b.Property<int>("BillingMethod") + .HasColumnType("int"); + + b.Property<int?>("CheckReceiveStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("CheckReceiveTime") + .HasColumnType("datetime2"); + + b.Property<string>("CityCode") + .HasColumnType("nvarchar(128)"); + + b.Property<string>("Code") + .HasColumnType("nvarchar(max)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTime>("EndTime") + .HasColumnType("datetime2"); + + b.Property<Guid>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("GenderLimit") + .HasColumnType("int"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<DateTime?>("LastCheckReceiveTime") + .HasColumnType("datetime2"); + + b.Property<DateTime?>("LastSubmitTime") + .HasColumnType("datetime2"); + + b.Property<decimal?>("Latitude") + .HasColumnType("decimal(18,6)"); + + b.Property<decimal?>("Longitude") + .HasColumnType("decimal(18,6)"); + + b.Property<string>("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<string>("ProvinceCode") + .HasColumnType("nvarchar(128)"); + + b.Property<int>("RecommendStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("RecommendTime") + .HasColumnType("datetime2"); + + b.Property<int>("ReleaseStatus") + .HasColumnType("int"); + + b.Property<decimal>("ServiceFee") + .HasColumnType("decimal(18,2)"); + + b.Property<int>("SettlementCycle") + .HasColumnType("int"); + + b.Property<int?>("SettlementStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("SettlementTime") + .HasColumnType("datetime2"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<int>("Status") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("CityCode"); + + b.HasIndex("EnterpriseId"); + + b.HasIndex("ProvinceCode"); + + b.ToTable("TaskInfo"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("BenefitCode") + .IsRequired() + .HasColumnType("nvarchar(128)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TaskInfoId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("BenefitCode"); + + b.HasIndex("TaskInfoId"); + + b.ToTable("TaskInfoBenefit"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TaskInfoId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TypeCode") + .IsRequired() + .HasColumnType("nvarchar(128)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("TaskInfoId"); + + b.HasIndex("TypeCode"); + + b.ToTable("TaskInfoCredentialLimit"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("ArrangeStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("ArrangeTime") + .HasColumnType("datetime2"); + + b.Property<int?>("CheckReceiveStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("CheckReceiveTime") + .HasColumnType("datetime2"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("EnterpriseEmployeeId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("HireStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("HireTime") + .HasColumnType("datetime2"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<DateTime?>("LastCheckReceiveTime") + .HasColumnType("datetime2"); + + b.Property<DateTime?>("LastSubmitTime") + .HasColumnType("datetime2"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TaskInfoId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("EnterpriseEmployeeId"); + + b.HasIndex("TaskInfoId"); + + b.ToTable("TaskInfoUser"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUserSubmit", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int>("CheckReceiveStatus") + .HasColumnType("int"); + + b.Property<DateTime?>("CheckReceiveTime") + .HasColumnType("datetime2"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTime>("Date") + .HasColumnType("datetime2"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TaskInfoUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("TaskInfoUserId"); + + b.ToTable("TaskInfoUserSubmit"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUserSubmitFile", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("File") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("SubmitId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SubmitId"); + + b.ToTable("TaskInfoUserSubmitFile"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskUserCollect", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<Guid>("TaskInfoId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("TaskInfoId"); + + b.HasIndex("UserId"); + + b.ToTable("TaskUserCollect"); + }); + + modelBuilder.Entity("FlexJobApi.Core.User", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("Age") + .HasColumnType("int"); + + b.Property<string>("Avatar") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTime?>("Birthday") + .HasColumnType("datetime2"); + + b.Property<string>("CityCode") + .HasColumnType("nvarchar(128)"); + + b.Property<string>("ContactPhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("DataSource") + .HasColumnType("int"); + + b.Property<Guid?>("DataSourceId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("EducationalBackgroundCode") + .HasColumnType("nvarchar(128)"); + + b.Property<Guid?>("EnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("FreeTime") + .HasColumnType("int"); + + b.Property<int?>("Gender") + .HasColumnType("int"); + + b.Property<int?>("Height") + .HasColumnType("int"); + + b.Property<string>("Identity") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsCheckPhoneNumber") + .HasColumnType("bit"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsReal") + .HasColumnType("bit"); + + b.Property<int?>("JobSeekingStatus") + .HasColumnType("int"); + + b.Property<int>("Level") + .HasColumnType("int"); + + b.Property<string>("Name") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("Password") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("PersonalIdentityCode") + .HasColumnType("nvarchar(128)"); + + b.Property<string>("PhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<string>("ProvinceCode") + .HasColumnType("nvarchar(128)"); + + b.Property<int?>("RealMethod") + .HasColumnType("int"); + + b.Property<DateTime?>("RealTime") + .HasColumnType("datetime2"); + + b.Property<string>("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<int>("Status") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Type") + .HasColumnType("int"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("UserName") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<int?>("Weight") + .HasColumnType("int"); + + b.Property<string>("WorkExperience") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("WorkSeniority") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("WxmpOpenId") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.HasKey("Id"); + + b.HasIndex("CityCode"); + + b.HasIndex("EducationalBackgroundCode"); + + b.HasIndex("EnterpriseId"); + + b.HasIndex("PersonalIdentityCode"); + + b.HasIndex("ProvinceCode"); + + b.ToTable("User"); + + b.HasData( + new + { + Id = new Guid("11111111-1111-1111-1111-111111111111"), + CreatedTime = new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)), + IsCheckPhoneNumber = false, + IsDeleted = false, + IsReal = false, + Level = 999, + Name = "绠$悊鍛�", + Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=", + Sort = 0, + Status = 10, + Type = 100, + UserName = "system" + }); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserAuth", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<int?>("Age") + .HasColumnType("int"); + + b.Property<string>("BankCard") + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("BankCardImg") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTime?>("Birthday") + .HasColumnType("datetime2"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("ElectronSignUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("FaceRealUrl") + .HasColumnType("nvarchar(max)"); + + b.Property<int?>("Gender") + .HasColumnType("int"); + + b.Property<string>("Identity") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("IdentityBackImg") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("IdentityImg") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("Name") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<string>("PhoneNumber") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<int?>("RealAccess") + .HasColumnType("int"); + + b.Property<string>("RealFailMessage") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("RealStatus") + .HasColumnType("int"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("UserAuth"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserBankCard", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Bank") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<string>("Code") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("nvarchar(32)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<string>("PhoneNumber") + .IsRequired() + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("UserBankCard"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserCredential", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<string>("BackImg") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("Code") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTime?>("EndDate") + .HasColumnType("datetime2"); + + b.Property<string>("Img") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<bool>("IsForever") + .HasColumnType("bit"); + + b.Property<string>("IssueUnit") + .HasColumnType("nvarchar(max)"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<DateTime?>("StartDate") + .HasColumnType("datetime2"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<string>("TypeCode") + .IsRequired() + .HasColumnType("nvarchar(128)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("TypeCode"); + + b.HasIndex("UserId"); + + b.ToTable("UserCredential"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserDepartment", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("DepartmentId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("DepartmentId"); + + b.HasIndex("UserId"); + + b.ToTable("UserDepartment"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserExpectJob", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("ExpectJobCode") + .IsRequired() + .HasColumnType("nvarchar(128)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ExpectJobCode"); + + b.HasIndex("UserId"); + + b.ToTable("UserExpectJob"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserManageIndustrialPark", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("IndustrialParkId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("UserManageIndustrialPark"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserPhoto", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<string>("Img") + .HasColumnType("nvarchar(max)"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("UserPhoto"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserRole", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property<Guid?>("CreatedEnterpriseId") + .HasColumnType("uniqueidentifier"); + + b.Property<DateTimeOffset>("CreatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("CreatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<bool>("IsDeleted") + .HasColumnType("bit"); + + b.Property<Guid>("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.Property<string>("TraceId") + .HasColumnType("nvarchar(max)"); + + b.Property<DateTimeOffset?>("UpdatedTime") + .HasColumnType("datetimeoffset"); + + b.Property<Guid?>("UpdatedUserId") + .HasColumnType("uniqueidentifier"); + + b.Property<Guid>("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("UserRole"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ContractTemplate", b => + { + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany("ContractTemplates") + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Enterprise"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ContractTemplateValue", b => + { + b.HasOne("FlexJobApi.Core.ContractTemplate", "Template") + .WithMany("Values") + .HasForeignKey("TemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Template"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Department", b => + { + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany("Departments") + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.Department", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Enterprise"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b => + { + b.HasOne("FlexJobApi.Core.DictionaryCategory", "Category") + .WithMany() + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.DictionaryData", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Category"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Enterprise", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "City") + .WithMany() + .HasForeignKey("CityCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.DictionaryData", "IndustryType") + .WithMany() + .HasForeignKey("IndustryTypeCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.DictionaryData", "Province") + .WithMany() + .HasForeignKey("ProvinceCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("City"); + + b.Navigation("IndustryType"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseAuth", b => + { + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithOne("EnterpriseAuth") + .HasForeignKey("FlexJobApi.Core.EnterpriseAuth", "Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Enterprise"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseCost", b => + { + b.HasOne("FlexJobApi.Core.EnterpriseEmployeeContract", "EnterpriseEmployeeContract") + .WithMany() + .HasForeignKey("EnterpriseEmployeeContractId"); + + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany() + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Enterprise"); + + b.Navigation("EnterpriseEmployeeContract"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseElectronSignSetting", b => + { + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany("ElectronSignSettings") + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Enterprise"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployee", b => + { + b.HasOne("FlexJobApi.Core.ContractTemplate", "ContractTemplate") + .WithMany() + .HasForeignKey("ContractTemplateId"); + + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany() + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("EnterpriseEmployees") + .HasForeignKey("UserId"); + + b.Navigation("ContractTemplate"); + + b.Navigation("Enterprise"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployeeContract", b => + { + b.HasOne("FlexJobApi.Core.ContractTemplate", "ContractTemplate") + .WithMany() + .HasForeignKey("ContractTemplateId"); + + b.HasOne("FlexJobApi.Core.EnterpriseEmployee", "EnterpriseEmployee") + .WithMany("Contracts") + .HasForeignKey("EnterpriseEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ContractTemplate"); + + b.Navigation("EnterpriseEmployee"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseUserCollect", b => + { + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany() + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("EnterpriseUserCollects") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Enterprise"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Menu", b => + { + b.HasOne("FlexJobApi.Core.Menu", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b => + { + b.HasOne("FlexJobApi.Core.Menu", "Menu") + .WithMany() + .HasForeignKey("MenuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.Role", "Role") + .WithMany("RoleMenus") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Menu"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("FlexJobApi.Core.RoleResource", b => + { + b.HasOne("FlexJobApi.Core.Resource", "Resource") + .WithMany() + .HasForeignKey("ResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.Role", "Role") + .WithMany("RoleResources") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Resource"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "City") + .WithMany() + .HasForeignKey("CityCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany() + .HasForeignKey("EnterpriseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.DictionaryData", "Province") + .WithMany() + .HasForeignKey("ProvinceCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("City"); + + b.Navigation("Enterprise"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "Benefit") + .WithMany() + .HasForeignKey("BenefitCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo") + .WithMany("Benefits") + .HasForeignKey("TaskInfoId") + .OnDelete(DeleteBehavior.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("TypeCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("TaskInfo"); + + b.Navigation("Type"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b => + { + b.HasOne("FlexJobApi.Core.EnterpriseEmployee", "EnterpriseEmployee") + .WithMany("TaskInfoUsers") + .HasForeignKey("EnterpriseEmployeeId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo") + .WithMany("TaskInfoUsers") + .HasForeignKey("TaskInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EnterpriseEmployee"); + + b.Navigation("TaskInfo"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUserSubmit", b => + { + b.HasOne("FlexJobApi.Core.TaskInfoUser", "TaskInfoUser") + .WithMany("Submits") + .HasForeignKey("TaskInfoUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaskInfoUser"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUserSubmitFile", b => + { + b.HasOne("FlexJobApi.Core.TaskInfoUserSubmit", "Submit") + .WithMany("Files") + .HasForeignKey("SubmitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Submit"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskUserCollect", b => + { + b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo") + .WithMany("TaskUserCollects") + .HasForeignKey("TaskInfoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaskInfo"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.User", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "City") + .WithMany() + .HasForeignKey("CityCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.DictionaryData", "EducationalBackground") + .WithMany() + .HasForeignKey("EducationalBackgroundCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise") + .WithMany("Users") + .HasForeignKey("EnterpriseId"); + + b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity") + .WithMany() + .HasForeignKey("PersonalIdentityCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("FlexJobApi.Core.DictionaryData", "Province") + .WithMany() + .HasForeignKey("ProvinceCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("City"); + + b.Navigation("EducationalBackground"); + + b.Navigation("Enterprise"); + + b.Navigation("PersonalIdentity"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserAuth", b => + { + b.HasOne("FlexJobApi.Core.User", "User") + .WithOne("UserAuth") + .HasForeignKey("FlexJobApi.Core.UserAuth", "Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserBankCard", b => + { + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("BankCards") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserCredential", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "Type") + .WithMany() + .HasForeignKey("TypeCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("UserCredentials") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Type"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserDepartment", b => + { + b.HasOne("FlexJobApi.Core.Department", "Department") + .WithMany() + .HasForeignKey("DepartmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("UserDepartments") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Department"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserExpectJob", b => + { + b.HasOne("FlexJobApi.Core.DictionaryData", "ExpectJob") + .WithMany() + .HasForeignKey("ExpectJobCode") + .HasPrincipalKey("Code") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("UserExpectJobs") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExpectJob"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserManageIndustrialPark", b => + { + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("UserManageIndustrialParks") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserPhoto", b => + { + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("Photos") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.UserRole", b => + { + b.HasOne("FlexJobApi.Core.Role", "Role") + .WithMany("UserRoles") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlexJobApi.Core.User", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("FlexJobApi.Core.ContractTemplate", b => + { + b.Navigation("Values"); + }); + + 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("ContractTemplates"); + + b.Navigation("Departments"); + + b.Navigation("ElectronSignSettings"); + + b.Navigation("EnterpriseAuth"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployee", b => + { + b.Navigation("Contracts"); + + b.Navigation("TaskInfoUsers"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Menu", b => + { + b.Navigation("Children"); + }); + + modelBuilder.Entity("FlexJobApi.Core.Role", b => + { + b.Navigation("RoleMenus"); + + b.Navigation("RoleResources"); + + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b => + { + b.Navigation("Benefits"); + + b.Navigation("CredentialLimits"); + + b.Navigation("TaskInfoUsers"); + + b.Navigation("TaskUserCollects"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b => + { + b.Navigation("Submits"); + }); + + modelBuilder.Entity("FlexJobApi.Core.TaskInfoUserSubmit", b => + { + b.Navigation("Files"); + }); + + modelBuilder.Entity("FlexJobApi.Core.User", b => + { + b.Navigation("BankCards"); + + b.Navigation("EnterpriseEmployees"); + + b.Navigation("EnterpriseUserCollects"); + + b.Navigation("Photos"); + + b.Navigation("UserAuth"); + + b.Navigation("UserCredentials"); + + b.Navigation("UserDepartments"); + + b.Navigation("UserExpectJobs"); + + b.Navigation("UserManageIndustrialParks"); + + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.cs b/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.cs new file mode 100644 index 0000000..cc74dc8 --- /dev/null +++ b/FlexJobApi.Database.Migrations/Migrations/20250828074640_UpdateEnterpriseEmployee0828002.cs @@ -0,0 +1,38 @@ +锘縰sing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace FlexJobApi.Database.Migrations.Migrations +{ + /// <inheritdoc /> + public partial class UpdateEnterpriseEmployee0828002 : Migration + { + /// <inheritdoc /> + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateIndex( + name: "IX_EnterpriseEmployeeContract_ContractTemplateId", + table: "EnterpriseEmployeeContract", + column: "ContractTemplateId"); + + migrationBuilder.AddForeignKey( + name: "FK_EnterpriseEmployeeContract_ContractTemplate_ContractTemplateId", + table: "EnterpriseEmployeeContract", + column: "ContractTemplateId", + principalTable: "ContractTemplate", + principalColumn: "Id"); + } + + /// <inheritdoc /> + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_EnterpriseEmployeeContract_ContractTemplate_ContractTemplateId", + table: "EnterpriseEmployeeContract"); + + migrationBuilder.DropIndex( + name: "IX_EnterpriseEmployeeContract_ContractTemplateId", + table: "EnterpriseEmployeeContract"); + } + } +} diff --git a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs index 9dc0207..af52ad2 100644 --- a/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs +++ b/FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs @@ -888,6 +888,8 @@ b.HasKey("Id"); + b.HasIndex("ContractTemplateId"); + b.HasIndex("EnterpriseEmployeeId"); b.ToTable("EnterpriseEmployeeContract"); @@ -2608,12 +2610,18 @@ modelBuilder.Entity("FlexJobApi.Core.EnterpriseEmployeeContract", b => { + b.HasOne("FlexJobApi.Core.ContractTemplate", "ContractTemplate") + .WithMany() + .HasForeignKey("ContractTemplateId"); + b.HasOne("FlexJobApi.Core.EnterpriseEmployee", "EnterpriseEmployee") .WithMany("Contracts") .HasForeignKey("EnterpriseEmployeeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); + b.Navigation("ContractTemplate"); + b.Navigation("EnterpriseEmployee"); }); diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs index 45598b9..a690174 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs @@ -60,6 +60,7 @@ var data = ((JObject)request.Data).ToObject<ElectronSignCallbackCommandContractSignModel>()!; var contractId = data.OutContractId.ToGuid("鏃犳晥鐨勫悎鍚孖d")!.Value; var contract = await repEnterpriseEmployeeContract.AsQueryable() + .Include(it=>it.ContractTemplate) .Where(it => it.Id == contractId) .FirstOrDefaultAsync(); if (contract == null) throw Oops.Oh(EnumErrorCodeType.s404, "鍚堝悓"); @@ -84,6 +85,7 @@ { contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; contract.UserSignContractTime = DateTime.Now; + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; } else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) { @@ -124,7 +126,7 @@ { contract.EnterpriseSignContractTime = DateTime.Now; } - contract.ContractUrl = data.ContactUrl; + contract.ContractUrl = AliyunOSSUtils.Upload("Contact", data.ContactUrl, $"{contract.ContractTemplate.Name}.pdf").Url; } await repEnterpriseEmployeeContract.UpdateAsync(contract); -- Gitblit v1.9.1