# =========================================== # 班级操行分管理系统 - 后端服务 # # 开发者: 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 total_points: int parent_phone: Optional[str] = None dormitory_number: 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 total_points: int rank_in_class: int