学生可在“学籍管理 → 电子成绩单与证明”申请成绩单或学籍证明。
服务端根据登录账号绑定本人档案,不接受学生 ID,无法代他人申请。 成绩单仅包含正式发布成绩;无已发布成绩时明确提示。 同类型、同用途 5 分钟内重复申请复用已有有效凭证。 申请后即时生成 PDF,可在本人凭证列表下载、二维码验真。 管理员的下载记录、失效、重签能力保持不变。
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using Jiaowu.Api.Domain.Common;
|
||||
using Jiaowu.Api.Domain.Identity;
|
||||
|
||||
namespace Jiaowu.Api.Domain.Academic;
|
||||
|
||||
public sealed class OfficialDocument : EntityBase
|
||||
{
|
||||
public required string DocumentNumber { get; set; }
|
||||
public required string VerificationCodeHash { get; set; }
|
||||
public OfficialDocumentType Type { get; set; }
|
||||
public OfficialDocumentStatus Status { get; set; } = OfficialDocumentStatus.Valid;
|
||||
public Guid StudentId { get; set; }
|
||||
public Student? Student { get; set; }
|
||||
public Guid IssuedByUserId { get; set; }
|
||||
public ApplicationUser? IssuedByUser { get; set; }
|
||||
public DateTime IssuedAt { get; set; } = DateTime.UtcNow;
|
||||
public string? Purpose { get; set; }
|
||||
public required string SnapshotJson { get; set; }
|
||||
public required byte[] PdfContent { get; set; }
|
||||
public required string PdfSha256 { get; set; }
|
||||
public DateTime? InvalidatedAt { get; set; }
|
||||
public Guid? InvalidatedByUserId { get; set; }
|
||||
public ApplicationUser? InvalidatedByUser { get; set; }
|
||||
public string? InvalidationReason { get; set; }
|
||||
public Guid? ReissuedFromDocumentId { get; set; }
|
||||
public OfficialDocument? ReissuedFromDocument { get; set; }
|
||||
public ICollection<OfficialDocumentDownload> Downloads { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class OfficialDocumentDownload : EntityBase
|
||||
{
|
||||
public Guid OfficialDocumentId { get; set; }
|
||||
public OfficialDocument? OfficialDocument { get; set; }
|
||||
public Guid DownloadedByUserId { get; set; }
|
||||
public ApplicationUser? DownloadedByUser { get; set; }
|
||||
public string? IpAddress { get; set; }
|
||||
public string? UserAgent { get; set; }
|
||||
}
|
||||
|
||||
public enum OfficialDocumentType
|
||||
{
|
||||
Transcript = 1,
|
||||
StudentStatusCertificate = 2
|
||||
}
|
||||
|
||||
public enum OfficialDocumentStatus
|
||||
{
|
||||
Valid = 1,
|
||||
Invalidated = 2,
|
||||
Superseded = 3
|
||||
}
|
||||
Reference in New Issue
Block a user