Files
SST/PythonProject/schema/statistics_schema.py
2026-09-22 12:19:32 +08:00

72 lines
1.7 KiB
Python

from pydantic import BaseModel,field_serializer
from datetime import date
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 AllDayResponse(BaseModel):
code:int = 200
detail:str = 'ok'
stu_id: int
diff_days: int | None