已继续完成“学籍异动”后端基础闭环:
学生可申请休学、复学或退学。 自动根据当前状态推导目标学籍状态。 同一学生不能同时提交多项在审申请。 强制执行辅导员 → 学院 → 校级三级审核。 驳回不会修改学生档案。 只有校级最终批准才更新学籍状态。 数据范围分别限制到本人、所带班级、所属学院或全校。 SQLite 增量升级和 MySQL 迁移已生成。 当前 28 项测试继续全部通过。
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using Jiaowu.Api.Domain.Common;
|
||||
|
||||
namespace Jiaowu.Api.Domain.Academic;
|
||||
|
||||
public sealed class StudentStatusChange : EntityBase
|
||||
{
|
||||
public Guid StudentId { get; set; }
|
||||
public Student? Student { get; set; }
|
||||
public StudentStatusChangeType Type { get; set; }
|
||||
public StudentStatus OriginalStatus { get; set; }
|
||||
public StudentStatus TargetStatus { get; set; }
|
||||
public required string Reason { get; set; }
|
||||
public StudentStatusChangeState State { get; set; } =
|
||||
StudentStatusChangeState.Submitted;
|
||||
public string? ReviewComment { get; set; }
|
||||
public DateTime SubmittedAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? ReviewedAt { get; set; }
|
||||
public DateTime? ApprovedAt { get; set; }
|
||||
}
|
||||
|
||||
public enum StudentStatusChangeType
|
||||
{
|
||||
Suspension = 1,
|
||||
Resumption = 2,
|
||||
Withdrawal = 3
|
||||
}
|
||||
|
||||
public enum StudentStatusChangeState
|
||||
{
|
||||
Submitted = 1,
|
||||
CounselorApproved = 2,
|
||||
CollegeApproved = 3,
|
||||
Approved = 4,
|
||||
Rejected = 5,
|
||||
Cancelled = 6
|
||||
}
|
||||
Reference in New Issue
Block a user