39 lines
1.8 KiB
Python
39 lines
1.8 KiB
Python
from pydantic import BaseModel, Field
|
|
from datetime import date, datetime
|
|
from decimal import Decimal
|
|
|
|
|
|
class EmploymentCreate(BaseModel):
|
|
"""新增就业信息 请求体 Schema"""
|
|
student_id: int = Field(..., description="关联学生ID,必填")# description:在Swagger页面展示字段说明文字
|
|
employment_status: str | None = Field(None, description="就业状态,选填")
|
|
employment_open_date: date | None = Field(None, description="就业开放时间,选填")
|
|
offer_date: date | None = Field(None, description="offer下发时间,选填")
|
|
company_name: str | None = Field(None, max_length=100, description="就业公司名称,选填")
|
|
salary: Decimal | None = Field(None, ge=0, description="就业薪资,不能负数,选填")
|
|
remark: str | None = Field(None, max_length=255, description="备注,选填")
|
|
|
|
|
|
class EmploymentUpdate(BaseModel):
|
|
"""修改就业信息 请求体 Schema:全部字段可选,只传要修改的字段"""
|
|
employment_status: str | None = Field(None, description="就业状态")
|
|
employment_open_date: date | None = Field(None, description="就业开放时间")
|
|
offer_date: date | None = Field(None, description="offer下发时间")
|
|
company_name: str | None = Field(None, max_length=100, description="就业公司名称")
|
|
salary: Decimal | None = Field(None, ge=0, description="就业薪资")
|
|
remark: str | None = Field(None, max_length=255, description="备注")
|
|
|
|
|
|
class EmploymentResponse(BaseModel):
|
|
"""就业信息返回响应体Schema,接口返回给前端的数据结构"""
|
|
id: int
|
|
student_id: int
|
|
employment_status: str
|
|
employment_open_date: date | None
|
|
offer_date: date | None
|
|
company_name: str | None
|
|
salary: Decimal | None
|
|
remark: str | None
|
|
created_at: datetime | None
|
|
updated_at: datetime | None
|