using Jiaowu.Api.Domain.Common; namespace Jiaowu.Api.Domain.Academic; public sealed class Campus : CatalogEntity { public string? Address { get; set; } } public sealed class College : CatalogEntity { public Guid? CampusId { get; set; } public Campus? Campus { get; set; } public string? ShortName { get; set; } } public sealed class Major : CatalogEntity { public Guid CollegeId { get; set; } public College? College { get; set; } public required string DegreeType { get; set; } public int SchoolingYears { get; set; } = 4; } public sealed class AdministrativeClass : CatalogEntity { public Guid MajorId { get; set; } public Major? Major { get; set; } public int Grade { get; set; } public string? CounselorName { get; set; } } public sealed class Building : CatalogEntity { public Guid CampusId { get; set; } public Campus? Campus { get; set; } } public sealed class Classroom : CatalogEntity { public Guid BuildingId { get; set; } public Building? Building { get; set; } public int Capacity { get; set; } public string RoomType { get; set; } = "普通教室"; public string? Equipment { get; set; } } public sealed class AcademicTerm : CatalogEntity { public required string AcademicYear { get; set; } public TermSeason Season { get; set; } public DateOnly StartDate { get; set; } public DateOnly EndDate { get; set; } public bool IsCurrent { get; set; } } public enum TermSeason { Autumn = 1, Spring = 2, Summer = 3 }