Files
SST/PythonProject/schema/statistics_schema.py
T
2026-09-22 11:49:44 +08:00

79 lines
1.9 KiB
Python

from pydantic import BaseModel,field_serializer
from datetime import date
from typing import List
from schema.student_schema import StudentResponse
class AllStuResponse(BaseModel):
all_cnt: int
class_id: int
gender: str | None
cnt: int
class AcgScoreResponse(BaseModel):
class_id: int
avg_score: float
class GetScoreResponse(BaseModel):
code:int = 200
detail:str = 'ok'
score:float
stu_name: str | None = None
age: int | None = None
gender: str | None = None
native_place: str | None = None
school: str | None = None
major: str | None = None
degree: str | None = None
admission_date: date | None = None
graduation_date: date | None = None
progress: int = 0
@field_serializer('progress')
def int_to_string(self, progress: int):
d1 = {
0: '学习中',
1: '求职中',
2: '已就业'
}
return d1.get(progress, '暂不明确')
class GetStuResponse(BaseModel):
code:int = 200
detail:str = 'ok'
salary:float
stu_name: str | None = None
age: int | None = None
gender: str | None = None
native_place: str | None = None
school: str | None = None
major: str | None = None
degree: str | None = None
admission_date: date | None = None
graduation_date: date | None = None
progress: int = 0
@field_serializer('progress')
def int_to_string(self, progress: int):
d1 = {
0: '学习中',
1: '求职中',
2: '已就业'
}
return d1.get(progress, '暂不明确')
class AvgDayResponse(BaseModel):
class_id: int
avg_days: float | None
class EmpItem(BaseModel):
stu_id: int
employment_opening_date:date | None
offer_issuance_date:date | None
employment_duration_day: int | None
class AllEmpResponse(BaseModel):
code: int
msg: str
data: List[EmpItem]