sunpengfei
2025-08-12 2fe93fe5c23f983b406ce77e5ec0778b578314bb
FlexJobApi.Core/Entities/FlexJobServer/Tasks/TaskInfoUser.cs
@@ -1,4 +1,7 @@
using System;
using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -7,9 +10,9 @@
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务雇佣信息
    /// 任务人员信息
    /// </summary>
    public class TaskInfoUser : CommonEntity
    public class TaskInfoUser : CommonEntity, IEntityTypeBuilder<TaskInfoUser>
    {
        /// <summary>
        /// 任务Id
@@ -22,49 +25,14 @@
        public TaskInfo TaskInfo { get; set; }
        /// <summary>
        /// 用户信息Id
        /// 灵工Id
        /// </summary>
        public Guid UserId { get; set; }
        public Guid EnterpriseEmployeeId { get; set; }
        /// <summary>
        /// 用户信息
        /// 灵工
        /// </summary>
        public User User { get; set; }
        /// <summary>
        /// 录用状态
        /// </summary>
        public EnumTaskUserHireStatus HireStatus { get; set; }
        /// <summary>
        /// 录用时间
        /// </summary>
        public DateTime? HireTime { get; set; }
        /// <summary>
        /// 灵工签约状态
        /// </summary>
        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
        /// <summary>
        /// 灵工签约时间
        /// </summary>
        public DateTime? UserSignContractTime { get; set; }
        /// <summary>
        /// 企业签约状态
        /// </summary>
        public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
        /// <summary>
        /// 企业签约时间
        /// </summary>
        public DateTime? EnterpriseSignContractTime { get; set; }
        /// <summary>
        /// 电子合同
        /// </summary>
        public string ContractUrl { get; set; }
        public EnterpriseEmployee EnterpriseEmployee { get; set; }
        /// <summary>
        /// 安排状态
@@ -75,5 +43,25 @@
        /// 安排状态
        /// </summary>
        public DateTime? ArrangeTime { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        /// <summary>
        /// 验收时间
        /// </summary>
        public DateTime? CheckReceiveTime { get; set; }
        public void Configure(EntityTypeBuilder<TaskInfoUser> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
            entityBuilder
                .HasOne(it => it.EnterpriseEmployee)
                .WithMany(it => it.TaskInfoUsers)
                .HasForeignKey(it => it.EnterpriseEmployeeId)
                .IsRequired()
                .OnDelete(DeleteBehavior.Restrict);
        }
    }
}