- 删除无数据库表的实体: UserDetail, UserAddress, PaymentOrder, Admin, AdminLoginLog, AdminOperationLog, Picture, Delivery - 删除关联服务: AddressService, PaymentService, PaymentOrderService, PaymentRewardDispatcher, DefaultPaymentRewardHandler - 删除关联接口: IAddressService, IPaymentService, IPaymentOrderService, IPaymentRewardHandler, IPaymentRewardDispatcher - 删除关联控制器: AddressController - 删除关联DTO: AddressModels, CreatePaymentOrderRequest, PaymentOrderDto, PaymentOrderQueryRequest - 删除关联测试: PaymentOrderServicePropertyTests, PaymentRewardDispatcherPropertyTests - 修复实体字段映射: User, UserLoginLog, UserRefreshToken, Config, OrderNotify - 更新 NotifyController 移除 IPaymentOrderService 依赖 - 更新 ServiceModule 移除已删除服务的DI注册 - 更新 MiAssessmentDbContext 移除已删除实体的DbSet和OnModelCreating配置
998 lines
42 KiB
C#
998 lines
42 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using MiAssessment.Model.Entities;
|
||
using Microsoft.EntityFrameworkCore;
|
||
|
||
namespace MiAssessment.Model.Data;
|
||
|
||
public partial class MiAssessmentDbContext : DbContext
|
||
{
|
||
public MiAssessmentDbContext()
|
||
{
|
||
}
|
||
|
||
public MiAssessmentDbContext(DbContextOptions<MiAssessmentDbContext> options)
|
||
: base(options)
|
||
{
|
||
}
|
||
|
||
// ==================== 用户基础表 ====================
|
||
public virtual DbSet<User> Users { get; set; }
|
||
|
||
public virtual DbSet<UserRefreshToken> UserRefreshTokens { get; set; }
|
||
|
||
public virtual DbSet<UserLoginLog> UserLoginLogs { get; set; }
|
||
|
||
// ==================== 系统基础表 ====================
|
||
public virtual DbSet<Config> Configs { get; set; }
|
||
|
||
public virtual DbSet<OrderNotify> OrderNotifies { get; set; }
|
||
|
||
// ==================== 小程序业务表 ====================
|
||
public virtual DbSet<Banner> Banners { get; set; }
|
||
|
||
public virtual DbSet<Promotion> Promotions { get; set; }
|
||
|
||
public virtual DbSet<BusinessPage> BusinessPages { get; set; }
|
||
|
||
public virtual DbSet<Planner> Planners { get; set; }
|
||
|
||
public virtual DbSet<PlannerBooking> PlannerBookings { get; set; }
|
||
|
||
public virtual DbSet<InviteCode> InviteCodes { get; set; }
|
||
|
||
public virtual DbSet<Commission> Commissions { get; set; }
|
||
|
||
public virtual DbSet<Withdrawal> Withdrawals { get; set; }
|
||
|
||
public virtual DbSet<AssessmentType> AssessmentTypes { get; set; }
|
||
|
||
public virtual DbSet<Question> Questions { get; set; }
|
||
|
||
public virtual DbSet<AssessmentRecord> AssessmentRecords { get; set; }
|
||
|
||
public virtual DbSet<AssessmentAnswer> AssessmentAnswers { get; set; }
|
||
|
||
public virtual DbSet<AssessmentResult> AssessmentResults { get; set; }
|
||
|
||
public virtual DbSet<ReportCategory> ReportCategories { get; set; }
|
||
|
||
public virtual DbSet<Order> Orders { get; set; }
|
||
|
||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||
{
|
||
// Connection string is configured in Program.cs via dependency injection
|
||
// Do not configure here when using DI
|
||
}
|
||
|
||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||
{
|
||
modelBuilder.UseCollation("Chinese_PRC_CI_AS");
|
||
|
||
// ==================== 用户基础表配置 ====================
|
||
modelBuilder.Entity<User>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_users");
|
||
|
||
entity.ToTable("users", tb => tb.HasComment("用户主表,存储用户基本信息"));
|
||
|
||
entity.HasIndex(e => e.CreateTime, "ix_users_created_at");
|
||
entity.HasIndex(e => e.Phone, "ix_users_mobile").HasFilter("([Phone] IS NOT NULL)");
|
||
entity.HasIndex(e => e.OpenId, "ix_users_open_id");
|
||
entity.HasIndex(e => e.ParentUserId, "ix_users_pid");
|
||
entity.HasIndex(e => e.Status, "ix_users_status");
|
||
entity.HasIndex(e => e.Uid, "uk_users_uid").IsUnique();
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Uid)
|
||
.HasMaxLength(6)
|
||
.HasComment("用户唯一标识");
|
||
entity.Property(e => e.OpenId)
|
||
.HasMaxLength(64)
|
||
.HasComment("微信openid");
|
||
entity.Property(e => e.UnionId)
|
||
.HasMaxLength(64)
|
||
.HasComment("微信unionid");
|
||
entity.Property(e => e.GzhOpenId)
|
||
.HasMaxLength(64)
|
||
.HasComment("公众号openid");
|
||
entity.Property(e => e.Phone)
|
||
.HasMaxLength(20)
|
||
.HasComment("手机号");
|
||
entity.Property(e => e.Nickname)
|
||
.HasMaxLength(50)
|
||
.HasComment("昵称");
|
||
entity.Property(e => e.Avatar)
|
||
.HasMaxLength(500)
|
||
.HasComment("头像URL");
|
||
entity.Property(e => e.UserLevel)
|
||
.HasDefaultValue(1)
|
||
.HasComment("用户等级:1普通用户 2合伙人 3渠道合伙人");
|
||
entity.Property(e => e.ParentUserId)
|
||
.HasComment("推荐人用户ID");
|
||
entity.Property(e => e.InviteCode)
|
||
.HasMaxLength(10)
|
||
.HasComment("用户专属邀请码");
|
||
entity.Property(e => e.Balance)
|
||
.HasDefaultValue(0m)
|
||
.HasComment("可提现余额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.TotalIncome)
|
||
.HasDefaultValue(0m)
|
||
.HasComment("累计收益")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.WithdrawnAmount)
|
||
.HasDefaultValue(0m)
|
||
.HasComment("已提现金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态: 1正常 0禁用");
|
||
entity.Property(e => e.IsTest)
|
||
.HasComment("是否测试账号: 0否 1是");
|
||
entity.Property(e => e.LastLoginTime)
|
||
.HasComment("最后登录时间");
|
||
entity.Property(e => e.LastLoginIp)
|
||
.HasMaxLength(50)
|
||
.HasComment("最后登录IP");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<UserRefreshToken>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_user_refresh_tokens");
|
||
|
||
entity.ToTable("user_refresh_tokens", tb => tb.HasComment("用户刷新令牌表,存储 Refresh Token 信息用于双 Token 认证机制"));
|
||
|
||
entity.HasIndex(e => e.UserId, "ix_user_refresh_tokens_user_id");
|
||
entity.HasIndex(e => e.TokenHash, "ix_user_refresh_tokens_token_hash");
|
||
entity.HasIndex(e => e.ExpiresAt, "ix_user_refresh_tokens_expires_at");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.TokenHash)
|
||
.HasMaxLength(256)
|
||
.HasComment("Token 哈希值(SHA256)");
|
||
entity.Property(e => e.ExpiresAt)
|
||
.HasComment("过期时间");
|
||
entity.Property(e => e.CreatedAt)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.CreatedByIp)
|
||
.HasMaxLength(50)
|
||
.HasComment("创建时的 IP 地址");
|
||
entity.Property(e => e.RevokedAt)
|
||
.HasComment("撤销时间");
|
||
entity.Property(e => e.RevokedByIp)
|
||
.HasMaxLength(50)
|
||
.HasComment("撤销时的 IP 地址");
|
||
entity.Property(e => e.ReplacedByToken)
|
||
.HasMaxLength(256)
|
||
.HasComment("被替换的新 Token 哈希值");
|
||
|
||
entity.HasOne(e => e.User)
|
||
.WithMany()
|
||
.HasForeignKey(e => e.UserId)
|
||
.OnDelete(DeleteBehavior.Cascade)
|
||
.HasConstraintName("fk_user_refresh_tokens_users");
|
||
});
|
||
|
||
modelBuilder.Entity<UserLoginLog>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_user_login_logs");
|
||
|
||
entity.ToTable("user_login_logs", tb => tb.HasComment("用户登录日志表,记录用户每次登录信息"));
|
||
|
||
entity.HasIndex(e => e.UserId, "ix_user_login_logs_user_id");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.LoginType)
|
||
.HasMaxLength(20)
|
||
.HasComment("登录类型");
|
||
entity.Property(e => e.LoginIp)
|
||
.HasMaxLength(50)
|
||
.HasComment("登录IP");
|
||
entity.Property(e => e.UserAgent)
|
||
.HasMaxLength(500)
|
||
.HasComment("用户代理");
|
||
entity.Property(e => e.Platform)
|
||
.HasMaxLength(20)
|
||
.HasComment("平台");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1成功 0失败");
|
||
entity.Property(e => e.FailReason)
|
||
.HasMaxLength(200)
|
||
.HasComment("失败原因");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
});
|
||
|
||
// ==================== 系统基础表配置 ====================
|
||
modelBuilder.Entity<Config>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_configs");
|
||
|
||
entity.ToTable("configs", tb => tb.HasComment("业务配置表,存储业务相关配置信息"));
|
||
|
||
entity.HasIndex(e => e.ConfigKey, "ix_configs_key");
|
||
|
||
entity.HasIndex(e => e.ConfigKey, "uk_configs_key").IsUnique();
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.ConfigKey)
|
||
.HasMaxLength(100)
|
||
.HasComment("配置键名");
|
||
entity.Property(e => e.ConfigValue)
|
||
.HasComment("配置值(JSON格式)");
|
||
entity.Property(e => e.ConfigType)
|
||
.HasMaxLength(50)
|
||
.HasComment("配置类型");
|
||
entity.Property(e => e.Description)
|
||
.HasMaxLength(500)
|
||
.HasComment("描述");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<OrderNotify>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_order_notifies");
|
||
|
||
entity.ToTable("order_notifies", tb => tb.HasComment("支付通知记录表,记录微信支付回调通知"));
|
||
|
||
entity.HasIndex(e => e.OrderNo, "ix_order_notifies_order_no");
|
||
|
||
entity.HasIndex(e => e.TransactionId, "ix_order_notifies_transaction_id");
|
||
|
||
entity.HasIndex(e => e.Status, "ix_order_notifies_status");
|
||
|
||
entity.HasIndex(e => e.CreateTime, "ix_order_notifies_created_at");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.OrderNo)
|
||
.HasMaxLength(64)
|
||
.HasComment("商户订单号");
|
||
entity.Property(e => e.TransactionId)
|
||
.HasMaxLength(64)
|
||
.HasComment("微信支付订单号");
|
||
entity.Property(e => e.NotifyUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("回调通知URL");
|
||
entity.Property(e => e.NonceStr)
|
||
.HasMaxLength(64)
|
||
.HasComment("随机字符串");
|
||
entity.Property(e => e.PayTime)
|
||
.HasComment("支付时间");
|
||
entity.Property(e => e.PayAmount)
|
||
.HasComment("支付金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(0)
|
||
.HasComment("处理状态:0=待处理,1=处理成功,2=处理失败");
|
||
entity.Property(e => e.RetryCount)
|
||
.HasDefaultValue(0)
|
||
.HasComment("重试次数");
|
||
entity.Property(e => e.Attach)
|
||
.HasMaxLength(100)
|
||
.HasComment("附加数据(订单类型)");
|
||
entity.Property(e => e.OpenId)
|
||
.HasMaxLength(100)
|
||
.HasComment("用户OpenId");
|
||
entity.Property(e => e.RawData)
|
||
.HasComment("原始回调数据");
|
||
entity.Property(e => e.ErrorMessage)
|
||
.HasMaxLength(500)
|
||
.HasComment("错误信息");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
});
|
||
|
||
// ==================== 小程序业务表配置 ====================
|
||
modelBuilder.Entity<Banner>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_banners");
|
||
|
||
entity.ToTable("banners", tb => tb.HasComment("轮播图表"));
|
||
|
||
entity.HasIndex(e => e.Status, "ix_banners_status");
|
||
entity.HasIndex(e => e.Sort, "ix_banners_sort");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Title)
|
||
.HasMaxLength(100)
|
||
.HasComment("标题");
|
||
entity.Property(e => e.ImageUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("图片URL");
|
||
entity.Property(e => e.LinkType)
|
||
.HasComment("跳转类型:0无 1内部页面 2外部链接 3小程序");
|
||
entity.Property(e => e.LinkUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("跳转地址");
|
||
entity.Property(e => e.AppId)
|
||
.HasMaxLength(50)
|
||
.HasComment("小程序AppId");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序,越大越靠前");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0禁用 1启用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<Promotion>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_promotions");
|
||
|
||
entity.ToTable("promotions", tb => tb.HasComment("宣传图表"));
|
||
|
||
entity.HasIndex(e => e.Position, "ix_promotions_position");
|
||
entity.HasIndex(e => e.Status, "ix_promotions_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Title)
|
||
.HasMaxLength(100)
|
||
.HasComment("标题");
|
||
entity.Property(e => e.ImageUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("图片URL");
|
||
entity.Property(e => e.Position)
|
||
.HasDefaultValue(1)
|
||
.HasComment("位置:1首页底部 2团队页");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0禁用 1启用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<BusinessPage>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_business_pages");
|
||
|
||
entity.ToTable("business_pages", tb => tb.HasComment("业务介绍页表"));
|
||
|
||
entity.HasIndex(e => e.Status, "ix_business_pages_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Title)
|
||
.HasMaxLength(100)
|
||
.HasComment("标题");
|
||
entity.Property(e => e.ImageUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("图片URL");
|
||
entity.Property(e => e.ShowButton)
|
||
.HasComment("是否显示操作按钮");
|
||
entity.Property(e => e.ButtonText)
|
||
.HasMaxLength(50)
|
||
.HasComment("操作按钮文字");
|
||
entity.Property(e => e.ButtonLink)
|
||
.HasMaxLength(500)
|
||
.HasComment("操作按钮跳转链接");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0禁用 1启用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<Planner>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_planners");
|
||
|
||
entity.ToTable("planners", tb => tb.HasComment("规划师表"));
|
||
|
||
entity.HasIndex(e => e.Status, "ix_planners_status");
|
||
entity.HasIndex(e => e.Sort, "ix_planners_sort");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Name)
|
||
.HasMaxLength(50)
|
||
.HasComment("姓名");
|
||
entity.Property(e => e.Avatar)
|
||
.HasMaxLength(500)
|
||
.HasComment("头像URL");
|
||
entity.Property(e => e.Introduction)
|
||
.HasMaxLength(1000)
|
||
.HasComment("简介");
|
||
entity.Property(e => e.Price)
|
||
.HasComment("咨询价格")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0禁用 1启用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<PlannerBooking>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_planner_bookings");
|
||
|
||
entity.ToTable("planner_bookings", tb => tb.HasComment("规划预约表"));
|
||
|
||
entity.HasIndex(e => e.UserId, "ix_planner_bookings_user_id");
|
||
entity.HasIndex(e => e.OrderId, "ix_planner_bookings_order_id");
|
||
entity.HasIndex(e => e.PlannerId, "ix_planner_bookings_planner_id");
|
||
entity.HasIndex(e => e.Status, "ix_planner_bookings_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.OrderId)
|
||
.HasComment("订单ID");
|
||
entity.Property(e => e.PlannerId)
|
||
.HasComment("规划师ID");
|
||
entity.Property(e => e.BookingDate)
|
||
.HasComment("预约日期")
|
||
.HasColumnType("date");
|
||
entity.Property(e => e.BookingTime)
|
||
.HasMaxLength(20)
|
||
.HasComment("预约时间");
|
||
entity.Property(e => e.Name)
|
||
.HasMaxLength(50)
|
||
.HasComment("姓名");
|
||
entity.Property(e => e.Phone)
|
||
.HasMaxLength(20)
|
||
.HasComment("手机号");
|
||
entity.Property(e => e.Gender)
|
||
.HasComment("性别:1男 2女");
|
||
entity.Property(e => e.Grade)
|
||
.HasComment("年级:1小学 2初中 3高中 4大专 5本科 6研究生及以上");
|
||
entity.Property(e => e.MajorName)
|
||
.HasMaxLength(100)
|
||
.HasComment("专业名称");
|
||
entity.Property(e => e.ScoreChinese)
|
||
.HasComment("语文成绩");
|
||
entity.Property(e => e.ScoreMath)
|
||
.HasComment("数学成绩");
|
||
entity.Property(e => e.ScoreEnglish)
|
||
.HasComment("英语成绩");
|
||
entity.Property(e => e.ScorePhysics)
|
||
.HasComment("物理成绩");
|
||
entity.Property(e => e.ScoreChemistry)
|
||
.HasComment("化学成绩");
|
||
entity.Property(e => e.ScoreBiology)
|
||
.HasComment("生物成绩");
|
||
entity.Property(e => e.ScoreGeography)
|
||
.HasComment("地理成绩");
|
||
entity.Property(e => e.ScorePolitics)
|
||
.HasComment("政治成绩");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1待确认 2已确认 3已完成 4已取消");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<InviteCode>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_invite_codes");
|
||
|
||
entity.ToTable("invite_codes", tb => tb.HasComment("邀请码表"));
|
||
|
||
entity.HasIndex(e => e.Code, "uk_invite_codes_code").IsUnique();
|
||
entity.HasIndex(e => e.Status, "ix_invite_codes_status");
|
||
entity.HasIndex(e => e.AssignUserId, "ix_invite_codes_assign_user_id");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Code)
|
||
.HasMaxLength(10)
|
||
.HasComment("邀请码");
|
||
entity.Property(e => e.BatchNo)
|
||
.HasMaxLength(32)
|
||
.HasComment("批次号");
|
||
entity.Property(e => e.AssignUserId)
|
||
.HasComment("分配给的用户ID");
|
||
entity.Property(e => e.AssignTime)
|
||
.HasComment("分配时间");
|
||
entity.Property(e => e.UseUserId)
|
||
.HasComment("使用者用户ID");
|
||
entity.Property(e => e.UseOrderId)
|
||
.HasComment("使用的订单ID");
|
||
entity.Property(e => e.UseTime)
|
||
.HasComment("使用时间");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1未分配 2已分配 3已使用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<Commission>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_commissions");
|
||
|
||
entity.ToTable("commissions", tb => tb.HasComment("佣金记录表"));
|
||
|
||
entity.HasIndex(e => e.UserId, "ix_commissions_user_id");
|
||
entity.HasIndex(e => e.FromUserId, "ix_commissions_from_user_id");
|
||
entity.HasIndex(e => e.OrderId, "ix_commissions_order_id");
|
||
entity.HasIndex(e => e.Status, "ix_commissions_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("获得佣金的用户ID");
|
||
entity.Property(e => e.FromUserId)
|
||
.HasComment("来源用户ID");
|
||
entity.Property(e => e.OrderId)
|
||
.HasComment("关联订单ID");
|
||
entity.Property(e => e.OrderAmount)
|
||
.HasComment("订单金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.CommissionRate)
|
||
.HasComment("佣金比例")
|
||
.HasColumnType("decimal(5, 2)");
|
||
entity.Property(e => e.CommissionAmount)
|
||
.HasComment("佣金金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Level)
|
||
.HasComment("层级:1直接下级 2间接下级");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1待结算 2已结算");
|
||
entity.Property(e => e.SettleTime)
|
||
.HasComment("结算时间");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<Withdrawal>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_withdrawals");
|
||
|
||
entity.ToTable("withdrawals", tb => tb.HasComment("提现记录表"));
|
||
|
||
entity.HasIndex(e => e.WithdrawalNo, "uk_withdrawals_no").IsUnique();
|
||
entity.HasIndex(e => e.UserId, "ix_withdrawals_user_id");
|
||
entity.HasIndex(e => e.Status, "ix_withdrawals_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.WithdrawalNo)
|
||
.HasMaxLength(32)
|
||
.HasComment("提现单号");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.Amount)
|
||
.HasComment("提现金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.BeforeBalance)
|
||
.HasComment("提现前余额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.AfterBalance)
|
||
.HasComment("提现后余额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1申请中 2提现中 3已提现 4已取消");
|
||
entity.Property(e => e.AuditUserId)
|
||
.HasComment("审核人ID");
|
||
entity.Property(e => e.AuditTime)
|
||
.HasComment("审核时间");
|
||
entity.Property(e => e.AuditRemark)
|
||
.HasMaxLength(500)
|
||
.HasComment("审核备注");
|
||
entity.Property(e => e.PayTime)
|
||
.HasComment("打款时间");
|
||
entity.Property(e => e.PayTransactionId)
|
||
.HasMaxLength(64)
|
||
.HasComment("打款交易号");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<AssessmentType>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_assessment_types");
|
||
|
||
entity.ToTable("assessment_types", tb => tb.HasComment("测评类型表"));
|
||
|
||
entity.HasIndex(e => e.Code, "uk_assessment_types_code").IsUnique();
|
||
entity.HasIndex(e => e.Status, "ix_assessment_types_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.Name)
|
||
.HasMaxLength(50)
|
||
.HasComment("测评名称");
|
||
entity.Property(e => e.Code)
|
||
.HasMaxLength(50)
|
||
.HasComment("测评编码");
|
||
entity.Property(e => e.ImageUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("入口图片URL");
|
||
entity.Property(e => e.DetailImageUrl)
|
||
.HasMaxLength(500)
|
||
.HasComment("详情横幅图URL");
|
||
entity.Property(e => e.IntroContent)
|
||
.HasComment("介绍内容");
|
||
entity.Property(e => e.Price)
|
||
.HasComment("价格")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.QuestionCount)
|
||
.HasDefaultValue(80)
|
||
.HasComment("题目数量");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0已下线 1已上线 2即将上线");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<Question>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_questions");
|
||
|
||
entity.ToTable("questions", tb => tb.HasComment("题目表"));
|
||
|
||
entity.HasIndex(e => new { e.AssessmentTypeId, e.QuestionNo }, "uk_questions_type_no").IsUnique();
|
||
entity.HasIndex(e => e.AssessmentTypeId, "ix_questions_assessment_type_id");
|
||
entity.HasIndex(e => e.Status, "ix_questions_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.AssessmentTypeId)
|
||
.HasComment("测评类型ID");
|
||
entity.Property(e => e.QuestionNo)
|
||
.HasComment("题号");
|
||
entity.Property(e => e.Content)
|
||
.HasMaxLength(1000)
|
||
.HasComment("题目内容");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:0禁用 1启用");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<AssessmentRecord>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_assessment_records");
|
||
|
||
entity.ToTable("assessment_records", tb => tb.HasComment("测评记录表"));
|
||
|
||
entity.HasIndex(e => e.UserId, "ix_assessment_records_user_id");
|
||
entity.HasIndex(e => e.OrderId, "ix_assessment_records_order_id");
|
||
entity.HasIndex(e => e.AssessmentTypeId, "ix_assessment_records_assessment_type_id");
|
||
entity.HasIndex(e => e.Status, "ix_assessment_records_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.OrderId)
|
||
.HasComment("订单ID");
|
||
entity.Property(e => e.AssessmentTypeId)
|
||
.HasComment("测评类型ID");
|
||
entity.Property(e => e.Name)
|
||
.HasMaxLength(50)
|
||
.HasComment("测评人姓名");
|
||
entity.Property(e => e.Phone)
|
||
.HasMaxLength(20)
|
||
.HasComment("手机号");
|
||
entity.Property(e => e.Gender)
|
||
.HasComment("性别:1男 2女");
|
||
entity.Property(e => e.Age)
|
||
.HasComment("年龄");
|
||
entity.Property(e => e.EducationStage)
|
||
.HasComment("学业阶段:1小学及以下 2初中 3高中 4大专 5本科 6研究生及以上");
|
||
entity.Property(e => e.Province)
|
||
.HasMaxLength(50)
|
||
.HasComment("省份");
|
||
entity.Property(e => e.City)
|
||
.HasMaxLength(50)
|
||
.HasComment("城市");
|
||
entity.Property(e => e.District)
|
||
.HasMaxLength(50)
|
||
.HasComment("区县");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1待测评 2测评中 3生成中 4已完成");
|
||
entity.Property(e => e.StartTime)
|
||
.HasComment("开始答题时间");
|
||
entity.Property(e => e.SubmitTime)
|
||
.HasComment("提交答题时间");
|
||
entity.Property(e => e.CompleteTime)
|
||
.HasComment("报告生成完成时间");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
modelBuilder.Entity<AssessmentAnswer>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_assessment_answers");
|
||
|
||
entity.ToTable("assessment_answers", tb => tb.HasComment("测评答案表"));
|
||
|
||
entity.HasIndex(e => e.RecordId, "ix_assessment_answers_record_id");
|
||
entity.HasIndex(e => e.QuestionId, "ix_assessment_answers_question_id");
|
||
entity.HasIndex(e => new { e.RecordId, e.QuestionId }, "uk_assessment_answers_record_question").IsUnique();
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.RecordId)
|
||
.HasComment("测评记录ID");
|
||
entity.Property(e => e.QuestionId)
|
||
.HasComment("题目ID");
|
||
entity.Property(e => e.QuestionNo)
|
||
.HasComment("题号");
|
||
entity.Property(e => e.AnswerValue)
|
||
.HasComment("答案值(1-10)");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
});
|
||
|
||
modelBuilder.Entity<Order>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_orders");
|
||
|
||
entity.ToTable("orders", tb => tb.HasComment("订单表"));
|
||
|
||
entity.HasIndex(e => e.OrderNo, "uk_orders_order_no").IsUnique();
|
||
entity.HasIndex(e => e.UserId, "ix_orders_user_id");
|
||
entity.HasIndex(e => e.OrderType, "ix_orders_order_type");
|
||
entity.HasIndex(e => e.Status, "ix_orders_status");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.OrderNo)
|
||
.HasMaxLength(32)
|
||
.HasComment("订单编号");
|
||
entity.Property(e => e.UserId)
|
||
.HasComment("用户ID");
|
||
entity.Property(e => e.OrderType)
|
||
.HasComment("订单类型:1测评订单 2学业规划订单");
|
||
entity.Property(e => e.ProductId)
|
||
.HasComment("商品ID");
|
||
entity.Property(e => e.ProductName)
|
||
.HasMaxLength(100)
|
||
.HasComment("商品名称");
|
||
entity.Property(e => e.Amount)
|
||
.HasComment("订单金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.PayAmount)
|
||
.HasComment("实付金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.PayType)
|
||
.HasComment("支付方式:1微信支付 2邀请码");
|
||
entity.Property(e => e.InviteCodeId)
|
||
.HasComment("使用的邀请码ID");
|
||
entity.Property(e => e.Status)
|
||
.HasDefaultValue(1)
|
||
.HasComment("状态:1待支付 2已支付 3已完成 4退款中 5已退款 6已取消");
|
||
entity.Property(e => e.PayTime)
|
||
.HasComment("支付时间");
|
||
entity.Property(e => e.TransactionId)
|
||
.HasMaxLength(64)
|
||
.HasComment("微信支付交易号");
|
||
entity.Property(e => e.RefundTime)
|
||
.HasComment("退款时间");
|
||
entity.Property(e => e.RefundAmount)
|
||
.HasComment("退款金额")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.RefundReason)
|
||
.HasMaxLength(500)
|
||
.HasComment("退款原因");
|
||
entity.Property(e => e.Remark)
|
||
.HasMaxLength(500)
|
||
.HasComment("备注");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
// ==================== 报告分类表配置 ====================
|
||
modelBuilder.Entity<ReportCategory>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_report_categories");
|
||
|
||
entity.ToTable("report_categories", tb => tb.HasComment("报告分类表"));
|
||
|
||
entity.HasIndex(e => e.AssessmentTypeId, "ix_report_categories_assessment_type_id");
|
||
entity.HasIndex(e => e.ParentId, "ix_report_categories_parent_id");
|
||
entity.HasIndex(e => e.CategoryType, "ix_report_categories_category_type");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.AssessmentTypeId)
|
||
.HasComment("测评类型ID");
|
||
entity.Property(e => e.ParentId)
|
||
.HasComment("父分类ID,0表示顶级分类");
|
||
entity.Property(e => e.Name)
|
||
.HasMaxLength(50)
|
||
.HasComment("分类名称");
|
||
entity.Property(e => e.Code)
|
||
.HasMaxLength(50)
|
||
.HasComment("分类编码");
|
||
entity.Property(e => e.CategoryType)
|
||
.HasComment("分类类型:1八大智能 2个人特质 3细分能力 4先天学习 5学习能力 6大脑类型 7性格类型 8未来能力");
|
||
entity.Property(e => e.ScoreRule)
|
||
.HasDefaultValue(1)
|
||
.HasComment("计分规则:1累加(1-10分) 2二值(0/1分)");
|
||
entity.Property(e => e.Sort)
|
||
.HasComment("排序");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
entity.Property(e => e.UpdateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("更新时间");
|
||
entity.Property(e => e.IsDeleted)
|
||
.HasDefaultValue(false)
|
||
.HasComment("软删除标记");
|
||
});
|
||
|
||
// ==================== 测评结果表配置 ====================
|
||
modelBuilder.Entity<AssessmentResult>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("pk_assessment_results");
|
||
|
||
entity.ToTable("assessment_results", tb => tb.HasComment("测评结果表"));
|
||
|
||
entity.HasIndex(e => e.RecordId, "ix_assessment_results_record_id");
|
||
entity.HasIndex(e => e.CategoryId, "ix_assessment_results_category_id");
|
||
|
||
entity.Property(e => e.Id)
|
||
.HasComment("主键ID");
|
||
entity.Property(e => e.RecordId)
|
||
.HasComment("测评记录ID");
|
||
entity.Property(e => e.CategoryId)
|
||
.HasComment("分类ID");
|
||
entity.Property(e => e.Score)
|
||
.HasComment("得分")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.MaxScore)
|
||
.HasComment("满分")
|
||
.HasColumnType("decimal(10, 2)");
|
||
entity.Property(e => e.Percentage)
|
||
.HasComment("百分比")
|
||
.HasColumnType("decimal(5, 2)");
|
||
entity.Property(e => e.Rank)
|
||
.HasComment("排名(同类型内)");
|
||
entity.Property(e => e.StarLevel)
|
||
.HasComment("星级(1-5)");
|
||
entity.Property(e => e.CreateTime)
|
||
.HasDefaultValueSql("(getdate())")
|
||
.HasComment("创建时间");
|
||
});
|
||
|
||
OnModelCreatingPartial(modelBuilder);
|
||
}
|
||
|
||
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
||
}
|