Files
SST/PythonProject/schema/statistics_schema.py
T

74 lines
1.8 KiB
Python
Raw Normal View History

2026-09-22 11:49:44 +08:00
from pydantic import BaseModel,field_serializer
2026-09-21 20:26:13 +08:00
from datetime import date
2026-09-22 11:49:44 +08:00
from typing import List
from schema.student_schema import StudentResponse
2026-09-21 17:47:50 +08:00
class AllStuResponse(BaseModel):
2026-09-22 11:49:44 +08:00
all_cnt: int
2026-09-21 17:47:50 +08:00
class_id: int
gender: str | None
cnt: int
2026-09-21 18:14:20 +08:00
class AcgScoreResponse(BaseModel):
class_id: int
avg_score: float
2026-09-22 11:49:44 +08:00
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, '暂不明确')
2026-09-21 17:47:50 +08:00
class AvgDayResponse(BaseModel):
class_id: int
2026-09-22 11:49:44 +08:00
avg_days: float | None
2026-09-21 20:26:13 +08:00
2026-09-22 12:16:28 +08:00
class AllDayResponse(BaseModel):
code:int = 200
detail:str = 'ok'
2026-09-21 20:26:13 +08:00
stu_id: int
2026-09-22 12:16:28 +08:00
diff_days: int | None
2026-09-21 20:26:13 +08:00