选课批次:时间窗口、退课截止、学分上限、开放/关闭。
教学班投放:容量、班级范围、全校开放。 学生选退课:容量、重复课程、学分上限、课表冲突校验。 教学班实时名单。 校级、学院级、学生角色分级操作。 SQLite 本地增量升级及演示数据。 MySQL 正式 EF Core 迁移。 Vue 已编译进 wwwroot,单服务运行无需 npm run dev。 学生端和管理端均完成桌面、手机响应式检查。
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
using Jiaowu.Api.Domain.Common;
|
||||
|
||||
namespace Jiaowu.Api.Domain.Academic;
|
||||
|
||||
public sealed class CourseSelectionRound : EntityBase
|
||||
{
|
||||
public Guid AcademicTermId { get; set; }
|
||||
public AcademicTerm? AcademicTerm { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public DateTime StartsAt { get; set; }
|
||||
public DateTime EndsAt { get; set; }
|
||||
public DateTime WithdrawalEndsAt { get; set; }
|
||||
public decimal MaxCredits { get; set; } = 30;
|
||||
public CourseSelectionRoundStatus Status { get; set; } =
|
||||
CourseSelectionRoundStatus.Draft;
|
||||
public string? Notes { get; set; }
|
||||
public ICollection<CourseSelectionOffering> Offerings { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class CourseSelectionOffering : EntityBase
|
||||
{
|
||||
public Guid CourseSelectionRoundId { get; set; }
|
||||
public CourseSelectionRound? CourseSelectionRound { get; set; }
|
||||
public Guid TeachingTaskId { get; set; }
|
||||
public TeachingTask? TeachingTask { get; set; }
|
||||
public int Capacity { get; set; }
|
||||
public bool IsOpenToAll { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
public ICollection<CourseEnrollment> Enrollments { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class CourseEnrollment : EntityBase
|
||||
{
|
||||
public Guid CourseSelectionOfferingId { get; set; }
|
||||
public CourseSelectionOffering? CourseSelectionOffering { get; set; }
|
||||
public Guid StudentId { get; set; }
|
||||
public Student? Student { get; set; }
|
||||
public CourseEnrollmentStatus Status { get; set; } = CourseEnrollmentStatus.Enrolled;
|
||||
public DateTime EnrolledAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? WithdrawnAt { get; set; }
|
||||
}
|
||||
|
||||
public enum CourseSelectionRoundStatus
|
||||
{
|
||||
Draft = 1,
|
||||
Open = 2,
|
||||
Closed = 3
|
||||
}
|
||||
|
||||
public enum CourseEnrollmentStatus
|
||||
{
|
||||
Enrolled = 1,
|
||||
Withdrawn = 2
|
||||
}
|
||||
Reference in New Issue
Block a user