v0.1测试
This commit is contained in:
79
backend/schemas/student.py
Normal file
79
backend/schemas/student.py
Normal file
@@ -0,0 +1,79 @@
|
||||
# ===========================================
|
||||
# 班级操行分管理系统 - 后端服务
|
||||
#
|
||||
# 开发者: Canglan
|
||||
# 联系方式: admin@sea-studio.top
|
||||
# 版权归属: Sea Network Technology Studio
|
||||
# 许可证: MIT License
|
||||
#
|
||||
# 版权所有 © Sea Network Technology Studio
|
||||
# ===========================================
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, List
|
||||
from datetime import date, datetime
|
||||
|
||||
|
||||
class StudentInfo(BaseModel):
|
||||
"""学生信息"""
|
||||
student_id: int
|
||||
student_no: str
|
||||
name: str
|
||||
class_id: int
|
||||
class_name: Optional[str] = None
|
||||
total_points: int
|
||||
parent_phone: Optional[str] = None
|
||||
status: int
|
||||
|
||||
|
||||
class ConductRecord(BaseModel):
|
||||
"""操行分记录"""
|
||||
record_id: int
|
||||
student_id: int
|
||||
student_name: Optional[str] = None
|
||||
points_change: int
|
||||
reason: str
|
||||
recorder_id: int
|
||||
recorder_name: str
|
||||
related_type: str
|
||||
is_revoked: bool
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class ConductHistoryResponse(BaseModel):
|
||||
"""操行分历史响应"""
|
||||
student_id: int
|
||||
student_name: str
|
||||
total_points: int
|
||||
records: List[ConductRecord]
|
||||
|
||||
|
||||
class HomeworkSubmission(BaseModel):
|
||||
"""作业提交情况"""
|
||||
assignment_id: int
|
||||
title: str
|
||||
subject: str
|
||||
deadline: date
|
||||
status: str
|
||||
submit_time: Optional[datetime] = None
|
||||
comments: Optional[str] = None
|
||||
deduction_applied: bool
|
||||
|
||||
|
||||
class AttendanceRecord(BaseModel):
|
||||
"""考勤记录"""
|
||||
attendance_id: int
|
||||
date: date
|
||||
status: str
|
||||
reason: Optional[str] = None
|
||||
deduction_applied: bool
|
||||
|
||||
|
||||
class StudentRanking(BaseModel):
|
||||
"""学生排行"""
|
||||
student_id: int
|
||||
student_no: str
|
||||
name: str
|
||||
class_name: str
|
||||
total_points: int
|
||||
rank_in_class: int
|
||||
Reference in New Issue
Block a user