新增多证书模板管理流程

This commit is contained in:
Certificate System
2026-08-13 18:06:05 +08:00
parent eac19ea593
commit abbefc4b48
27 changed files with 774 additions and 61 deletions

View File

@@ -13,6 +13,7 @@ class CertificateCreate(BaseModel):
course_start_date: date
course_end_date: date
issue_date: date
template_code: str | None = Field(default=None, min_length=1, max_length=32)
remark: str | None = None
@field_validator("project_code")
@@ -44,6 +45,7 @@ class CertificateOut(BaseModel):
course_end_date: date | None
issue_date: date
issuer_name: str
template_code: str
status: str
pdf_status: str
created_at: datetime

View File

@@ -0,0 +1,10 @@
from pydantic import BaseModel
class CertificateTemplateOut(BaseModel):
code: str
name: str
description: str
dynamic_fields: list[str]
preview_url: str
status: str

View File

@@ -6,6 +6,7 @@ from pydantic import BaseModel
class ImportBatchOut(BaseModel):
id: int
filename: str
template_code: str
status: str
total_rows: int
valid_rows: int

View File

@@ -10,6 +10,7 @@ class ProjectCourseCreate(BaseModel):
default_course_name: str | None = Field(default=None, max_length=128)
default_stage_name: str | None = Field(default=None, max_length=128)
default_issuer_name: str = Field(default="本公司", min_length=1, max_length=128)
default_template_code: str = Field(default="classic", min_length=1, max_length=32)
@field_validator("code")
@classmethod
@@ -31,6 +32,7 @@ class ProjectCourseUpdate(BaseModel):
default_course_name: str | None = Field(default=None, max_length=128)
default_stage_name: str | None = Field(default=None, max_length=128)
default_issuer_name: str | None = Field(default=None, min_length=1, max_length=128)
default_template_code: str | None = Field(default=None, min_length=1, max_length=32)
status: str | None = Field(default=None, pattern="^(active|disabled)$")
@field_validator("default_certificate_name", "default_course_name", "default_stage_name")
@@ -50,6 +52,7 @@ class ProjectCourseOut(BaseModel):
default_course_name: str | None
default_stage_name: str | None
default_issuer_name: str
default_template_code: str
status: str
created_at: datetime
updated_at: datetime