学业预警

This commit is contained in:
2026-07-25 17:14:20 +08:00 Unverified
parent 5e4c76a9e4
commit db3a275601
8 changed files with 536 additions and 0 deletions
@@ -0,0 +1,45 @@
using Jiaowu.Api.Domain.Common;
namespace Jiaowu.Api.Domain.Academic;
public sealed class WarningRule : EntityBase
{
public WarningType Type { get; set; }
public required string Name { get; set; }
public decimal Threshold { get; set; }
public bool IsEnabled { get; set; } = true;
public bool NotifyStudent { get; set; } = true;
public bool NotifyCounselor { get; set; } = true;
public Guid AcademicTermId { get; set; }
public AcademicTerm? AcademicTerm { get; set; }
public string? Description { get; set; }
}
public sealed class WarningRecord : EntityBase
{
public Guid StudentId { get; set; }
public Student? Student { get; set; }
public WarningType Type { get; set; }
public WarningStatus Status { get; set; } = WarningStatus.Active;
public decimal TriggerValue { get; set; }
public required string Detail { get; set; }
public DateTime? AcknowledgedAt { get; set; }
public string? AcknowledgeComment { get; set; }
public Guid AcademicTermId { get; set; }
}
public enum WarningType
{
FailedCredits = 1,
LowGPA = 2,
Absenteeism = 3,
GraduationDelay = 4
}
public enum WarningStatus
{
Active = 1,
Acknowledged = 2,
Resolved = 3,
Dismissed = 4
}