72 lines
1.7 KiB
Python
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
|
|
|