Files
max_code_test_gitea_2/scheme/statistics_scheme.py
2026-09-14 15:23:26 +08:00

64 lines
1.6 KiB
Python

# scheme/statistics_scheme.py
from pydantic import BaseModel, Field, EmailStr
from datetime import date
from typing import Optional, List
# ---------- 请求模型 ----------
# ---------- 响应模型 ----------
# 多维度班级统计
class ClassGenderDistributionItem(BaseModel):
cls_id: str
total_cnt: int
man_cnt: int
female_cnt: int
class ExamScoreItem(BaseModel):
exam_attempt: int
exam_score: float
# 查询每次考试成绩都在输入分数线(如80分)以上的学生的编号、姓名和成绩。
class StuInfoAllExamAboveScore(BaseModel):
stu_id: str
stu_name: str
stu_score: List[ExamScoreItem]
# 查询有输入指定次数(如两次)以上不及格的学生的姓名、班级和不及格成绩明细。
class FailingStudentItem(BaseModel):
stu_name: str
stu_cls_id: str
stu_fail_cnt: int
stu_score: List[ExamScoreItem]
# 查询有输入指定次数(如两次)以上不及格的学生的姓名、班级和不及格成绩明细。
class ClassExamAvgScoreItem(BaseModel):
exam_attempt: int
cls_id: str
avg_score: float
stu_cnt: int
class TopSalaryStudentItem(BaseModel):
stu_name: str
cls_id: str
offer_time: date
emp_company_name: str
salary: float
class StudentEmpDurationItem(BaseModel):
stu_id: str
stu_name: str
cls_id: str
offer_time: int
class ClassAvgEmpDurationItem(BaseModel):
cls_id: str
avg_duration_days: float
employed_cnt: int
class StudentAgeDetailItem(BaseModel):
stu_id: str
stu_name: str
cls_id: str
gender: str
age: int