已继续完成“学籍异动”后端基础闭环:

学生可申请休学、复学或退学。
自动根据当前状态推导目标学籍状态。
同一学生不能同时提交多项在审申请。
强制执行辅导员 → 学院 → 校级三级审核。
驳回不会修改学生档案。
只有校级最终批准才更新学籍状态。
数据范围分别限制到本人、所带班级、所属学院或全校。
SQLite 增量升级和 MySQL 迁移已生成。
当前 28 项测试继续全部通过。
This commit is contained in:
2026-07-24 15:46:49 +08:00 Unverified
parent 7f3e37de20
commit 7493ab4a60
7 changed files with 2359 additions and 0 deletions
@@ -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
}