using Furion.DatabaseAccessor;
|
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel.DataAnnotations;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace FlexJobApi.Core
|
{
|
/// <summary>
|
/// 企业
|
/// </summary>
|
public class Enterprise : CommonEntity, IEntityTypeBuilder<Enterprise>
|
{
|
public Enterprise()
|
{
|
UserInfos = [];
|
Departments = [];
|
}
|
|
/// <summary>
|
/// 企业认证Id
|
/// </summary>
|
public Guid EnterpriseAuthId { get; set; }
|
|
/// <summary>
|
/// 企业认证
|
/// </summary>
|
public EnterpriseAuth EnterpriseAuth { get; set; }
|
|
/// <summary>
|
/// 所在省份编号
|
/// </summary>
|
public string ProvinceCode { get; set; }
|
|
/// <summary>
|
/// 所在省份
|
/// </summary>
|
public DictionaryData Province { get; set; }
|
|
/// <summary>
|
/// 所在城市编号
|
/// </summary>
|
public string CityCode { get; set; }
|
|
/// <summary>
|
/// 所在城市
|
/// </summary>
|
public DictionaryData City { get; set; }
|
|
/// <summary>
|
/// 所属行业编号
|
/// </summary>
|
public string IndustryTypeCode { get; set; }
|
|
/// <summary>
|
/// 所属行业
|
/// </summary>
|
public DictionaryData IndustryType { get; set; }
|
|
/// <summary>
|
/// 主营业务
|
/// </summary>
|
public string MainBusiness { get; set; }
|
|
/// <summary>
|
/// 联系人
|
/// </summary>
|
[MaxLength(32)]
|
public string Contacts { get; set; }
|
|
/// <summary>
|
/// 联系电话
|
/// </summary>
|
[MaxLength(11)]
|
public string ContactPhoneNumber { get; set; }
|
|
/// <summary>
|
/// 联系邮箱
|
/// </summary>
|
public string ContactEmail { get; set; }
|
|
/// <summary>
|
/// 支付通道
|
/// </summary>
|
public EnumPayAccess? PayAccess { get; set; }
|
|
/// <summary>
|
/// 开户总行
|
/// </summary>
|
public string BankName { get; set; }
|
|
/// <summary>
|
/// 开户支行
|
/// </summary>
|
public string BankBranchName { get; set; }
|
|
/// <summary>
|
/// 银行账户
|
/// </summary>
|
[MaxLength(32)]
|
public string BankCard { get; set; }
|
|
/// <summary>
|
/// 是否已校验银行账户
|
/// </summary>
|
public bool IsCheckedBankCard { 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; }
|
|
/// <summary>
|
/// 短信通道
|
/// </summary>
|
public EnumSmsAccess? SmsAccess { get; set; }
|
|
/// <summary>
|
/// 短信费用
|
/// </summary>
|
public decimal SmsCost { get; set; }
|
|
/// <summary>
|
/// 部门
|
/// </summary>
|
public List<Department> Departments { get; set; }
|
|
/// <summary>
|
/// 用户信息
|
/// </summary>
|
public List<UserInfo> UserInfos { get; set; }
|
|
public void Configure(EntityTypeBuilder<Enterprise> entityBuilder, DbContext dbContext, Type dbContextLocator)
|
{
|
entityBuilder
|
.HasOne(it => it.Province)
|
.WithMany()
|
.HasForeignKey(it => it.ProvinceCode)
|
.HasPrincipalKey(it => it.Code)
|
.OnDelete(DeleteBehavior.Restrict);
|
entityBuilder
|
.HasOne(it => it.City)
|
.WithMany()
|
.HasForeignKey(it => it.CityCode)
|
.HasPrincipalKey(it => it.Code)
|
.OnDelete(DeleteBehavior.Restrict);
|
entityBuilder
|
.HasOne(it => it.IndustryType)
|
.WithMany()
|
.HasForeignKey(it => it.IndustryTypeCode)
|
.HasPrincipalKey(it => it.Code)
|
.OnDelete(DeleteBehavior.Restrict);
|
}
|
}
|
}
|